if语句
基本if语句
语句格式:
if ( 关系表达式 ) {
语句体;
}
执行流程:
- 首先计算关系表达式的值。
- 如果关系表达式的值为true就执行语句体。
- 如果关系表达式的值为false就不执行。
- 继续执行后面的语句体。
案例:
当王粱上个月销售额大于10000元,并且这个月销售额大于10000元,或者上个月销售额不小于15000元时,主管奖励他。
//1.定义变量存储王梁上个月的销售额
int lastMonth = 12000;
//2.定义变量存储王梁这个月的销售额
int thisMonth = 12000;
if ((last>10000&&thisMonth>10000) ||last >=15000) {
System.out.println("主管奖励");
}
if-else语句
语句格式:
if ( 关系表达式 ) {
语句体1;
}else{
语句体2;
}
执行流程:
- 首先计算关系表达式的值。
- 如果关系表达式的值为true就执行语句体1。
- 如果关系表达式的值为false就执行语句体2。
- 继续执行后面的语句体。
案例:
使用条件选择语句判断一个变量的值是不是3的倍数,是的,则输出是3的倍数,否则输出不是3的倍数
int number = 3;
if (number%3==0) {
//如果number对3取余,余数为0,那么number就是3的倍数
System.out.println("是三的倍数");
}else {
System.out.println("不是三的倍数");
}
多分支if语句
语句格式:
if ( 判断条件1 ) {
条件1成立执行的语句;
}else if ( 判断条件2 ){
条件2成立执行的语句;
}else if ( 判断条件3 ){
条件3成立执行的语句;
……
else{
上面条件都不成立执行的语句;
}
执行流程:
- 首先计算判断条件1的值。
- 如果判断条件1的值为true就执行语句体1;如果值为false就计算判断条件2的值。
- 如果值为true就执行语句体2;如果值为false就计算判断条件3的值。
- ……
- 如果没有任何判断条件为true,就执行语句体n。
案例:
默认分数0-100.用A,B,C等级对学生的的成绩分类, 其中0 - 59是D, 60 – 69是C,70 – 89是B,90 – 100 是A等级
int grade =80;
if(grade>=90) {
System.out.println("A等级");
}else if (grade>=70) {
System.out.println("B等级");
}else if (grade>=60) {
System.out.println("C等级");
}else {
System.out.println("D等级");
}
if语句的嵌套
在if语句中再插入一个或多个if-else语句。
案例:
公司发年终奖,工龄满6个月才有年终奖,开发部奖励10万元,测试部奖励一辆车(默认只有开发部和测试部)。
int workAge = 6;
String dept = "开发部";
if (workAge>=6) {
if(dept.contentEquals("开发部")) {
System.out.println("奖励10万元");
}else {
System.out.println("奖励一辆车");
}
}else {
System.out.println("没有年终奖");
}
switch语句
语句格式:
switch (表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
……
default:
语句体n;
break;
}
格式说明:
- 表达式::将要匹配的值,取值为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String。
- case:后面跟的值是要和表达式进行比较的值(被匹配的值)。
- break:表示中断、结束的意思,用来结束switch语句。
- default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程:
- 把表达式的值,一次和case后面的值进行比较,匹配成功就会执行对应的语句。在执行的过程中,遇到break就会结束。
- 如果所有的case都不匹配,就会执行default里面的语句,然后程序结束。
案例:
String lv = "达标";
switch(lv) {
case "达标":
System.out.println("三等奖");
break;
case "出色":
System.out.println("二等奖");
break;
case "标兵":
System.out.println("一等奖");
break;
default:
System.out.println("炒鱿鱼");
break;
}
注意事项:
- case后面的值只能是常量,不能是变量。
- case后面给出的值不允许重复。
if和switch的区别:
- switch能实现的功能if一定能实现,但if能实现的功能switch不一定能实现。
- 如果要进行的判断是范围性的判断,建议使用if;
- 如果要进行的判断是固定值的匹配,建议使用switch。