一、控制语句
1.定义
-
一个程序,想要更加健壮,就必须能够应对各种各样的状况,根据实际情况来判定直接结果。
-
所以,对于程序也应该是根据不同的情况来执行不同的顺序和语句。
- 控制语句就可以控制流程的走向和顺序
2.分类
-
顺序结构
-
选择结构
- 循环结构
二、顺序结构
1.定义
按照生活中的习惯,从上往下,依次执行
2.演示
public static void main(String[] args) {
//程序会从上往下依次执行
System.out.println("第一句话");
System.out.println("第二句话");
System.out.println("第三句话");
}
三、选择结构(判断结构)
1.定义
可以控制部分语句的执行,或者跳过一部分语句
2.分类
if语句
switch语句
四、if语句格式一
1.格式
if(boolean){
//执行语句
}
2.执行流程
先计算if关键字后面的表达式,看其返回值是true还是false。
如果是true,就执行后面大括号中的代码。
如果是false,就不执行。
3.演示
public static void main(String[] args) {
int a = 1;
if(a>0){
System.out.println("语句体执行了");
}
}
4.注意事项
if语句后面的小括号无论写什么,结果都必须是boolean值。
if语句控制的语句体如果是一条语句,大括号就可以省略,如果是多条语句,就不能省略,建议永远不要省略。
一般来说,有左大括号就没有分号,有分号,就没有左大括号。
五、if语句格式二
1.格式
if(boolean){
//语句体1
}else{
//语句体2
}
2.执行流程
首先计算if后面小括号内的表达式的值,看其返回值是true还是false.
如果是true,就执行语句体1
如果是false,就执行语句体2
3.案例演示
public static void main(String[] args) {
int i = 1;
if(i>=18){
System.out.println("终于可以玩游戏了");
}else{
System.out.println("哎... 再等等吧");
}
}
4.注意事项
else后面是没有表达式,只有if后面有
如果语句体只有一句话,可以省略大括号,建议不要省略
三元运算符就是这种格式的简写形式,三元运算符可以实现的,这种格式就可以,反之不行。
六.if语句格式三
1.格式
if(boolean){
//语句体1
}else if(boolean){
//语句体2
}else{
//语句体3
}
2.执行流程
首先计算if 后面括号内的表达式,看其返回值结果。
如果是true就执行语句体1,if语句结束
如果是false,就执行下一个else if后面括号中的表达式,看其结果
如果是true,就执行语句体2
如果是false,就接着判断下一个else if后面表达式的结果
以此类推,直到最后执行else语句结束
如果中途有一个if或者else if后的括号判断结果是true,则之后的代码都不执行。
3.注意事项
最后一个else可以省略,但建议不要省略,可以有对有效值范围外的错误值进行提示。
4.演示
public static void main(String[] args) {
int i = 10;
if(i>18){
System.out.println("吃鸡");
}else if(i>10){
System.out.println("LOL");
}else if(i>3){
System.out.println("王者农药");
}else{
System.out.println("泡妞");
}
}
七、Switch语句
1.格式
switch(值){
case 值1:
//语句体1;
break;
case 值2:
//语句体2;
break;
//......
default:
//语句体3;
break;
}
2.执行流程
先看switch括号中的值
然后 和case后面的值匹配,如果有就执行这个case后面的语句,否则执行default控制的语句。
3.注意事项
case后面只能是常量,不能是变量,多个case后面不能出现相同的值。
switch后面的值的类型只能是byte,short,int,字符,字符串,枚举。
结束条件:执行到break,或者代码运行完毕结束,如果一直遇不到break就会一直执行。
defalut可以省略,但是建议不要省略。
4.演示
public static void main(String[] args) {
//输入数值,打印对象的星期数
int week = 5;
switch (week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期七");
break;
default:
System.out.print("您的输入有误");
break;
}
}
5.case穿透
当程序执行某个case后面的代码,但是没有遇到break的时候,就会一直执行下面的所有可执行的语句。
public static void main(String[] args) {
int week = 1;
switch (week) {
case 1:
System.out.println("语句1......");
case 2:
System.out.println("语句1......");
case 3:
System.out.println("语句1......");
break;
default:
System.out.print("其他情况");
break;
}
}