1. 八种基本数据类型
2. 装箱和拆箱
自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。
比如:
把 int 转化成 Integer,double 转化成 Double,等等。反之就是自动拆箱。
原始类型: boolean,char,byte,short,int,long,float,double
封装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
3. String 转出 int 型,判断能不能转?如何转?
答:可以转,得处理异常 Integer.parseInt(s) 主要为 NumberFormatException:
1)当你输入为字母时,也就是内容不是数字时,如 abcd
2)当你输入为空时
3)当你输入超出 int 上限时
另:Long.parseLong("123")转换为 long
4. short s1 = 1; s1 = s1 + 1编译是否有错;有什么错? short s1 = 1; s1 +=1编译是否有错;有什么错?
1) 对于 short s1=1;s1=s1+1 来说,在 s1+1 运算时会自动提升表达式的类型为 int,
那么将 int 赋予给 short 类型的变量 s1 会出现类型转换错误。
2) 对于 short s1=1;s1+=1 来说 +=是 java 语言规定的运算符,java 编译器会对它
进行特殊处理,因此可以正确编译。
5. int与Integer的区别
1) Integer是int的包装类,int则是java的一种基本数据类型
2) Integer变量必须实例化后才能使用,而int变量不需要
3) Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
4) Integer的默认值是null,int的默认值是0
6. 字节字符区别
字节是存储容量的基本单位,字符是数子,字母,汉子以及其他语言的各种符号。
1 字节=8 个二进制单位:一个一个字符由一个字节或多个字节的二进制单位组成。
7. java 基本类型与引用类型的区别
基本类型保存原始值,引用类型保存的是引用值(引用值就是指对象在堆中所处的位置/地址)
8. char可以储存一个汉字么
可以。java采用unicode编码,2个字节(16位)来表示一个字符,无论是汉字还是数字字母,或其他语言。
char 在java中是2个字节, 所以可以存储中文
引申:utf-8跟unicode是不一样的。utf-8 的汉字占3个字节,gbk 是两个
以utf-8为例,utf8是一个变长编码标准,可以以1~4个字节表示一个字符,而中文占3个字节,ascII字符占1个字节容3个字节,ascII字符占1个字节。