1.1.概述
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
1.2.数据类型各个字节
- 整数类型:
- byte[1]
- short[2]
- int[4]
- long[8]
- 浮点类型:
- float[4]
- double[8]
- 字符型:
char[2]
注意:String是类,属于引用数据类型
- 布尔型:
boolean[1],存放true,false
1.3.整数类型
- Java各整数类型有固定的范围和字段长度,不受具体操作系统的影响,用来保证Java程序的可移植性
- 整型常量默认为int型,long型常量后加 ‘l’ 或 ‘L’
1.4.浮点类型
- 与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体操作系统的影响
- 浮点型常量默认为double型,声明float型常量,须后加 ‘f’ 或 ‘F’
- 浮点型常量两种表示形式
- 十进制数形式:5.12、5.12of、.512(必须有小数点)
- 科学计数法形式:5.12e2(5.12*10的2次方)、5.12E-2(5.12/10的2次方)
注意:
1.5.字符类型
字符编码表:
ASCII:
一个字节表示,128个字符,实际上一个字节可以表示256个字符,只用了128个
Unicode:
固定大小的编码,使用两个字节来表示字符,字母和汉字统一都是占2个字节,浪费空间
utf-8:
大小可变的编码,字母使用1个字节,汉字使用3个字节
gbk:
可以表示汉字,字母使用1个字节,汉字使用2个字节
通过与utf-8对比,utf-8汉字占3个字节,说明utf-8存的汉字更多,所以有时候utf-8转gbk失败
gb2312:
可以表示汉字,gb2312 < gbk
big5码:
繁体中文,中国台湾,中国香港
1.6.基本数据类型转换
- byte,short 和 char 之间不会相互自动转换
- byte,short 和 char 他们三者可以计算,在计算时首先转换为int类型。
- boolean 不参与转换
1.7.基本数据类型和String类型的转换
- 基本类型转String类型
将基本类型的值 + “” 即可
例如:
double n1 = 3.14;
String str = n1 + "";
- String类型转基本数据类型
通过基本类型的包装类调用parseXX方法即可
例如:
Interger.parseInt("123");
Double.parseDouble("123.1");
Float.parseFloat("123.45");
Short.parseShort("12");
Long.parseLong("12345");
Boolean.parseBoolean("true");
Byte.parseByte("12");