Java 分支语句 if if-else switch-case
if 结构
当条件满足时运行某些语句,当条件不满足时则不运行这些语句
if语句执行逻辑
if(逻辑表达式){
语句1;
语句2;
}
语句3;
1.判断逻辑表达式;
2.逻辑表达式得值 boolean类型
若值为true,则执行if语句块的语句;
若值为flase,则不执行if语句块中的语句
3.执行语句3
if语句流程图
if-else语句
if-else语句执行逻辑
if(逻辑表达式){
语句1;
语句2;
}else{
语句4
}
1.判断逻辑表达式;
2.逻辑表达式得值 boolean类型
若值为true,则执行if语句块的语句1;
若值为flase,则执行else语句块中的语句4
3.执行语句3
ps:分支语句中的逻辑表达式可以是任何值为boolean类型的表达式
if-else语句流程图
练习
润年判断程序
1.被4整除但是不100整除
2.被400整除
方案
首先,接受用户从控制台输出的数据,需要使用Sanner类辅助完成
然后根据闰年生成的规则构建逻辑表达式完成判断闰年和平年的需求
System.out.println("请输入年份:");
int a=input.nextInt();
if ((a%4==0&&a%100!=0)||a%400==0) {
System.out.println("第一种方式显示为:闰年");
}else {
System.out.println("第一种方式显示为:平年");
}
String s=a%4==0&&a%100!=0||a%400==0?"第二种方式显示为:闰年":"第二种方式显示为:平年";
System.out.println(s);}
当需要判断多个条件是可以使用if else 语句的嵌套方式,而if()-else-if() 就是if-else 嵌套语句的简便方式。
根据用户输入的成绩判断学生的分数等级
int s=input.nextInt();
if (s>=90) {
System.out.println("A");
}else if (s>=70) {
System.out.println("B");
}else if (s>=60) {
System.out.println("C");
}else {
System.out.println("D");
}
1.在if…else if 语句中但凡只要有一个条件判断成功,则其他的都不再执行
2.只有当所有的判断都不成功时,才会执行else中的语句
switch-case 语句
switch-case 语句是一种特殊的分支结构,可以根据一个整数表达式的不同取值,从不同的程序
入口开始执行。
语法结构
switch(整数表达式){
case 整数表达式1;
语句1;
语句2;
case 整数表达式2:
语句3
。。。。。
default;
语句n;
}
swith后的整数表达式依次和case后的整数表达式进行匹配,如果匹配成功则从对应的case语句一直执行下去,
直到整个swith——case表达式结束
switch (a) {
case 1:
System.out.println("呼叫1");
case 2:
System.out.println("呼叫2");
case 3:
System.out.println("呼叫3");
default:
System.out.println("呼叫5");
case 4:
System.out.println("呼叫4");
}//全都执行
switch-case和break联合使用
通常case1,case2,对应完全不同的操作,可以和break语句配合使用,执行完相应语句后退出switch块,不继续执行下面的语句。
ps:break语句的作用在于跳出switch语句块
int a = 2;
switch (a) {
case 1:
System.out.println("呼叫1");
break;
case 2:
System.out.println("呼叫2");
break;
case 3:
System.out.println("呼叫3");
break;
default:
System.out.println("呼叫5");
break;
case 4:
System.out.println("呼叫4");
break;
}//呼叫2
ps;从jdk7.0开始,switch——case支持字符串表达式以及取消default后不能执行的功能。
1.switch-case和break常常结合使用实现分支功能
2.switch-case在实现分支功能时和if-else语句的主要区别在于
switch-case结构的效率更高,结构更加清晰