数据类型
(1)java语言分为两种数据类型
A:基本数据类型
B:引用数据类型(类,接口,数组)
(2)基本数据类型
A:区别 在内存中分配的空间大小不同,从而导致它表示的数据范围不同
B:4类8种
**整数
***byte 占1个字节//8个开关,8个二进制位 1byte = 8bit
***short 占2个字节
***int 占4个字节0
***long 占8个字节 其后加L或l标识
**浮点数
***float 占4个字节 其后加F或f标识3.3f 2^63
//32个二进制位
//1位符号位
//8位代表指数位
//23位尾数位0.9999999
// 0000000000 - 111111111 0 - 255
// IEEE 754 0 255 特殊的值
// 1 - 254 - 127
// 1 - 127 = -126
// 254 - 127 = 127
***double 占8个字节
**字符
***char 占2个字节 0 - 65535
**布尔型
***boolean This data type represents one bit of information,
***but its "size" isn't something that's precisely defined.
***这个数据类型代表一个比特的信息,但它的“大小”不是精确定义的东西.
***true,false
C:默认情况下:
**整数是int类型
**浮点数是double类型
(3)数据参与运算
A:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则
**容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型;数据类型按容量大小排序为:
***byte,short,char->int->long->float->double
***byte 和 short不能和char之间互相转换,byte可以直接赋值给short,但是
他们三者在计算时首先会转换为int类型
**容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,
但可能造成精度降低或溢出;使用时要格外注意。
**有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,
然后再进行计算。
B:强制转换符
**格式:(数据类型)(要被转换的数据) byte b = (byte)(300);
//00101100
C:字符型参与运算
**首先会去找对应字符的unicode码值。然后运算。
**char 类型取值范围0~2(16)-1,我就有了一个问题?能不能把整数直接赋值给char类型的变量
D:布尔型参与运算char ch = 10;byte b = 10;char ch = '';
**不能参与运算
E:字符串参与运算 |
|