1、Java是一种强类型的编程语言,在定义变量时,必须声明变量的类型,在为变量赋值时,必须赋予和变量同一种类型的值。
2、在Java中数据类型分为两种,即基本数据类型和引用数据类型,如下图
3_1.png
8种数据类型是Java内嵌的,在任何操作系统中都具有相同的大小和属性,而引用数据类型是在Java程序中自己定义的变量类型。
3、整数类型变量:用来存储整数数值。Java中为了给不同大小的整数合理分配内存空间,定义了四种不同类型的整数:字节型(byte)、短整型(short)、整型(int)、长整型(long),分别为1字节、2字节、4字节、8字节。在为一个long类型变量赋值时需要注意一点,所赋值的后面要加上L或l,如果未超出int型的取值范围可以省略。
4、浮点类型变量:用来存储小数数值。分为float和double,double表示的数值比float的更精确。float占四个字节,double占8个字节。
5、字符类型变量:char表示,占两个字节。可以为它赋值'a',也可以赋值0~65535的整数,它会自动转化为对应的字符。
6、布尔类型变量:在Java中用boolean表示,该类型的值只有两个,true或者false。
7、类型转换,分为自动类型转换和强制类型转换。
自动类型转换:又叫隐式类型转换,实现自动类型转换满足两个条件,一个是两种数据类型彼此兼容,另一个是目标类型的取值范围大于源类型的取值范围。
(1)、整数类型之间的转换:占用字节少的整数类型可以转换为占用字节多的类型。另外char类型占用两个字节可以转换为int和long型整数表示。
(2)、整数类型赋值给float类型:不高于四个字节的整数类型byte、short、int、和字符类型char可以赋值为float类型。
(3)、其他类型转换为double类型:byte、char、short、int、long、float都可以赋值给double类型。
强制类型转换:又叫显式类型转换。当两种类型不兼容或者是目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要强制类型转换。
8、表达式类型自动提升:
byte b1 = 3;
byte b2 = 4;
byte b3 = b1+b2;
这样的运算会编译报错,原因是表达式b1+b2运算期间,变量b1和b2都被自动提升为int型,表达式的运算结果也就成了int型,这时再赋值给int型的变量就会报错,需要强制类型转换。修改为byte b3 = (byte)b1+b2;
9、Java基本数据类型所占字节数。
其中,boolean类型所占存储空间的大小没有明确指定,仅定义为能够取字面值true和false。基本类型具有的包装器类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型。
q_p.jpg
网友评论