变量的数据类型
1、变量数据类型的分类
注意:String类型的数据不属于基本数据类型
2、整数类型
Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’(与int区分)
占用存储空间 | 表数范围 | |
---|---|---|
byte | 1字节=8bit位 | -128 ~ 127 |
short | 2字节(16位) | -215 ~215-1 |
int(默认类型) | 4字节(32位) | -231 ~ 231-1 |
long | 8字节(64位) | -263 ~ 263-1 |
3、浮点型
与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。浮点型常量有两种表示形式:十进制数形式:如:5.12 512.0f .512 (必须有小数点)科学计数法形式:如:5.12e2 512E2 100E-2
类 型 | 占用存储空间 | 表数范围 |
---|---|---|
单精度float | 4字节(32为) | -3.403E38 ~ 3.403E38 |
双精度double | 8字节(64位) | -1.798E308 ~ 1.798E308 |
4、字符型
char 型数据用来表示通常意义上“字符”(2字节)字符型常量的三种表现形式:(16位)字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = 'a'; char c2 = '中'; char c3 = '9'; Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’; // '\n'表示换行符直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。char类型是可以进行运算的。因为它都对应有Unicode码。
5、布尔型
boolean (忽略大小)类型适于逻辑运算,一般用于程序流程控制:if条件控制语句; while循环控制语句;do-while循环控制语句; for循环控制语句;boolean类型数据只允许取值true和false,无null。不可以0或非 0 的整数替代false和true,这点和C语言不同。
6、浮点类型在计算机底层的表示
7、基本数据类型的转换
自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:(大水杯和小水杯的案例)
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。 byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。
8、强制类型的转换
9、字符串类型String
String不是基本数据类型,属于对象类型或引用数据类型使用方式与基本数据类型一致。例如: String str = “abcd”;一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如:str = str + “xyz” ; 或 str += “xyz” ;int n = 100;str += n;注:当字符串与任何基本数据类型进行运算,都将串接为字符串类型(考虑优先级)。