1、数据类型
基本数据类型(8种)
Byte(1个字节)/short(2个)/int(4个)/long(8个)类型是用于描述整数数据的。
Float(4个)/double(8个)类型是用于描述小数数据的,如:3.14等。(借助java.math.BigDecimal类型加以描述)
Boolean(1个)类型是用于描述真假信息的,如:true 和 false。
Char(2个)类型是用于描述单个字符信息的,如:'a','1','中'等。
引用数据类型
数组、类、接口以及枚举等
变量的主要分类
按所属的数据类型划分:
基本数据类型变量
引用数据类型变量
按被声明的位置划分:
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
2、分支结构
if-else if-else分支结构
switch-case分支结构
switch(变量/表达式){
case 字面值1: 语句块1; break;
case 字面值2: 语句块2; break;
... ...
default: 语句块3;
}
语句块4;
(2)执行流程
计算变量/表达式的数值 => 判断是否与字面值1相等
=> 若相等,则执行语句块1 => break => 语句块4;
=> 若不相等,则判断是否与字面值2相等
=> 若相等,则执行语句块2 =>break => 语句块4;
=> 若不相等,则执行语句块3 => 语句块4;
(3)注意事项
a.当case分支后面没有break时,程序会继续执行后续的case语句块,直到遇到break为止。
b.switch()中支持的类型有:byte、short、char以及int类型,从jdk1.5开始支持枚举类型,从jdk1.7开始支持String类型。
3、循环结构
1、for循环
2、for双重循环
for(表达式1; 条件表达式2; 表达式3){
for(表达式4; 条件表达式5; 表达式6){
内层循环的循环体;
}
}
3、无限循环
for(;;)没有明确循环条件的循环,叫做无限循环,与break关键字搭配使用。
4、 while循环
while(条件表达式){
循环体;
}
语句块;
5、 do-while循环
do{
循环体;
}while(条件表达式);
语句块;
注: do-while循环通常用于至少执行一次循环体的场合中。
a.while循环和for循环可以互换。
b.while循环通常用于明确循环条件但不明确循环次数的场合中。
for循环通常用于明确循环次数/范围的场合中。
c.while(true)和for(;;)等价,都表示无限循环。
break和continue
break关键字用于跳出当前所在的循环体,去执行循环后面的语句。
continue关键字用于结束本次循环继续执行下一次循环。
4、数组
一维数组
一维数组本质上就是在内存中申请的一段连续区域,用于记录多个类型相同的数据。
数据类型[] 数组名称 = new 数据类型[数组的长度]; -动态方式
如:int[] arr = newint[5];
数据类型[] 数组名 = {初始值1,初始值2,...}; - 静态方式
如:int[] arr = {10, 20,30, 40};
二维数组
二维数组指由一维数组组成的数组,也就是说数组中的每个元素都是一维数组。
数据类型[][] 数组名称 = new 数据类型[行数][列数];
如: int[][] arr = newint[2][3];
数据类型[][] 数组名 = {{初始值1,初始值2,...},{初始值3,初始值4,...},...};
如:int[][] arr ={{1,2,3},{4,5,6}};
注:
a.只有在数组声明的时候[]中的数字代表数组的长度,其他地方都代表下标。
b.下标的范围是0 ~数组名.length-1,若超过这个范围则运行阶段产生数组下标越界异常。