数据类型的概述和分类
Java语言是静态编译型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
在定义变量时必须声明变量的类型,在为变量赋值是必须赋予和变量同一种类型的值。否则程序会报错。
在Java中所有的整数常量默认是int型,所有的小数常量默认是double型。
整数类型变量
整数类型变量用于储存整数数值,即没有小数部分的值。,有二进制,八进制,十进制,十六进制4种表现形式。
进制:就是进位制,是人们规定的一种进位方法。对于任何一种进制,X进制,就表示某一位置上的数运算是逢X进一位。二进制就是逢二进一,以此类推。
- 二进制:由数字0和1组成的数字序列。在JDK1.7中允许使用字面量来表示二进制,前面要以0b或0B开头,目的是为了和十进制进行区分
- 八进制:以0开头,并且其后由0~7范围内的整数组成的数字序列,如0432
- 十六进制:以0x或0X开头,并且其后由0 ~ 9,A ~ F组成的数字序列,如0xed13
为了给不同大小范围的整数合理的分配存储空间,整数分为4种不同的类型:字节型(byte),短整型(short),整形(int),长整型(long)。
整数类型 | 字节 | 比特位 | 取值范围 | 默认值 |
---|---|---|---|---|
byte | 1字节 | 8位 | -128(-2^7) ~ 127(2^7-1) | 0 |
short | 2字节 | 16位 | -32768(-2^15)~ 32767(2^15 - 1) | 0 |
int | 4字节 | 32位 | -2,147,483,648(-2^31)~ 2,147,483,647(2^31 - 1) | 0 |
long | 8字节 | 64位 | -9,223,372,036,854,775,808(-2^63) ~ 9,223,372,036,854,775,807(2^63 -1) | 0L |
在定义这4种变量时,要注意变量的取值范围,超出相应范围就会出错。
浮点类型变量
浮点类型变量用来储存小数数值。在Java中,浮点数类型分为两种:单精度浮点类型(float)和双精度浮点类型(double)。double型所表示的浮点数比float型更精确。
浮点类型 | 字节 | 比特位 | 默认值 |
---|---|---|---|
float | 4字节 | 32位 | 0.0f |
double | 8字节 | 64位 | 0.0d |
在默认情况下小数都被看做double型,若使用float型小数,需在后面添加F或f。
float f = 3.14f;
double d = 3.1415926;
字符类型变量 char
字符类型变量用于储存一个单一字符,在Java中用char表示。每个char类型的字符都会占用2个字节。在给char类型的变量赋值时,要用单引号 ‘’ 把字符括起来,也可以将char类型的变量赋值为\u0000~\uffff(即0 ~ 65535)范围内的整数,计算机会自动将这些整数转换为所对应的字符,如97对应的字符为’a’。
char 的默认值为:\u0000。
char和数字运算的结果为数字
char x = 'a';
由于字符a在Unicode中的排序位置是97,因此允许上面的语句可以写成:
char x = 97;
布尔类型变量 Boolean
布尔类型又称逻辑类型,布尔型变量用来储存布尔值,在Java中用boolean表示,该变量的变量只有两个值,true和false。通常用于逻辑运算和流程控制
布尔值不能与整数类型进行转换
boolean b;
boolean b1,b2;
boolean b3 = true;
String类型
String属于引用数据类型,是一个类,表示字符串。字符串都使用 " " 括起来,连接字符串使用 + 符号。