Java 条件语句 - if…else/switch case 语句

一.条件语句 - if…else

一个 if 语句包含一个布尔表达式和一条或多条语句。

语法

if 语句的语法如下:

选择结构:
			if..else
			switch..
		
		单选泽|单分支:
			if(条件表达式){
				语句体;
			}
			执行流程:
				1.条件表达式:值为boolean类型的表达式 true,fasle
				2.如果值true,执行{}中的语句体
				  如果值false,不执行语句体,直接跳过if的结构
		双选泽|双分支:
			if(条件表达式){
				语句体1;
			}else{
				语句体2;
			}
			如果满足条件执行语句体1,不满足条件执行语句体2
			如果是这种双选择结构,肯定有结果
		多选泽|多分支:
			if(条件表达式1){
				语句体1
			}else if(条件表达式2){
				语句体2
			}else if(条件表达式3){
				语句体3
			}
			....
			else{
				语句体n;
			}
			
		如果语句体只有一句,前后的{}可以省略
		如果if整体结构,存在一个单独的没有条件的else{} 整个if结构肯定有结果,否则可能不满足条		件就没有执行的语句体
		
		if和条件运算符选择:
			1.条件运算符肯定有结果,if结构可能没有结果
			2.多个条件使用if比较简单,条件运算符需要使用逻辑运算符|进行条件运算符的嵌套
			简单的使用条件运算符,复杂的使用if结构

实例:

//获取三个随机数中的最大值 要求:使用if语句嵌套
		
		if(a>b && a>c){
			System.out.println(a);
		}else if(b>c){
			System.out.println(b);
		}else{
			System.out.println(c);
		}

二.switch case 语句

语法

switch case语句的语法如下:

switch语句:定值判断
		switch(表达式){
			case 值1:
				语句体1;
				break;
			case 值2:
				语句体2;
				break;
			....
			default:
				语句体;
				break;
		}
注意: 表达式: 一般为变量|表达式|定值(不使用)

byte,short,char,枚举(1.5),字符串(1.7)

switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。


case:表达式的结果需要与case后的值进行判断,如果满足条件就执行后语句体,如果不满足条件,继续向下面的case进行判断
break:结束swtich,防止case穿透:如果满足条件的case后的语句体后没有break,下面的case不再判断.直接执行他们的语句体,直到遇到下一个break,或者switch的结束才结束
default: 与if的else很像,都是以上case 都满足,执行default中的内容可以写在switch语句的任何位置,一般放在最后,放在最后break可以省略,如果放在其他位置省略break会发生case穿透

实例:

public class Demo{
	/**主方法*/
	public static void main(String[] args){
        char a=99;
        switch(a){
            default:
            	System.out.println("其他字符");
            case 'a':
            	System.out.println("a");
            	break;
            case 'b':
            	System.out.println("b");
            	break;
        }
        //--------------------------------------------------------------
        //使用switch进行定值判断 
        boolean b=false;
        switch(b+""){      //因为接受不了布尔类型,让其变为字符串类型进行接收
			 case "true":
				System.out.println("true");
				 break;
			 case "false":
				System.out.println("false");
				 break;
		 }
		 //--------------------------------------------------------------
		 //根据月份输出季节 利用穿透
		 int month=10;
		 switch(month){
			 case 3:
			 case 4:
			 case 5:
				System.out.println(month+"月是春季");
				 break;
			 case 6:
			 case 7:
			 case 8:
				System.out.println(month+"月是夏季");
				 break;
			 case 9:
			 case 10:
			 case 11:
				System.out.println(month+"月是秋季");
				 break;
			 case 12:
			 case 1:
			 case 2:
				System.out.println(month+"月是冬季");
				 break;
			 default:
				System.out.println("月份不符合格式");
		 } 
     }
}