1.1:用于一个条件的判断,如果满足就会执行
语句格式:
if(判断表达式){
条件表达式为true的时候执行的内容
}
案例: 某公司应聘员工要求必须要有两年工作经验以上的人员才能投寄简历。
public class Test{
public static void main(String [] args){
int work=3;//小张
if(work>2){
System.out.println("可以投寄简历");
}
}
}
1.2:用于两种条件的判断
语句格式:
if(){
满足条件执行的语句
}else{
不满足条件执行的语句}
案例:某公司应聘员工要求必须要有两年工作经验以上的人员才能投寄简历,不满足的给个友好的提示。
public class Test{
public static void main(String [] args){
int work=3;//小张
if(work>2){
System.out.println("可以投寄简历");
}else{
System.out.println("不满足投寄条件");
}
}
}
案例:我们定义一个年份来判断是否是闰年
分析:1.定义变量存放年份信息;2.判断是否符合闰年的规则;3.输出打印结果
闰年:可以被4整除,不能被100整除,或者可以被400整除
public class Test{
public static void main(String [] args){
int year = 2000;
if(year %4==0 && year %100!=0 || year %400==0){
System.out.println("闰年");
}else{
System.out.println(year+"不是闰年");
}
}
}
1.3:用于多种条件的判断
语句格式:
if(){
满足条件执行的语句
}else if{
或者满足另一个条件执行的语句
}else{
不满足执行的语句
}
案例:输入数字1-7,对应输出是星期几
public class Test{
public static void main(String [] args){
int day = 1;
if(day==1){
System.out.println("周一");
}else if(day==2){
System.out.println("周二");
}else if(day == 3){
System.out.println("周三");
}else if(day == 4){
System.out.println("周四");
}else if(day == 5){
System.out.println("周五");
}else if(day == 6){
System.out.println("周六");
}else if(day == 7){
System.out.println("周日");
}else{
System.out.println("不在一周的数字范围内");
}
}
}
1.4:if语句的总结
注意事项:if
语句可以单独使用,else
不能单独使用。if
语句后面不能加分号,一旦加了分号,就表示和后面没有任何关系了。if
或者else
语句,只有一句输出的时候,大括号可以忽略不写,但是不建议使用。if(work >2 && age<35)//满足
System.out.println(“投寄简历”);
else //不满足
System.out.println("不满足条件");
if
语句可以嵌套多个if
和else
语句,次数没有限制。System.out.println("work>2 && age<35 ? "投寄简历":"不满足条件")
我们可以用这样的三元表达式来简化if else
语句,但是弊端因为三元表达式是一个运算符,所以必须要有结果。如果有多个嵌套,建议使用if else
。语句格式:
switch(表达式){
case 值1:执行语句;
case 值2:执行语句;
....
default:执行语句;
break
}
语句结构体分析:
byte、short、int、char(jdk6.0后的String)
类型case
后面的值只能唯一,不能重复,只能是常量break
一旦遇到,结束switch
语句case
执行语句后面不写break
,会一直执行下去,直到遇到break
,或者程序结束为止default
语句块,可以在程序的任意位置,它的执行的顺序是先判断所有的case
,当所有的case
都不满足,才会执行default
语句,建议放在最后case 1: case 2: case 3
System.out.println("......");
break;
案例:根据数字判断今天是周几
public class Test{
public static void main(String [] args){
int day = 1;
switch(day){
case 1 :System.out.println(“周一”)
break;
case 2 :System.out.println(“周二”)
break;
case 3 :System.out.println(“周三”)
break;
case 4 :System.out.println(“周四”)
break;
case 5 :System.out.println(“周五”)
break;
case 6 :System.out.println(“周六”)
break;
case 7 :System.out.println(“周日”)
break;
default:System.out.println(“不在一周范围内”);
break;
}
}
}
案例:判断春夏秋冬
可以直接留一个输出,保留break;这样可以用到case
的穿透性和作用域。
public class test1 {
public static void main(String[] args) {
int m=3; //要判断的月份
switch (m){
case 3: case 4: case 5: //switch的穿透性
System.out.println("春天");
break;
case 6: case 7: case 8:
System.out.println("夏天");
break;
case 9: case 10: case 11:
System.out.println("秋天");
case 12: case 1: case 2:
System.out.println("冬天");
default
break;
}
}
}
这里运用了switch
的穿透性,即一个case
中没有break
结束的话程序会一直执行下去。
相同点:都可以用于分支结构;
不同点:使用场景不同;if
主要用在判断数据区间的时候,switch
主要用在判断值不多,并且值类型为byte、short、int、char、String
类型的时候。
如果两种情况都可以使用,建议使用switch