break在if语句中的作⽤_流程控制语句控制语句
控制语句分为三类:顺序语句,选择语句和循环语句。
控制语句分为三类:
1. if条件判断结构
1.1if单分⽀结构
语法结构:
if(条件表达式){
语句块
}
if中的“条件表达式”返回的数据类型必须是boolean类型。
当“条件表达式”返回的结果为true时,才会执⾏if{}中执⾏的代码
“选择执⾏”也包含在“顺序执⾏”中的。
1.2 if双分⽀结构
语法:
if(条件表达式) {
// 当“条件表达式”为true时,需要执⾏的代码
}else {
// 当“条件表达式”为false时,需要执⾏的代码
}
if中的“条件表达式”返回的数据类型必须是boolean类型。
当“条件表达式”为true时,执⾏if{}中的代码;当“条件表达式”为false时,执⾏else{}中的代码。
if双选结构,有且只能执⾏⼀个{}中的代码。
1.3 if多分⽀结构
语法:
if(条件表达式1) {
// 当“条件表达式1”结果为true时,需要执⾏的代码
}else if(条件表达式2) {
// 当“条件表达式2”结果为true时,需要执⾏的代码
} else if(条件表达式3) {
// 当“条件表达式3”结果为true时,需要执⾏的代码
}
...
else {
/
/ 当以上条件表达式都不成⽴的时候,需要执⾏的代码
}
if中的“条件表达式”返回的数据类型必须是boolean类型。
如果if中某⼀个“条件表达式”成⽴,则执⾏该if{}中的代码,该if{}中的代码执⾏完毕后执⾏if多选结构之后的代码如果if中所有的“条件表达式”都不成⽴,则执⾏else{}中的代码。
⼀个完整的多选结构,有且只能执⾏⼀个{}中的代码。
if, 不能省略,有且只能有⼀个;else if, 可以省略,可以有任意多个。else, 可以省略,最多只能有⼀个。
1.4总结
1. 如果if选择结构只需执⾏⼀条语句时,那么可以省略{};如果需要执⾏多条语句,那么就是不能省略{}。为了提⾼代码的易读性,建议
不要省略{}。
2. {}中的代码语句也称为代码块,在代码块定义的常量或变量的作⽤域仅限于代码块中,在代码块之外不能被使⽤。
3. 能⽤if多选择结构就不要⽤if单选择结构,因为if多选择结构的效率要⾼于if单选择结构。
4. 在if选择结构中还可以嵌套别的选择结构或循环结构。
2. switch多分⽀结构
语法:
swtich(表达式) {
case 常量1:
// 需要执⾏的代码
break;
case 常量2:
// 需要执⾏的代码
break;
case 常量3:
// 需要执⾏的代码
break;
....
default:
// 以上case都不匹配的时候,需要执⾏的代码
break;
}
switch中的“表达式”必须是:byte、short、int、 char、String(JDK7)、枚举(后⾯学习)。
case后⾯接的必须是常量,不允许是变量。case后⾯的常量的数据类型必须和“表达式”的数据类型保
持⼀致switch中的case后⾯不能是条件判断|区间判断,因为“表达式”不⽀持boolean类型。在同⼀个switch结构中,case后⾯不允许有相同的常量值。
执⾏break语句,作⽤就是⽤于跳出switch语句。
当switch选择结构中所有的case都不匹配的时候,才会执⾏default中的语句。(switch中的case和default不区分先后顺序。)
总结:当条件表达式是等值判断的情况,可以使⽤ if-else if-else 多分⽀结构或者 switch 结构,如果条件表达式是区间判断的情况,则只能使⽤ if-elseif-else 多分⽀结构。
3. for循环结构
语法结构:
for(循环初始化表达式; 循环条件表达式; 循环后的操作表达式) {
// 循环体
}
for循环执⾏顺序总结:
"循环初始化表达式”最先执⾏,并且只执⾏了⼀次。
如果“循环条件表达式”成⽴,则执⾏循环体;如果“循环条件表达式”不成⽴,则跳出循环。
“循环体”执⾏完毕以后,⽴刻执⾏“循环后的操作表达式”
“循环后的操作表达式”执⾏完毕以后,⽴刻执⾏“循环条件表达式”
注意:
在“循环初始化表达式”中声明的“循环变量”属于局部变量,只能在当前循环中使⽤。
最后⼀趟循环执⾏完毕以后,会⽴刻执⾏“循环后的操作表达式”,然后再执⾏“循环条件表达式”。
如果想要在循环体中操作同⼀个变量,那么应该把该变量声明放在循环之外(前⾯),这样在循环体中使⽤的就是同⼀个变量了
循环条件表达式”返回的结果必须是boolean类型,如果省略“循环条件表达式”那么默认值为true。
4.while循环
语法:
while(循环条件表达式) {
// 循环体
}
continue语句执行过程当“循环条件表达式”为true时,即执⾏循环体。
注意:
当while循环体执⾏完毕,会直接跳转去执⾏判断“循环条件表达式”是否成⽴,如果成⽴则执⾏“循环体”,否则跳出循环 。
在while循环中,“循环后的操作表达式”放的位置不同,难么最终输出的结果也会不⼀样!
4.1 while与for的区别
for循环能做的事情while循环都可以实现,使⽤循环的时候for和while都可以选择。
建议以下条件使⽤while循环:
循环结束后循环变量还需要参与运算,那么建议使⽤while循。
不确定循环次数的时候,建议使⽤while循环。
5. do...while循环
语法:
do {
// 循环体
} while(循环条件表达式);
对⽐while循环,do...while循环时“先执⾏,后判断”。
死循环:
死循环:循环⼀直执⾏,永远⽆法停⽌。for(;;){} while(true){}
6. break、continue、return
6.1 break关键字
适⽤场合:
适⽤场合:switch、循环(for、while、do...while)
break的作⽤:
在switch中使⽤,跳出switch语句,执⾏switch语句之后的代码。
在循环中使⽤,⽤于跳出当前循环,后续循环不再执⾏。执⾏循环外的代码。
6.2 continue关键字
使⽤场合:只能在循环中使⽤(for循环、while循环、do...while循环)
使⽤场合:
continue的作⽤:
跳出本趟循环,继续执⾏后续循环。
6.3 return关键字
return的作⽤:
return的作⽤:1、结束当前⽅法。2、返回⼀个值
break与return的不同点:break跳出循环,执⾏循环外的代码。return跳出⽅法,不执⾏后续代码。break与return的不同点:
注意:
注意:在break、continue和return关键字后⾯不要书写任何代码,因为书写的代码⽆法执⾏。
6.4 带标签的break,continue
步骤:
第⼀步:给外侧循环取⼀个名字, Outer:for(int i = 1; i < 10; i++) {}
第⼆步:在需要跳出循环的位置,书写代码为:break Outer;
Outer:for(int i = 1; i < 10; i++) {
System.out.println("外侧,i=" + i);
for(int j = 1; j < 5; j++) {
if(j == 2) {
// 需求:需要在内侧循环中跳出外侧循环,使⽤break作⽤于外侧循环上⾯
break Outer; // 跳出外侧循环
}
System.out.println("--内侧,j=" + j);
}
}
Outer:for(int i = 1; i < 10; i++) {
System.out.println("外侧,i=" + i);
for(int j = 1; j < 5; j++) {
if(j == 2) {
// 需求:需要continue作⽤于外侧循环上⾯
continue Outer;
}
System.out.println("--内侧,j=" + j);
}
}
建议:带标签的break,continue在开发中⼀般不去使⽤。
7. 嵌套循环
嵌套循环:在⼀个循环语句内部再嵌套⼀循环或多个循环
嵌套循环:
//外侧循环,控制⾏数,
for(int i = 1;i <= 9;i++){
//内侧循环,控制列数(每⼀⾏有多少列)
//内侧循环⾥i执⾏⼀次,j做⼀个循环。
for(int j = 1;j <= i;j++){
System.out.print(j + "*" + i + "=" + j*i + "t");
}
System.out.println();
}
while、do-while与for循环可以任意嵌套多层。
多重循环执⾏过程:外层循环变量变化⼀次,内层循环变量要变化⼀遍 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论