流程控制语句
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。控制语句分为三类:顺序、选择和循环。
1.选择结构
在还没有知道Java选择结构的时候,我们编写的程序总是从程序入口开始,顺序执行每一条语句直到执行完最后一条语句结束,但是生活中经常需要进行条件判断,根据判断结果决定是否做一件事情,这就需要选择结构。主要的选择结构有:if选择结构和switch多选择结构
1.1 if单选择结构
if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。
int a = 5;
int b = 6;
if(a > b){
System.out.println("你是最大数");
}
1.2 if-else双选择结构
if(布尔表达式){
语句块1
}else{
语句块2
}
当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。
1.3 if-else if-else多选择结构
if(布尔表达式1) {
语句块1;
} else if(布尔表达式2) {
语句块2;
}……
else if(布尔表达式n){
语句块n;
} else {
语句块n+1;
}
当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。
1.4 switch多选择结构
语法结构:
switch (表达式) {
case 值1: 语句序列1;
[break];
case 值2:语句序列2;
[break];
… … …
[default: 默认语句;]
}
2.循环结构
2.1 for循环
语法结构:for(条件初始化;条件判断;条件变化){ 重复执行的代码; }
条件初始化: 声明一个变量,并第一次赋值 int i=1
条件判断: 对条件|变量i进行判断,如果满足要求,结果为true,就可以执行这一次循环体语句{},如果结果为false,不满足要求,这一次执行不了并且循环结束
条件变化: 变量i自身值的改变
for循环的执行流程:
1.条件初始化
2.条件判断
3.不满足条件结束循环,满足条件执行,执行循环体语句
4.条件变化
从第二次循环开始,条件初始化就不执行了
//求1~10之间的和
int sum=0;
for(int i=1;i<=10;i++){ //i可以用来控制循环次数,可以用来在循环体中当做数据使用,这个数据是可变的
sum+=i;
}
System.out.println(sum);
2.2 while循环
语法结构:while (布尔表达式) { 循环体; }
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。
//while
int i=1; //条件初始化 主方法中的作用域
while(i<=100){
System.out.println(i);
i++; //条件变化
}
2.3 do while循环
语法结构:do{ 语句体; 条件变化; }while(条件判断);
do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。
//计算1-100直接累加和
int i = 0;
int sum = 0;
do {
sum += i; // sum = sum + i
i++;
} while (i <= 100);//此处的;不能省略
System.out.println("Sum= " + sum);
2.4 break语句和continue语句
break:
在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。
continue:
用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。