顺序结构
代码从上到下,从左到右。
int num = 1;
System.out.println(++num);
System.out.println(num);
第2,3行代码的位置交换,结果是完全不一样的
选择结构
if语句
if()小括号中的表达式结果只能是boolean类型
if(条件表达式){
代码块1…
}else{
代码块2…
}
选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个(true、false),所以产生选择,按照不同的选择执行不同的代码。
也就是当if()小括号中的表达式结果如果为true,则执行if(){}大括号内的代码,否则执行else{}大括号里的代码。
if(条件1){
代码块1…
}else if(条件2){
代码块2…
}else if(条件3)
代码块3…
}else if(条件4)
代码块4…
}else{
代码块5…
}
-
if 条件1不成立,往下走
-
判断条件2,如果条件2成立,执行代码块2,不成立,往下走
-
判断条件3,如果条件3成立,执行代码块3,不成立,往下走
-
判断条件4,如果条件4成立,执行代码块4,不成立,往下走
-
上面的条件都不成立的话,执行代码块5
注意事项:但凡有一个成立了,就不往下判断了。
swith语句
switch(变量) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
switch :开关
case:情况
case后面只能是常量,不能是变量,而且,多个case后面的值不能相同
流程: 变量挨个和case后面的值进行比较,如果相同,就执行对应的语句体,然后遇到break,就结束switch语句。
break: 打断、中断,用于结束switch语句。
default:默认,当所有的case都不满足的时候,就执行default后面的语句体。 和if语句中的else一样。
if和switch的区别:
1. if语句可以判断范围,switch语句只能判断具体的值。
2. if语句可以判断多个条件,switch语句只能判断一个条件。
3. if语句的效率低,switch语句的效率高。
循环结构
声明循环变量:我们一般只能声明一次变量,不能重复的声明
for循环
for(声明循环变量;循环条件;迭代){
被循环的代码块
}
for 关键字 表示循环
- 声明循环变量:声名一个变量
- 循环条件: 一个布尔表达式,如果为true,继续循环,如果为false,结束循环 循环能否继续的判断条件
- 迭代: 循环变量的变化
- 代码块: 被循环的代码
循环的执行流程:
1 声明循环变量
2 判断循环条件
3 如果为true,执行代码块
4 执行迭代
5 回到第二步
6 如果为false,结束循环
while循环
声明循环变量
while(循环判断){
被循环的代码块
迭代
}
while 关键字 表示循环
- 声明循环变量
- 循环判断
- 代码块
- 迭代
循环的执行流程:
1 声明循环变量
2 判断循环条件
3 如果为true,执行代码块
4 执行迭代
5 回到第二步
6 如果为false,结束循环
do-while循环
do{
被循环的代码块
迭代
}while(循环判断);
do while关键字:
不管条件是否满足,至少执行一次被循环的代码块
改变程序流程
break: 终止循环
1.退出,终止
2.可用在循环和switch
3.继续之外的代码
4.break之后不能写代码
continue: 跳过本次循环,继续下次循环
1.跳过,继续
2.可用在循环
3.不退出循环,进行下一次循环
4.continue之后不能写代码