一、流程控制语句
顺序结构
程序开始运行时,功能依次向下执行
分支结构
条件判断
①
if(条件表达式){
//若“条件表达式”结果为 true 时,需要执行的语句
}
②
if(条件表达式){
//若“条件表达式”结果为 true 时,需要执行的语句
}else{
//若“条件表达式”结果为 false 时,需要执行的语句
}
③
if(条件表达式1){
//若“条件表达式1”结果为 true 时,需要执行的语句
}else if(条件表达式2){
//若“条件表达式2”结果为 true 时,需要执行的语句
}else if(条件表达式3){
//若“条件表达式3"结果为 true 时,需要执行的语句
}
……
else{
//若上述"条件表达式"结果都为 false 时,需要执行的语句
}
注意:
①若某个条件表达式结果为 true ,执行相应的语句,其他 else if 将不再执行
②if else 语句可以嵌套
选择结构
switch(表达式){
case 值1:
//执行语句
break;
case 值2:
//执行语句
break;
case 值3:
//执行语句
break;
……
default:
//执行语句
break;
}
注意:
①“表达式”结果的类型只能是 byte short int char String(jdk1.7后) 枚举
②default 是可选的
③case 后只能写常量值不能写表达式
④break 也是可选的, 当表达式结果与某个case后值匹配成功,依次向下执行,直到遇到 break 为止
⑤表达式结果的数据类型必须与 case 后值的类型保持一致
//需求:若一个数大于等于2 小于等于5,则打印“2-5”
int a = 2;
switch(a){
case 2:
case 3:
case 4:
case 5:
System.out.println(“2-5”); break;
}
循环结构
重复的执行某语句
在 Java 中循环结构有三种语法格式,都需要如下四个条件:
①初始值
②循环条件
③迭代条件
④循环体
1、for 循环
for(①; ②; ③){
④
}
执行流程:①②④③②④③②……②
2、while 循环
①
while(②){
④
③
}
3、do-while 循环
①
do{
④
③
}while(②);
while 与 do-while 的区别?
while :先判断循环条件,再执行循环体
do-while : 先执行循环体,再判断循环条件(至少执行依次)
二、嵌套循环
一个循环充当了另一个循环的循环体
//需求:打印100以内的质数
boolean flag = true;//标记
for(int i = 2; i <= 100; i++){
for(int j = 2; j < i; j++){
if(i % j == 0){
//说明该数一定不是质数
flag = false;
break;
}
}
//判断是否打印
if(flag){
System.out.println(i);
}
flag = true; //使标记重新生效
}
三、特殊流程控制语句(break & continue)
break : 用于“跳出”当前循环。当用于 switch-case 语句时,用于跳出当前 switch-case 语句
continue : 用于“跳出”当次循环。
for(int i = 0; i <= 10; i++){
if(i == 3){
System.out.println("---"+i);
//break;
continue;
}
System.out.println(i);
}
label:for(int j = 0; j <= 10; j++){
for(int i = 0; i <= 10; i++){
if(i == 3){
System.out.println("---"+i);
//break label;
continue label; //支持标签指定的那一层循环
}
System.out.println(i);
}
}