乐编科技--java基础day18

项目名:乐编教育
后端架构:springboot+maven+mybatis+mysql
开发工具:idea
环境:jdk1.8 、apache-maven-3.6.1、mysql5.7
java1.8Api:https://www.matools.com/api/java8

一、基础概括

java历史:
1.java之父:
詹姆斯·高斯林
2.java原名:OAK
3.java体系
①javaSE,标准版,各应用平台的基础,桌面开发和低端商务应用的解决方案。
②javaEE,企业版,以企业为环境而开发应用程序的解决方案。
③javaME,微型版,致力于消费产品和嵌入式设备的最佳方案。
4.java可以做什么
①开发桌面应用程序。
②开发面向Internet的web应用程序。
③提供各行业的解决方案。
④开发android手机应用程序。
5.java的特性
①一种面向对象的编程语言。
②一种与平台无关的语言(根据JVM实现的)。
③一种健壮性语言。
④具有较高的安全性。
6.java应用程序的运行机制
    先编译(.class),在解释运行。
7.java程序开发的三个步骤
①编写源程序,java源代码文件。
②编译源程序,编译器编译编译成java字节码文件。
③运行,java虚拟机(JVM)。
1.Java虚拟机——JVM

JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java 具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系 统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。
解释:
java虚拟机实际上只是一层接口,一层Java程序和操作系统通讯的接口。java文件编译生成class文件而java虚拟机就是这些class文件能够在上面运行的一个平台,你把class文件看成一个软件,java虚拟机就是这个软件可以运行的操作系统。

2.JRE 和 JDK

JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。 JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。 我们想要开发一个全新的Java程序,那么必须安装 JDK 。

3.jdk下载与配置安装

Jdk1.8的下载:
<u>https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html</u>
配置环境变量:
<u>https://www.cnblogs.com/evolve/archive/2019/11/11/11837869.html</u>
1.HelloWord入门小案列
①Java程序开发三步骤:编写、编译、运行
javac.exe 编译器
java.exe 解释器

java.PNG

②正常来说,我们编写的代码,jvm是看不懂得,要想他看懂,我们得把代码变成.class(字节码)文件
我们在D盘根目录下新建一个记事本,修改名字为HelloWord,后缀名字为.java 输入内容为:

public class HelloWorld {
    public static void main(String[] args) {
         System.out.println("你好世界~");   
  }    
}

打开dos命令,在黑窗口中输入javac HelloWord.java;这个时候呢,去D盘目录下查看,会发现神奇的多出了一个.class文件,没错!就是jvm能读懂的东西啦!
这时,我们在黑窗口输入 java HelloWord 那么我们将看到我们刚才编写的代码的输出内容:"你好世界~"
至此,你已经成功的编写一个可被jvm识别的java代码了
补充:

启动:     Win+R,输入cmd回车
切换盘符    盘符名称:
进入文件夹   cd 文件夹名称
进入多级文件夹 cd 文件夹1\文件夹2\文件夹3
返回上一级   cd ..
直接回根路径  cd \
查看当前内容  dir
清屏      cls
退出      exit

2.编译和运行
① 编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们 所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
②运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了
3.main方法
main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多 少程序,JVM在运行的时候,都会从main方法这里开始执行。
4.关键字
是指在程序中,Java已经定义好的单词,具有特殊含义。 HelloWorld案例中,出现的关键字有 public 、 class 、 static 、 void 等,这些单词已经被 Java定义好,全部都是小写字母,在我们即将使用的编译器会有颜色区分哦~
5.命名规范
①标识符:
是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。 HelloWorld案例中,出现的标识符有类名字 HelloWorld 。
②命名规则:

  • 标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。
  • 标识符不能以数字开头。
  • 标识符不能是关键字。
    ③命名规范:
    类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
    方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
    变量名规范:全部小写。
4.idea的安装

idea的下载:
https://www.jetbrains.com/idea/download/#section=windows
idea的安装:
https://blog.csdn.net/qq_21225505/article/details/81285745?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
idea快捷键:
Alt+Enter 导入包,自动修正代码
Ctrl+Alt+L 格式化代码
Ctrl+/ 单行注释
Ctrl+Shift+/ 选中代码注释,多行注释,再按取消注释
Alt+Ins 自动生成代码,toString,get,set等方法
idea工具的使用:
https://blog.csdn.net/daponi/article/details/94504677

idea中配置jdk:
https://blog.csdn.net/qq_28289405/article/details/82698856

二、基础语法

1.常量

常量:是指在Java程序中固定不变的数据

常量.PNG

