一、类型转换
//题1:以下代码有什么错?
short s1 = 1;
s1 = s1 + 1;
//答:前者是定义short类型s1,后者会进行自动类型转换,变为int,但还是用short类型s1接收,会导致类型转换错误。
//题2:以下代码有什么错?
short s2 = 2;
s2 += 2;
//答:+=是Java中的运算符,编译器会进行特殊处理,基于原基础上增加值,因此可以正确编译。
二、字符集
//题1:char类型能否存储汉字?
//答:char类型使用Unicode编码,Unicode字符集包含汉字,因此可以存储汉字。
注:如果某个生僻字不包含在该字符集中,则无法储存。
三、switch使用
//题1:switch能否作用在byte上?
//答:byte存储范围小于int,可以进行隐式转换,因此可以。
//题2:switch能否作用在long上?
//答:long存储范围大于int,不能进行隐式转换,只能强制转换,所以不能。
//题3:switch能否作用在string上?
//答:1.7版本之前不可以,1.7版本之后可以。
四、基本类型与引用类型的区别
//题1:基本数据类型与引用数据类型区别
//答:
//①基本数据类型存放在栈上;引用数据类型存放在堆内存中,栈上存放是堆上的引用地址。
//②基本类型是值比较;引用类型是引用地址比较。
五、临界值
//题1:是否存在x>x+1?
//答:
//①基本数据类型存放在栈上;引用数据类型存放在堆内存中,栈上存放是堆上的引用地址。
//②基本类型是值比较;引用类型是引用地址比较。