1.Switch语句中的细节
1)注意事项:
a:default一般放在末尾,也可以放在任何位置,但是只有在和case值不匹配时才会执行.b:case后面只能跟常量,不能跟变量.d:在case语句中缺少break会出现case穿透现象.e:switch语句遇见break结束,或者程序默认执行到末尾结束.c:switch后面的表达式可以是byte,short,int,char等类型,JDk5以后,可以跟枚举类型,JDK7以后,可以 跟String类型(引用类型).
2) case穿透代码块:
/*现在使用switch实现:键盘录入月份的值,判断季节3,4,5 春季6,7,8 夏季9,10,11 秋季12,1,2 冬季
*/
import java.util.Scanner;
class SwitchTest{public static void main(String[] args){Scanner sc = new Scanner(System.in) ;System.out.println("请您输入一个数据:") ;int month = sc.nextInt() ;switch(month){//直接利用case穿透case 3:case 4:case 5:System.out.println("春季") ;break ;case 6:case 7:case 8:System.out.println("夏季") ;break ;case 9:case 10:case 11:System.out.println("秋季") ;break ;case 12:case 1:case 2:System.out.println("冬季") ;break ;default:System.out.println("不存在该月份!") ;break ; }}
}
2.强制类型转换
1)格式:目标数据类型 变量名=(目标数据类型)(变量值);
如:double a=1.0;int i=(int)a;
2)注意事项:
a.强制类型转换会损失精度,不要随便使用
b.byte,short,char三种不会相互转换,若参与运算,自动提升为int类型
c.扩展的赋值运算符里面隐藏了强制类型转换
3.算术运算符中++a与a++的区别
1)注意事项:
a++或者++a单独使用时,都是自增1,
若参与运算,++在a前面时,先自增,再参与运算,若++在a后面时,先参与运算,再自增。
2)代码块:
int a = 10;int b = 10;int c = 10;a = b++; //a= 10, b=11 , c = 10 ;c = --a; // a= 9 , b = 11,c = 9b = ++a; //a= 10 , b= 10 ,c = 9a = c--; //a = 9 , b = 10 ,c = 8