示例:

 public class ConstantDemo { 
public static void main(String[] args){ 
             //输出整数常量 
        System.out.println(123);
         //输出小数常量
         System.out.println(0.125);
         //输出字符常量
         System.out.println('A');
         //输出布尔常量
         System.out.println(true);
         //输出字符串常量
         System.out.println("你好Java");
    } 

2.变量和数据类型

变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
Java的数据类型分为两大类:

  • 基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。
  • 引用数据类型:包括 字符串 、类 、 数组 、 接口 。
    基本数据类型如下:
基本数据类型.PNG

1.变量定义的格式包括三个要素: 数据类型 、 变量名 、 数据值
格式:数据类型 变量名 = 数据值;
变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。
1字节=8位

public class Variable { 
public static void main(String[] args){   
           //定义字节型变量         
byte b = 100;         
System.out.println(b);         
//定义短整型变量        
short s = 1000;         
System.out.println(s);         
//定义整型变量         
int i = 123456;         
System.out.println(i);         
//定义长整型变量         
long l = 12345678900L;         
System.out.println(l);         
//定义单精度浮点型变量         
float f = 5.5F;         
System.out.println(f);         
//定义双精度浮点型变量         
double d = 8.5;         
System.out.println(d);         
//定义布尔型变量         
boolean bool = false;         
System.out.println(bool);         
//定义字符型变量        
char c = 'A';         
System.out.println(c); 
}      
}

2.ASCII
将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII 地址:http://ascii.911cha.com/

ASCII.PNG

在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升 为了int类型。char类型内存2个字节,int类型内存4个字节。

    public static void main(String[] args) {
   //字符类型变量
   char c = 'a';
   int i = 1;
   //字符类型和int类型计算
   System.out.println(c+i);//输出结果是98
 }

自动转换:
将取值范围小的类型 自动提升为 取值范围大的类型
准换规则:

范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

强制转换:
格式:数据类型 变量名 = (数据类型)被转数据值
例子:

//将 1.5 赋值到 int 类型,代码修改为
// double类型数据强制转成int类型,直接去掉小数点。 
int i = (int)1.5;
/**当一个 short 类型与 1 相加,我们知道会类型提升,
但是还想给结果赋值给short类型变量,就需要强制转换*/
public static void main(String[] args) {
      //short类型变量,内存中2个字节
      short s = 1;      
    /* 出现编译失败 
       s和1做运算的时候,1是int类型,s会被提升为int类型
        s+1后的结果是int类型,将结果在赋值会short类型时发生错误
        short内存2个字节,int类型4个字节
        必须将int强制转成short才能完成赋值      */ 
     s = s + 1;
    //编译失败 
     s = (short)(s+1);
    //编译成功 
}

3.运算符

1.算数运算符
算数运算符.PNG

Java中,整数使用以上运算符,无论怎么计算,也不会得到小数。

1.++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。
①独立运算: 变量在独立运算时, 前++ 和 后++ 没有区别 。

  • 变量 前++ :例如 ++i 。
  • 变量 后++ :例如 i++ 。

②混合运算: 和其他变量放在一起, 前++ 和 后++ 就产生了不同。

  • 变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
public static void main(String[] args) {
     int a = 1;
     int b = ++a;
     System.out.println(a);//计算结果是2
     System.out.println(b);//计算结果是2
 }
  • 变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b 的结果是1
public static void main(String[] args) {
     int a = 1; 
     int b = a++;
     System.out.println(a);//计算结果是2
     System.out.println(b);//计算结果是1
 }

2.+ 符号在字符串中的操作:

  • 符号在遇到字符串的时候,表示连接、拼接的含义。
  • "a"+"b"的结果是“ab”,连接含义
public static void main(String[] args){ 
  System.out.println("5+5="+5+5);//输出5+5=55     
}
2.赋值运算符
赋值运算符.PNG

赋值运算符,就是将符号右边的值,赋给左边的变量。

public static void main(String[] args){
     int i = 5;
     i+=5;//计算方式 i=i+5 变量i先加5,再赋值变量i 
    System.out.println(i); //输出结果是10
  }
3.比较运算符
比较运算符.PNG

比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。

public static void main(String[] args) { 
    System.out.println(1==1);//true
     System.out.println(1<2);//true
     System.out.println(3>4);//false
     System.out.println(3<=4);//true 
    System.out.println(3>=4);//false
     System.out.println(3!=4);//true
 }
4.逻辑运算符
逻辑运算符.PNG

逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

public static void main(String[] args)  { 
    System.out.println(true && true);//true
    System.out.println(true && false);//false
    System.out.println(false && true);//false,右边不计算
    System.out.println(false || false);//falase
    System.out.println(false || true);//true
    System.out.println(true || false);//true,右边不计算 
    System.out.println(!false);//true
}
5.三元运算符

格式:

 数据类型 变量名 = 布尔类型表达式?结果1:结果2

三元运算符计算方式:

  • 布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
  • 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
public static void main(String[] args) {
     int i = (1==2 ? 100 : 200);
     System.out.println(i);//200
     int j = (3<=4 ? 500 : 600);
     System.out.println(j);//500
 }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350