1.整数(默认类型为int)
如果数据大于Long类型的范围,可以使用BigInteger类
进制转换:
八进制:0开头
十六进制:0x或者0X开头
Integer.toBinaryString(); //转换为二进制
Integer.toOctalString(); //转换为八进制
Integer.toHexString(); //转换为十六进制
类型转换:
如果数据的大小没有超出要转化的类型表述范围,则可以自动转型。
Long类型:
long a = 123456L //L最好大写,否则容易和1混淆
2.浮点型(默认类型为double)
浮点数存在舍入误差,如要使用不产生舍入误差的精确数字,需要使用BigDecimal类
在比较数字大小时,避免使用浮点型
e的写法:
314e-2 = 3.14 //表示314*10^(-2)
float用法:
float a = 3.14F //F表示浮点常量为float类型
3.字符
//转义字符,用于输出 ' 等特殊字符
类型转换:
容量小的数据类型可以自动转换为容量大的数据类型。
当一个数据类型强制转换为另一个类型,并且超出目标的表述范围,就会被截断成一个完全不同的值(无意义的值)。
当两种类型的数据进行二元运算符(+-*、%),都会出现类型提升的类型,自动转换为类型容量大的数据类型
Long a = 70*60*24*365*70; //错误,int范围为21亿,应该转换为Long
Long a = (Long)(70*60*24*365*70); //错误,int范围为21亿,应该转换为Long
//因为70*60*24*365*70已经超出int范围,出现错误
Long a = 70L*60*24*365*70 //正确,最好将第一个数值转换为Long类型,如果将最后一个数值转换,可能前面的数值已经超出范围