基础概念和语法

JRE 和 JDK

  • JRE(Java Runtime Environment):是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。
  • JDK(Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。

数据类型
Java的数据类型分为两大类:

  • 基本数据类型 :整数 、 浮点数 、 字符 、 布尔 。
  • 引用数据类型 :类 、 数组 、 接口 。

数据类型 关键字 占用内存 取值范围
字节型 byte 1个字节 -128127
短整型 short 2个字节 -32768
32767
整型 int 4个字节 $-2^{31}$$2^{31}-1$
长整型 long 8个字节 $-2^{63}$
$2^{63}-1$
单精度浮点数 float 4个字节 1.4013E-453.4028E+38
双精度浮点数 double 8个字节 4.9E-324
1.7977E+308
字符型 char 2个字节 0-65535
布尔类型 boolean 1个字节 true,false
    long类型:建议数据后加L表示
    float类型:建议数据后加F表示

数据类型转换

自动类型转换(隐式)

  • 特点:代码不需要进行特殊处理,自动完成。
  • 规则:数据范围从小到大。

强制类型转换(显式)  

  • 特点:代码需要进行特殊的格式处理,不能自动完成。
  • 格式:范围小的类型 范围小的变量名 =(范围小的类型) 原本范围大的数据;

注意事项:  
强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。  
byte/short/char这三种类型都可以发生数学运算,例如加法“+”.  
byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。  
boolean类型不能发生数据类型转换

运算符

算数运算符:

符号 说明
+ 加法运算,字符串连接运算
- 减法运算
* 乘法运算
/ 除法运算
% 取模运算,两个数字相除取余数
++ 、 – 自增自减运算

前++和后++的区别:  

赋值运算符 : 

符号 说明
= 等于号
+= 加等于
- = 减等于
*= 乘等于
/= 除等于
%= 取模等

比较运算符:

符号 说明
== 比较符号两边数据是否相等,相等结果是true。
< 比较符号左边的数据是否小于右边的数据,如果小于结果是true。
> 比较符号左边的数据是否大于右边的数据,如果大于结果是true。
<= 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。
>= 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。
! = 不等于符号 ,如果符号两边的数据不相等,结果是true。

逻辑运算符 : 

符号 说明
&& 短路与 两边都是true,结果是true; 一边是false,结是false;短路特点:符号左边是false,右边不再运算
|    | 短路或 两边都是false,结果是false;一边是true,结果是true;短路特点: 符号左边是true,右边不再运算
! 取反 ! true 结果是false; ! false结果是true

三元运算符:  
格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2;

流程控制语句

判断语句 if-else

    if (判断条件1) {
       执行语句1;  
    } else if (判断条件2) {
       执行语句2;  
    }
    …
    }else if (判断条件n) {
      执行语句n;   
    } else {
       执行语句n+1;  
    }     

选择语句 switch

    switch(表达式) {
      case 常量值1:
        语句体1;
        break;
      case 常量值2:
        语句体2;
        break;
      …
      default:
        语句体n+1;
        break;
    }     

循环语句 for,while

for

    for(初始化表达式①; 布尔表达式②; 步进表达式④){
    循环体③        
    }
执行流程

执行顺序:①②③④ >②③④>②③④…②不满足为止。

①负责完成循环变量初始化

②负责判断是否满足循环条件,不满足则跳出循环

③具体执行的语句

④循环后,循环条件所涉及变量的变化情况

while

    初始化表达式①
      while(布尔表达式②){
        循环体③
        步进表达式④
    }
执行流程

执行顺序:①③④ >②③④>②③④…②不满足为止。

①负责完成循环变量初始化。

②负责判断是否满足循环条件,不满足则跳出循环。

③具体执行的语句

④循环后,循环变量的变化情况

中止和跳转下一次语句 break和continue

break:  
使用场景:终止 switch或者循环  

  • 在选择结构 switch语句中
  • 在循环语句中
  • 离开使用场景的存在是没有意义的

 

continue:  
使用场景:结束本次循环,继续下一次的循环

参考文档:

[java学习笔记]