📜  整数类 |番石榴 |Java(1)

📅  最后修改于: 2023-12-03 14:55:01.819000             🧑  作者: Mango

整数类 | 番石榴 | Java

简介

整数类是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中,可以使用不同的进制表示整数,包括二进制、八进制、十进制和十六进制。

表示二进制数时,需要在数字前面添加 0b0B;表示八进制数时,需要在数字前面添加 0;表示十六进制数时,需要在数字前面添加 0x0X

在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 四种,分别对应不同的存储空间和取值范围。在进行类型转换时,需要谨慎使用,以避免精度损失或溢出。在表示整数时,可以使用不同的进制,包括二进制、八进制、十进制和十六进制。对整数进行位运算时,可以使用按位与、按位或、按位异或、按位取反、左移运算和右移运算。