Java基础--基本数据类型(整型)

时间:2023-01-20 15:50:34

Java是一种强类型语言,每个变量都必须声明其类型。

Java基础--基本数据类型(整型)

-------------------------------------------------------------------------------------------------------------

整数类型(byte,short,int,long)

1.byte

     占用存储空间:1个字节

     表示的范围:-128~127(一个字节是8位,每一位是2种状态,所以一共是2的8次方个数字,因为Java中是有负数的,所以范围是-128~127)

2.short

         占用存储空间:2个字节

       表示的范围:-327678~32767(一个字节是8位,每一位是2种状态,所以一共是2的16次方个数字,因为Java中是有负数的,所以范围是-2^15~2^15-1也就是)

3.int

       占用存储空间:4个字节
       表示的范围:大约正负21亿(一个字节是8位,每一位是2种状态,所以一共是2的32次方个数字,因为Java中是有负数的,所以范围是-2^31~2^31-1)

4.long

       占用存储空间:8个字节
       表示的范围:-2^63~2^63-1(一个字节是8位,每一位是2种状态,所以一共是2的64次方个数字,因为Java中是有负数的,所以范围是-2^63~2^63-1)

       注意:如果我们要表示更大的整数可以使用BigInInteger类。

                  在实际运用中如果要表示更大或者更小的数字时可以使用Java中的BigDecimal,BigDecimal用来对超过16位有效位的数进行精确的运算,BigDecimal创建的对象不能使用“+”、“-”、“*”、“/”等算术运算符直接运算,必须调用BigDecimal中相应的方法。详情请看javaAPI。

整形类型常量中的进制问题

表现形式:

       二进制:以0b开头,例如:0b1101。通常为了方便阅读可以在数字间加上下划线。(下划线分隔符的使用是jdk7.0的新特性)

       八进制:要求以0开头,例如:010。

       十六进制:要求以0x开头,例如:0xf。

进制转换:

       十进制转化为二进制:可以利用Integer.toBinaryString()方法。

       十进制转化为八进制:可以利用Integer.toOctalring()方法。

       十进制转化为十六进制:可以利用Integer.toHexString()方法。

       

        二进制转化为十进制:Integer.parseInt(str,2)

        八进制转化为十进制:Integer.parseInt(str,8)

        十六进制转化十进制:Integer.parseInt(str,16)

         其中str为String类型。

Java中的整型常数:

Java语言中的整型常数被默认为int类型。声明long型常量要加l或L(最好用大写,小写会被误认为数字1)

如果数据中的大小没有超过byte/short/char/的表示范围,数据通常可以自动转型。

例如:

byte  b1 = 100;//编译通过
byte b2 = 200;//编译失败
byte b3 =(byte) 200;//编译通过
100和200是一个整型常数,默认为int类型,b1和b2是一个byte类型,100没有超过byte的表示范围,所以自动转化100的类型为byte,从而编译通过。相反,200已经超过byte的表示范围,所以需要抢转类型,否则编译失败。