流程控制分类
- 顺序语句:从上到下按顺序依次执行
- 分支语句:根据条件不同,执行不同语句
- 循环语句:重复执行某些动作
单分支条件判断语句
条件语句
只是单独的判断条件是否成立
if选择结构是根据条件判断之后再做处理
语法
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
注意:条件必须是boolean类型
if只带一条语句可以省略{}
双分支条件判断语句
if...else...需要对条件成立和不成立的情况分别处理
if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
语法
if(条件){
//代码块1
}else{
//代码块2
}
多分支条件判断语句
if...else if...else 语句
语法
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
注意:多个条件用多个 else if,而if只能有一个;
else可以省略,表示以上条件都不成立执行else
if,else if,else只带一条语句可以省略{}
String类型比较字符串相等的方法
字符串1.equals("字符串2");//相等 true 不相等false
== 判断的是内存地址,是否为同一对象,不是字符串值。
int num2 = input.nextInt();
boolean flag = num2.equals("+");
switch语句
switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法
witch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
switch和多重if的区别
【1】switch只能进行等值的条件判断;多重if可以判断任何情况,但多用于范围的判断;
【2】同样都是等值的判断,switch效率要高一些
switch注意:
【1】支持标签堆叠:空标签罗列在一起
【2】多个条件判断可以有多个case标签
【3】default:标签可以省略
【4】break;结束switch不加 继续执行;
【5】表达式的类型与值的类型要一致,只能是byte,short,int,char,String,枚举
1 package test; 2 3 import java.util.Scanner; 4 5 public class Test { 6 public static void main(String[] args) { 7 Scanner input = new Scanner(System.in); 8 System.out.println("输入一个月份:"); 9 int month = input.nextInt(); 10 switch(month) { 11 case 3: 12 case 4: 13 case 5: 14 System.out.println("春天"); 15 break; 16 case 6: 17 case 7: 18 case 8: 19 System.out.println("夏天"); 20 break; 21 case 9: 22 case 10: 23 case 11: 24 System.out.println("秋天"); 25 break; 26 case 12: 27 case 1: 28 case 2: 29 System.out.println("冬天"); 30 break; 31 default: 32 System.out.println("输入的月份不正确!"); 33 } 34 System.out.println("Game Over!"); 35 } 36 }