条件语句if , switch
条件语句是用来判断给定的条件是否满足(判断true false)来执行不同结果的语句
if语句
基本结构:
if(单分支|单选择)
if(双分支|双语句)
if(多分支|多语句)
if(判断语句):
判断语句为true执行{ }中的语句
为false则跳出语句,
有else的情况执行else{ }中的语句
else:
存在else语句的情况 一定会有结果
如果if的语句体只有一句,前后的{ }
可以省略(可以看做一个隐形的{ })
作用域判断
switch语句
基本结构
switch()中的变量类型:
byte
,short
,int
,char
,jdk1.5新增枚举
,jdk1.7新增字符串
case:
switch()中的变量和case进行比较,如果相同则执行case相对应的执行语句
break:
结束 switch语句。没有break会发生case穿透
case穿透:
(执行本语句中的执行语句后直接执行下一个case中的执行语句 再看是否有break;)
一些时候可以合理利用case穿透
default:
相当于if中的else,一般在最后,位置也可以不放在最后 放在最后可以省略break;
if和switch区别
if 可以做区间判断
和定值判断
switch 只能做定值判断
简单示例
/**
* 测试if else
* 测试switch
*/
public class IfAndSwitchTest {
public static void main(String[] args) {
int i = 25;
int j = 18;
// if
if(i>20)
System.out.println("i大于20");
//if else
if(j > 20){
System.out.println("j大于20");
}else{
System.out.println("j不大于20");
}
//if else if else
if(i >= 40){
System.out.println("i大于等于40");
}else if( i >= 30){
System.out.println("i大于等于30且小于40");
}else{
System.out.println("i小于30");
}
//switch
switch (i) {
case 20:
System.out.println("i等于20");
break;
case 24:
System.out.println("i等于24");
break;
case 25:
System.out.println("i等于25");
break;
default:
break;
}
}
}
i大于20
j不大于20
i小于30
i等于25