判断语句
If判断的第一种格式
1):if判断
If(布尔值表达式 / 布尔值变量{
}else{
} // 标记的这一块根据需求填写,并非一定要写else.
If(Boolean变量) if里面的判断是判断的结果为真还是假.判定为真则输出if{里面的值}否则则运行else(里面的值);
2):if第一次判断为false时,进行在判断:
If(布尔值表达式或布尔值变量){ // 当布尔值为false时
}else if(布尔值表达式 / 布尔值变量){
}else if(布尔值表达式 / 布尔值变量){
}else{
}
If(){}else if(){}嵌入式判断:直到判断的布尔值为真(true)或者直到else才结束当前判断.当然最后的else并非是要一定存在的.
3): switch判断
Switch(整型表达式){ //switch判断里面的表达式支持哪几种数据类型呢 (整形表达式实质上只支持int类型)
1): byte short int char string 这几个基本数据类型.
2): byte short int char 以及对应的包装类(因为Java1.5开始自都拆箱和装箱)
3):char 判断的是 char对应的 ASCII值。(可参见变量类型定义里面的ASCII表)
4):String 判断的是 字符串对应的 哈希值 。可尝试输出String a = “123”;
System.out.println(a.hashCode());
5):枚举类型:Weekday为枚举数据类型
编译前:
编译后:
通过反编译发现,实际判断的是枚举数据类型的序号。
Case 整型表达式:
Break; //如果不加break;当switch(整形表达式)等于case后面的整形表达式,则会 先输出case后面的值,然后继续往下输出,直到遇到break才结束.
Case 整型表达式1:
Break;
Case 整型表达式2:
Break;
......
Default: // 当switch里面的表达式跟case后面的表达式没有一个匹配的时候,则输出 default后面的值:
Break;
}
此处遇到一个相对于刁钻的题还需注意:
请问控制台输出的结果是什么?
正确答案:输出的结果为:判断输出错误
i = 1
i = 2
i = 3
题意分析:switch(i--) i-- 先赋值,后自减,所以switch判断的i的值为4,而不是3.所以直接输出default后面的值, 因为default和case1,2后面都没有加break;所以输出所以输出结果为:default后面的值 case 1 case 2 case 3的值.