1、switch(){}结构中,括号中可使用的数据类型不能是( )。
A.long
B.int
C.short
D.float
switch的括号内只能是以下类型的表达式:
基本类型:byte、char、short、int,注意不能是long类型
引用类型:String常量串、枚举类型
所以选A和D
2、看下面这样一段程序
public static void main(String[] args) {
long b = 10;
int a = 10;
a = a - b;
System.out.println(a);
}
这样的程序在java中是不允许的,因为后面a-b会进行类型提升,整体提升成long类型,而long类型的值是不能赋值给int类型的变量,要进行类型转换,idea会提醒你进行类型转换,
改成下面这两种写法就可以了,实际上下面的两种写法是等价的,在这个例子中,a = (int) (a - b);就等价于a -= b;编译器会进行自动转换。
public static void main(String[] args) {
long b = 10;
int a = 10;
a = (int) (a - b);
System.out.println(a);
}
public static void main(String[] args) {
long b = 10;
int a = 10;
a -= b;
System.out.println(a);
}
3、java里只有无符号右移 >>>、左移 <<和右移 >>这三种移位运算符。