Java流程控制

流程控制

  1. 顺序结构

  2. 分支结构

  3. 选择结构

  4. 循环结构

一,分支结构

关键字:if、else

单 if 结构:

if(条件){
 语句
}
逻辑:先判断条件,如果条件为true,则执行if代码块中的语句;反之,不执行

标准的 if-else 结构:

if(条件){
 语句a
}else{
 语句b
}
逻辑:先判断条件,如果条件为true,则执行if代码块中的语句a;反之,执行else代码块中的语句b

注:以上结构,if、else 有且只有一个会执行

多条件的 if-else 结构:

if(条件1){
 语句1
}else if(条件2){
 语句2
}else if(条件3){
 语句3
}...
逻辑:从上到下依次判断条件,如果条件的结果false,则继续判断下一个条件;当某一个条件的结果为true,执行对应代码块中的语句,执行完毕后跳出整个结构
if(条件1){
 语句1
}else if(条件2){
 语句2
}else if(条件3){
 语句3
}
...
else {
 语句n
}
逻辑:从上到下依次判断条件,如果条件的结果false,则继续判断下一个条件;当某一个条件的结果为true,执行对应代码块中的语句,执行完毕跳出整个结构;如果没有任何一个条件的结果为true,执行最后的else代码块中的语句

嵌套的 if-else 结构:

int age = 151;
if(age >= 0 && age <= 150){
 if(age < 18){
     System.out.println("未成年");
 }else if(age < 46){
     System.out.println("青年");
 }else if(age < 66){
     System.out.println("中年");
 }else{
     System.out.println("老年");
 }
}else{
 System.out.println("非法的年龄值");
}

注:内层的 if-else、只有在外层满足的前提下才会执行

补充:如果if、else后没有{},那么if、else只能影响最近的一条语句;换言之,如果if、else后代码块中的语句只有一条,那么{}可以省略

二,选择结构

关键字:switch、case、break、default

格式:

switch(表达式){
 case 值1:
     语句1
     break;
 case 值2:
     语句2
     break;
 case 值3:
     语句3
     break;
 ...
 default:
     语句n
     break;
}
逻辑:先计算表达式的结果,如果某一个case后的值与表达式的结果相同,就执行该case后的语句,如果没有任何一个case后的值与表达式的结果相同,则执行default后的语句。

注:

  1. switch后()中的内容既可以是表达式也可以是值

  2. 每一个case后的值必须是唯一的

  3. switch后()中表达式结果的数据类型只能是byte、short、int、char、String

  4. switch后()中表达式的结果与case后的值存在自动类型转换

  5. 每一个case以及default的位置都是任意的

  6. break用于跳出整个switch-case结构,如果删除了break会让当前的switch-case具有穿透性

  7. default不是必需的

三,循环结构

关键字:

while、do、for

break、continue

循环的四个要素:

  1. 循环条件

  2. 初始化值

  3. 步进表达式

  4. 循环体

3.1 while 循环

格式:

while(条件){
 循环体
}
逻辑:判断循环条件,如果条件为true,执行循环体,继续判断条件,如果条件为true,执行循环体,直到条件为false,结束循环

3.2 do-while 循环

格式:

do{
 循环体
}while(条件);
逻辑:先执行一次循环体,再判断循环条件,如果条件为true,执行循环体,继续判断条件,如果条件为true,执行循环体,直到条件为false,结束循环

特点:至少执行一次循环体

3.3 for 循环

格式:

for(初始化值①;条件②;步进表达式③){
 循环体④
}
流程:1243243243243...2

3.4 break 和 continue

break:用在switch-case循环结构中,用于跳出整个结构,如果break在循环嵌套中,break只能跳出它所在的循环

continue:只能用于循环结构中,用于跳过当前这次循环继续后续的循环

3.5 死循环

格式:

while(true){
 
}
​
do{
 
}while(true);
​
for(;;){
 
}

3.6 循环嵌套

概念:一个循环结构作为另一个循环的循环体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值