java分支语句,也叫做java条件语句,也就是控制在什么情况下,去执行什么代码,可以有选择性的去执行部分的代码,在分支语句中,有if分支和switch分支结构。
if分支,可以继续细化为3种方式:
方式1:
if(表达式){
当表达式结果为true的时候,执行的语句块;
}
事例代码1:
1 public void method_1(){2 //定义一个变量num,3 int num = 11;4 //判断当num大于10的时候就输出,否则将不输出5 if(num > 10){6 //if里面的代码,只有当num的值大于10的时候才会执行,否则将不会执行if大括号里面的代码7 System.out.println("num = "+num); 8 } 9 }
方式2:这种方式可以理解为:如果....否则....
if(表达式){
当表达式结果为true的时候,执行的语句块;
}else{
当表达式结果为false的时候,执行的语句块;
}
事例代码2:
1 public void method_2(){ 2 //定义一个变量score,表示一个学生的成绩: 3 double score = 60.1; 4 //判断一个分数是否大于60,如果大于等于60,则输出该学生考试及格,否则输出该学生考试不及格 5 if(score >= 60){ 6 System.out.println("该学生考试及格"); 7 }else{ 8 System.out.println("该学生考试不及格"); 9 }10 }
上面的代码,只要运行,一定会与输出语句,两种情况一定会出现其中一种,如果score大于等于60,则执行if大括号里面的代码,否则,执行else大括号里面的代码
方式3:适用于当可能性大于了
if(表达式1){
当表达式1结果为true的时候,执行的语句块;
}else if(表达式2){
当表达式2结果为true的时候,执行的语句块;
}
......
else if(表达式n){
当表达式n结果为true的时候,执行的代码;
}else{
当前面所有的表达式的结果都为false的时候,执行的语句块,可省略.
}
事例代码3:
1 public void method_3(){ 2 //定义一个变量age,代表年龄, 3 int age = 23; 4 //根据年龄判断其是少年?青年?中年?老年 5 //0-14少年,15-30青年,31-60中年,61-130老年 6 if(age > 0 && age <= 14){ 7 System.out.println("少年"); 8 }else if(age >= 15 && age <= 30){ 9 System.out.println("青年"); 10 }else if(age >= 31 && age <= 60){11 System.out.println("中年");12 }else if(age >= 61 && age <= 130){13 System.out.println("老年");14 }else{15 System.out.println("年龄不合法");16 }17 }
以上代码为if...else if()形式的代码,运行代码的时候,将从if开始匹配,如果有if里面的表达式结果为true的时候,则执行该大括号里面的代码,并且结束整个分支语句,也就是如果有表达式为true的时候,则剩下的表达式将不再匹配。
switch分支:
switch(值或者是变量){
case 值1:
当传入的值和值1相同时,执行的语句块;
break;
case 值2:
当传入的值和值2相同时,执行的语句块;
break;
......
case 值n:
当传入的值和值n相同时,执行的语句块;
break;
default:
当传入的值和上面所有的case后面的值都不相同时,执行的代码,和if里面的else作用一致;
}
这里的break的作用是:当传入的值和case后面的值相同时,执行语句块后,再执行break;将结束整个分支,剩下的case代码将不再比较运行。
事例代码4:
1 pulbic void method_4(){ 2 //定义一个变量,表示星期数,只能是1-7 3 int week = 1; 4 //将week的值传入switch中 5 switch(week){ 6 case 1: 7 //week等于1时 8 System.out.println("今天星期一"); 9 break;10 case 2:11 //week等于2时12 System.out.println("今天星期二");13 break;14 case 3:15 //week等于3时16 System.out.println("今天星期三");17 break;18 case 4:19 //week等于4时20 System.out.println("今天星期四");21 break;22 case 5:23 //week等于5时24 System.out.println("今天星期五");25 break;26 case 6:27 //week等于6时28 System.out.println("今天星期六");29 break;30 case 7:31 //week等于7时32 System.out.println("今天星期天");33 break;34 default:35 //week不再1-7之内的时候36 System.out.println("数字不合法,超过了7或者小于1");37 }38 }