数据类型

来源:互联网 发布:日本历史经济数据 编辑:程序博客网 时间:2024/05/18 22:40

基本数据类型(4类8种,能自动装箱)

整形

byte(8 bit,1个字节 -128~127)

存储和传输容量的计量单位,字节。最早的PC机数据总线宽度是8(8根线)用8位表示一个字(c中char是一个字节)

表示方法1:byte b = 1;

注意:默认类型是int型,所以当b在[-128,127]之间时编译器不会报错。

例如:byte a = 1;byte b = 2;byte c;

c = a + 1; //会报错,相当于把int赋值给byte

c = a + b //会报错,相当于把int赋值给byte

short (16 bit, 2个字节)

short a = 1;

int b = a;//编译报错

注意:不可以显示的将范围大的数据类型赋值给范围小的数据类型

总结:可以将范围小的值赋给表示范围大的变量;但不能将表示范围大的值赋给表示范围小的变量,只能通过强制类型转换

范围大的强转成范围小的变量时:前面舍位

范围小的强转成范围大的变量时:前面补位   ,如是正数前面补位0,如是负数前面补位1.

int (32 bit,4个字节)

整形的默认类型

表示方法: int I = 1;

long (64 bit,8个字节)

表示方法1: long m = 1;

表示方法2: long m = 2l;

表示方法3: long m = 2L;

浮点型

float(32bit, 4个字节)

表示方法1:float f = 11.11f;

表示方法2:float f = 11.11F;

double(64bit,8个字节 )

浮点型的默认类型

表示方法1:double d = 11.11;

表示方法2:double d = 11.11D;

表示方法3:double d = 11.11d;

字符型

char(16 bit, 2个字节)

表示方法1:char c = ‘c’;表示一个字符

表示方法2:char c = 56;表示一个整数

布尔型

boolean(1 bit)

为了纪念英国数学家Boole-George,在逻辑运算(与或非,因果关系的运算)中有突出贡献

表示方法: boolean b =true/false;  

引用数据类型

类(class)

包装类(能自动拆箱)

Byte
Short
Integer

自动装箱时 ,integer有一个缓存,介于-128~127之间的整数装箱时会用缓存的内容,超过范围会生成新的对象,所以比较integer时要注意 integer == integer

Long
Float
Double
Character
Boolean

String类

其他类

接口(interface)

数组(array)


面试题:

1. int 和 Integer 有什么区别?

Int是java的原始数据类型,Integer是java为int提供的封装类。

2. short s1 = 1; s1 = s1 + 1;有什么错?

s1+1运算结果是int型,需要强制转换类型。

3. char型变量中能不能存贮一个中文汉字?

在C语言中,char类型占1一个字节,而汉子占2个字节,所以不能存储。

在Java中,char类型占2个字节,而且Java默认采用Unicode编码,以个Unicode码是16位,所以一个Unicode码占两个字节,Java中无论汉字还是英文字母都是用Unicode编码来表示的。所以,在Java中,char类型变量可以存储一个中文汉字。

4.Java支持的数据类型有哪些?什么是自动拆装箱?

Java语言支持的8中基本数据类型是:byte short int long float double boolean char

自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。



原创粉丝点击