流程控制主要作用于:用来判断某个程序在不同条件下,执行不同逻辑。
按结构分类,流程控制可分为:顺序结构、选择结构、循环结构
顺序结构:程序从上往下执行
选择结构:根据程序在不同条件下,选择执行不同的逻辑代码
循环结构:在一定的条件下,重复执行某段代码
选择结构
java选择结构的语句有:if语句 if-else语句 switch
1. if 语句
语法:
if(条件表达式){ 一条或者多条语句 }
当条件表达式里的值为 true 时 执行 { } 里的内容
执行流程
例如:
int number =10; if(number>5) { System.out.println("条件为true执行"); }
2. if-else 语句
语法:
if(条件表达式){ 一条或者多条语句 }
当条件表达式里的值为 true 时 执行 { } 里的内容
执行流程
例如:
int number =10; if(number>5) { System.out.println("条件为true执行"); }
number 为10 >5 满足条件,条件表达式的结果为true,则控制台会打印“条件为true执行”
2. if-else 语句
语法:
if(条件表达式){ 语句块1 } else{ 语句块2 }
当条件表达式的值为true 时,执行语句块1 为false 执行语句块2,else里面的内容
执行流程:
例如:
int number =10; if(number>5) { System.out.println("number大于5"); }else { System.out.println("number小于5"); }
number=10>5 式子成立,所以条件表达式为 true则执行输出语句“number大于5”
int number =3; if(number>5) { System.out.println("number大于5"); }else { System.out.println("number小于5"); }
number =3 >5 ,式子不成立,条件表达式为false,则输出”number小于5”
其次 if 后面若有多条件判断,可以跟 else if ... else
语法:
if(条件表达式){ 语句1 } else if(条件表达式2){ 语句2 } else if(条件表达式3){ 语句3 } ..... else if (条件表达式n-1){ 语句n -1 } else { 语句n }
程序开始执行,符合哪个条件表达式(即条件结果为true),就执行相应语句
例如:
int score = 66; if (score >= 90) { System.out.println("优秀"); } else if (score >= 80) { System.out.println("良好"); } else if (score >= 70) { System.out.println("中等"); } else if (score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); }
score 等于66 根据执行顺序从上至下,进行判断,66>= 60 判断结果为true,所以输出语句 “及格”
3. switch 开关
语法:
switch(表达式) { case 常量表达式1 : 语句组1 ; break ; case 常量表达式2 : 语句组2 ; break ; case 常量表达式3 : 语句组3 ; break ; .... default : 语句块 }
break: 在这里作用是跳出判断
switch的执行过程:首先switch 会进行case匹配,匹配成功,执行case里的语句,再判断是否有break, 有就跳出判断,无就继续执行
例如:
int month = 7; switch (month) { case 2 : case 3 : case 4 : System.out.println(month+"月是春天"); break; case 6: case 7: case 8: System.out.println(month+"月是夏天"); break; case 9 : case 10 : case 11 : System.out.println(month+"月是秋天"); break; default: System.out.println(month+"月是冬天");
输出结果为:7月是夏天
注意:switch 的 break不是必写的,根据自己的代码实现逻辑来定写不写
-
当case语句块中没有break 时,如果 case 都匹配不成功,就只会执行default 里边的内容
int number = 1; switch (number) { case 2 : System.out.println("我是case2"); case 7: System.out.println("我是case7"); case 9 : System.out.println("我是case9"); default: System.out.println("我是default"); }
输出结果 :“我是default”
-
当case 语句块中没有break 时,case匹配成功,就会执行当前case 以下的代码
int number = 7; switch (number) { case 2 : System.out.println("我是case2"); case 7: System.out.println("我是case7"); case 9 : System.out.println("我是case9"); default