Java控制结构

顺序结构

正常程序都是自上而下顺序运行(除非特殊情况)

选择结构

if语句

if(关系表达式){
语句体;
}

执行流程:如果关系表达式是true,就执行语句体;如果关系表达式是false,就不执行语句体,走到结束}后面的语句

if…else

if(关系表达式){
语句体1}else{
语句体2}

执行流程:如果关系表达式是true,就执行语句体1;如果关系表达式是false,就执行语句体2;

if…else if…else

if(关系表达式1){
语句体1}else if(关系表达式2){
语句体2.......
}else if(关系表达式n){
语句体n;
} else{
上面都是false,走这里;
}

执行流程:如果关系表达式1是true,就执行语句体1;如果关系表达式1是false,就继续判断关系表达式2,如果关系表达式2是true,执行语句体2;如果关系表达式2是false,就继续判断关系表达式3,…如果关系表达式1-n都是false,就执行else

switch

格式:switch(表达式){
case1:
语句1;
break;
case2:
语句2;
break;
.......
case 值n:
语句n;
 break;
default:
语句default;
break;
}

执行流程:如果表达式是值1,走语句1;如果表达式是值2,走语句2;如果表达式是值n,走语句n;如果表达式都没有值,走语句default;

循环控制语句

for循环

for(初始化语句;判断语句;控制条件语句){
循环体;
}
其他语句;
注意

for(;😉{} 中的两个 ; 是不能多也不能少的。循环条件必须是 boolean 类型。
如果循环条件语句 ② 省略的话,就默认为循环条件成立

执行流程

第一步:执行初始化语句 ① ,完成循环变量的初始化;
第二步:执行循环条件语句 ② ,看循环条件语句的值是true ,还是 false ;如果是 true ,执行第三步;如果是 false ,循环语句中止,循环不再执行。
第三步:执行循环体语句 ③ ;
第四步:执行迭代语句 ④ ,针对循环变量重新赋值;
第五步:根据循环变量的新值,重新从第二步开始再执行一遍;

while循环

基本格式
while(true){
循环体语句;
if(当满足一定条件时){
break/return; //终止当前的循环System.exit(0); // jvm退出
}
}
扩展格式
初始化语句①;
while (循环条件语句②) {
循环体语句③;
迭代语句④;
}
执行流程

第一步:执行初始化语句 ① ,完成循环变量的初始化 第二步:执行循环条件语句 ② ,看循环条件语句的值是true ,还是 false ;如果是 true ,执行第三步;如果是 false ,循环语句中止,循环不再执行;
第三步:执行循环体语句 ③ ;
第四步:执行迭代语句 ④ ,针对循环变量重新赋值;
第五步:根据循环变量的新值,重新从第二步开始再执行一遍;

do…while…循环

基本格式
do{
 循环体语句;
  if(当满足一定条件时){
    break;//终止当前的循环
 }
}while(true);
扩展格式
初始化语句①;
do {
循环体语句②;
迭代语句③;
} while (循环条件语句④)
执行流程

第一步:执行初始化语句 ① ,完成循环变量的初始化;
第二步:执行循环体语句 ② ;
第三步:执行迭代语句 ③ ,针对循环变量重新赋值;
第四步:执行循环条件语句 ④ ,看循环条件语句的值是true ,还是 false ;如果是 true ,根据循环变量的新值,重新从第二步开始再执行一遍;如果是 false ,循环语句中止,循环不再执行

循环语句的区别

从循环次数角度分析
  • do…while 循环至少执行一次循环体语句。

  • for 和 while 循环先循环条件语句是否成立,然后决定是否执行循环体,至少执行零次循环体语句。

从循环变量的生命周期角度分析
  • for 循环的循环变量在 for() 中声明的,在循环语句结束后,不可以被访问。

  • while 和 do…while 循环的循环变量因为在外面声明的,所以 while 和 do…while 结束后可以被继续使用的。

如何选择
  • 遍历有明显的循环次数(范围)的需求,选择 for 循环。

  • 遍历没有明显的循环次数(范围)的需求,循环 while 循环。

  • 如果循环体语句块至少执行一次,可以考虑使用 do…while循环。

  • 本质上:三种循环之间是可以互相转换的,都能实现循环的功能

三种循环结构都具有四要素
  • ① 循环变量的初始化表达式。

  • ② 循环条件。

  • ③ 循环变量的修改的迭代表达式。

  • ④ 循环体语句块。

循环嵌套

格式
外层循环{
  内层循环{
  }
}

一般外层循环表示行,里面循环表示单元格:外层作为控制循环的次数,相当于表格的行,内层作为控制单层循环的次数,相当于表格的列

结论

外循环执行一次,内循环执行一圈

控制循环语句

break

表示终止当前的循环

使用场景

① 在选择结构 switch 语句中。
② 在循环语句中。

注意

离开使用场景,是没有意义的

continue

使用场景

用在循环中,表示跳过此次循环,继续下面的循环

注意

离开使用场景,是没有意义的

return

return 单独使用,表示结束方法的调用

  • reutrn :并非专门用于结束循环的,它的功能是结束一个方
    法。当一个方法执行到一个 return 语句的时候,这个方法将被
    结束。

  • 和 break 和 continue 不同的是,return 直接结束整个方法,
    不管这个 return 处于多少层循环之内。

return 值 表示返回值

System.exit(0)

System.exit(0): 正常退出,程序正常执行结束退出。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西。
system.exit(1): 非正常退出,就是说无论程序正在执行与否,都退出

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值