目录
一、基本数据类型(JAVA中数据类型的范围与运行JAVA代码的机器无关)
整数型
浮点型
布尔型
二、基本数据类型的转换
三、进制表示
一、基本数据类型(JAVA中数据类型的范围与运行JAVA代码的机器无关)
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
整数型
1)byte:
- byte 数据类型是8位、有符号的,以二进制补码表示的整数;
- 最小值是 -128(-2^7);
- 最大值是 127(2^7-1);
- byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
例子:byte a = 100,byte b = -50。
2)short:
- short 数据类型是 16 位、有符号的以二进制补码表示的整数
- 最小值是 -32768(-2^15);
- 最大值是 32767(2^15 - 1);
- Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
例子:short s = 1000,short r = -20000。
3)int:
- int 数据类型是32位、有符号的以二进制补码表示的整数;
- 最小值是 -2,147,483,648(-2^31);
- 最大值是 2,147,483,647(2^31 - 1);
- 一般地整型变量默认为 int 类型;
例子:int a = 100000, int b = -200000。
4)long:
- long 数据类型是 64 位、有符号的以二进制补码表示的整数;
- 最小值是 -9,223,372,036,854,775,808(-2^63);
- 最大值是 9,223,372,036,854,775,807(2^63 -1);
- 这种类型主要使用在需要比较大整数的系统上;
例子: long a = 100000L,Long b = -200000L。(必须加上后缀L或l)
浮点型
1)float:
- float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
- float 在储存大型浮点数组的时候可节省内存空间;
- 定义float类型时数值后需带f
例子:float f1 = 234.5f。
2)double(浮点数的默认类型):
- double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
- 浮点数的三个特殊值:
Double.NEGATIVE_INFINITY 负无穷
Double.POSITIVE_INFINITY 正无穷
Double.NaN 非数
布尔型
boolean:
- boolean数据类型表示一位的信息;
- 只有两个取值:true 和 false;
- 这种类型只作为一种标志来记录 true/false 情况;
字符型
char:
- char类型是一个单一的 16 位 Unicode 字符;
- 最小值是 \u0000(即为 0);
- 最大值是 \uffff(即为 65535);
- char 数据类型可以储存任何字符;
例子:char letter = 'A'。
二、基本数据类型的转换
自动类型转换:容量小的数据类型在计算时自动转化为容量大的数据类型
1)byte、char、short类型间不会相互转换,他们三者计算时会转换为int类型;
不能对boolean类型进行类型转换; 不能把对象类型转换成不相关类的对象。
2)多种类型的数据混合运算时,系统首先将所有数据转换为容量最大的数据类型;
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
3) 转换过程中可能导致溢出或损失精度
4)浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
5)基本数据类型的数据和字符串类型连接运算时,基本类型的值将自动转化为字符串类型
强制类型转换:
① 条件:转换的数据类型必须是兼容的
② 格式:(type) value type是要强制类型转换后的数据类型
三、进制表示
十六进制:前缀 0x 或 0X
八进制:前缀 0