判断语句

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的值.

原文地址:https://www.cnblogs.com/it-xiaoBai/p/8080514.html