1.在java中一共有8种基本类型:
4种整型、2种浮点型、1种用于表示Unicode编码的字符单元的字符类型char、1种用于表示真值的boolean类型
2.整型:
int 4字节 -2 147 483 648~2 147 483 647
short 2字节 -32 768~32 767
long 8字节 -9 223 372 036 854 775 808~9 223 372 036 854 775 807
byte 1字节 -128~127
java没有任何无符号形式的整型
3.浮点类型
float 4字节
double 8字节
double表示的数值精度是float的两倍
浮点数值计算都遵循IEEE 754规范。
IEEE 754标准中规定float单精度浮点数在机器中表示用 1 位表示数字的符号,用 8 位来表示指数,用23 位来表示尾数,即小数部分。对于double双精度浮点数,用 1 位表示符号,用 11 位表示指数,52 位表示尾数,其中指数域称为阶码。
对于溢出和出错情况有三个特殊的浮点数值:
正无穷大(用常量Double.POSITIVE_INFINITY表示)
负无穷大(用常量Double.NEGATIVE_INFINITY表示)
NaN(用常量Double.NaN表示)
浮点数值不适用于无法接受舍入误差的金融计算,应该使用BigDecimal类。
4.Unicode:
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode Character Table(入口在这里) 包含常见语言的字符和可打印的符号字符,字符提供了 HTML 代码,名称/描述和相应的打印符号。
例如:"\u0041" == "A"等同于(char)65 == 'A'也等同于(char)0x41 == 'A'
java SE 5.0开始,码点是指与一个编码表中的某个字符对应的编码值。例如:U+0041就是A的码点
Unicode其实就是\u+十六进制来代表所有的字符
Unicode的码点分为17个代码级别:第一个代码级别称为基本的多语言级别,码点从U+0000到U+FFFF,其中包括经典的Unicode代码;其余16个级别码点从U+10000到U+10FFFF
UTF-16编码采用不同长度的编码表示所有Unicode码点。
5.char类型:
char类型用于表示单个字符,字面量值要用单引号括起来,范围从\u0000到\uffff
6.boolean类型:
两个值:false和true
整数型和布尔型不能相互转换