Java是强类型语言,这意味着Java里面的变量在使用之前必须先声明类型。(有的语言不用声明类型可以直接使用的,但是用惯了强类型语言,那种弱类型语言总会让我觉得不习惯会出错的感觉)
Java里面有8种基本类型,4个是整型,2个是浮点型,1个是字符型(采用Unicode编码的字符),1个是布尔型。
整型指的是整数数字。
类型占用内存范围int4字节-2147483648~2147483647(刚超过二十亿)short2字节-32768~32767long8字节-9223372036854775808~9223372036854775807(九千亿亿)byte1字节-128~127注意:Java并不是只能表示这么大的数字,这里只是基本类型而已,超过这个范围不用基本类型就是喽。
int最常用,范围不够时试试long。short和byte主要应用于特定场合,如底层文件处理等。
Java里面,表示一个整数时,要考虑是用什么进制:
进制方法举例10默认数字12345616数字前面加0x或者0X0x1A、0XBA8数字前面加00102数字前面加0b或者0B、可以用下划线隔开0b1000_1010、0B0010_1100_0001注意:可以在一个数字后面加L或者l表示这个数字是long型的,如888L。
浮点型是包括小数的数字。
类型占用内存范围float4字节大约±3.40282347E+38F(6-7位有效数字)double8字节大约±1.79769313486231570E+308(15位有效数字)float–>单精度浮点型(需要末尾加F或者f才表示单精度) double–>双精度浮点型(默认的,也可以末尾加D或d表示双精度)
注意:仅可以用0x或者0X在前表示16进制的浮点数,并且不用e或E而用P或p,例如:0.125 = 2e-3 = 0x1.0p-3,p或P代表指的基数是2,怎么样,复杂吧?
注意:所有的浮点数计算符合IEEE754标准。下面有三个特殊情况:
正无穷大负无穷大NaN(不是数字)例如:1.0/0得到正无穷,-1.0/0得到负无穷,0/0或负数的平方根得到NaN。
注意:Float和Double类里都有这三个情况的静态变量。特别指出:不能用==来比较NaN,应该调用isNaN(x)方法来判断。
注意:浮点型数字计算是不精确的,如果需要精确计算小数,请采用BigDecimal类。
char字符型表示单个字符,用单引号括起来,如:‘A’、‘b’。同样的也可以采用Unicode编码来表示字符,如:‘\u03C0’表示 π。 请注意一些转移字符,如:‘\n’表示换行、‘\’表示反斜杠、’\”’表示双引号等。 Java里面可以用+操作符来连接两个字符串,下面这个就比较奇怪: “\u0022+\u0022” –> “”+”” (\u0022是”的Unicode编码) 还有一些关于Unicode的内容,我没看懂,囧。
boolean布尔型表示逻辑值,即true和false(对和错)。