📅  最后修改于: 2023-12-03 14:55:01.819000             🧑  作者: Mango
整数类是Java中的八种基本数据类型之一,用于表示整数,也就是没有小数部分的数值。Java中的整数类型分为四种:byte、short、int、long,它们分别对应不同的取值范围和存储空间。
在Java中,整数类型是以二进制补码的形式存储的,因此可以直接进行位运算。
本文将介绍Java中整数类型的相关知识,包括表示范围、类型转换、进制转换、位运算等内容。
Java中的四种整数类型的表示范围如下:
| 类型 | 存储空间 | 取值范围 | | ---------- | -------- | -------------------- | | byte | 1字节 | -128 ~ 127 | | short | 2字节 | -32768 ~ 32767 | | int | 4字节 | -2147483648 ~ 2147483647 | | long | 8字节 | -9223372036854775808 ~ 9223372036854775807 |
需要注意的是,Java中的整数类型采用的是有符号形式的表示方式,因此每种类型的取值范围都是对称的。
在Java中,如果要把一个数值类型转换成另一个数值类型,就需要进行类型转换操作,这可以通过强制类型转换实现。
强制类型转换的语法格式如下:
目标类型 变量名 = (目标类型) 原始值;
需要注意的是,在进行强制类型转换时,可能会造成精度损失或溢出,因此需要谨慎使用。
在Java中,可以使用不同的进制表示整数,包括二进制、八进制、十进制和十六进制。
表示二进制数时,需要在数字前面添加 0b
或 0B
;表示八进制数时,需要在数字前面添加 0
;表示十六进制数时,需要在数字前面添加 0x
或 0X
。
在Java中,也可以使用 Integer.parseInt()
方法将字符串转换为整数类型,并指定进制。
int a = 0b1010; // 二进制表示的数值 10
int b = 012; // 八进制表示的数值 10
int c = 10; // 十进制表示的数值 10
int d = 0xA; // 十六进制表示的数值 10
String num = "1010";
int e = Integer.parseInt(num, 2); // 二进制转换成整数
在Java中,可以对整数进行位运算,包括按位与、按位或、按位异或、按位取反以及左移运算和右移运算。
按位与的语法为 &
,表示对每个二进制位进行与运算;按位或的语法为 |
,表示对每个二进制位进行或运算;按位异或的语法为 ^
,表示对每个二进制位进行异或运算;按位取反的语法为 ~
,表示对每个二进制位进行取反运算。
左移运算的语法为 <<
,表示将二进制数向左移动若干位;右移运算的语法为 >>
,表示将二进制数向右移动若干位。
int a = 0b1100; // 二进制数 1100,即十进制数 12
int b = 0b1010; // 二进制数 1010,即十进制数 10
int c = a & b; // 按位与运算,结果为 0b1000,即十进制数 8
int d = a | b; // 按位或运算,结果为 0b1110,即十进制数 14
int e = a ^ b; // 按位异或运算,结果为 0b0110,即十进制数 6
int f = ~a; // 按位取反运算,结果为 0b0011,即十进制数 3
int g = a << 1; // 左移运算,结果为 0b11000,即十进制数 24
int h = a >> 1; // 右移运算,结果为 0b0110,即十进制数 6
Java中的整数类型包括 byte、short、int、long 四种,分别对应不同的存储空间和取值范围。在进行类型转换时,需要谨慎使用,以避免精度损失或溢出。在表示整数时,可以使用不同的进制,包括二进制、八进制、十进制和十六进制。对整数进行位运算时,可以使用按位与、按位或、按位异或、按位取反、左移运算和右移运算。