CodeGym /课程 /JAVA 25 SELF /整数:int 类型,int 类型的运算

整数:int 类型,int 类型的运算

JAVA 25 SELF
第 2 级 , 课程 1
可用

1. 更深入地了解 int 类型

如果你想在变量中存储 整数,应该使用 int 类型。

intInteger 的缩写(从英文“整数”而来),也就说明该类型用于存储整数。

int 类型的变量可以存储的整数范围大约是从 -20 亿+20 亿。更精确地说,是从 -2,147,483,6482,147,483,647

有趣的知识

这些看起来“不整”的数值与计算机内存的工作方式有关。

在 Java 中,int 类型占用 4 个字节的内存。每个字节由 8 个比特组成。每个比特只能取 2 个值——01。一个 int 含有 32 位,因此可以表示 4,294,967,296 个不同的取值。

这个范围的一半用于负数,另一半用于正数。于是就得到了从 -2,147,483,6482,147,483,647 的区间。

2. 创建 int 类型变量

int 类型用于存储整数。要在代码中创建能够存储整数的变量,需要使用如下语句:

int imya;
声明一个 int 类型变量

其中 imya 是变量名。示例:

命令 说明
int x;
创建一个整型变量 x
int count;
创建一个整型变量 count
int currentYear;
创建一个整型变量 currentYear

字母的大小写有区分:语句 int colorint Color 会声明两个不同的变量。

Int ColorINT COLOR 则会导致编译错误。int 是表示整型的关键字,只能用小写字母书写。

3. 变量声明的简写

如果需要在同一处声明很多相同类型的变量,可以使用简写:

int imya1, imya2, imya3;
同一类型多个变量的简写声明

示例:

命令 等效的简写
int x;
int y;
int z;
int x, y, z;
int count;
int totalCount;
int count, totalCount;
int day;
int month;
int year;
int day, month, year;

4. 赋值

要给 int 变量存入一个值,需要使用如下语句:

imya = znachenie;
给变量赋值

其中右侧的值可以是任意整型表达式。示例:

命令 说明
int a;
a = 5;
int b;
b = 2*1000*1000*1000;
变量中的值将是“20亿”
int c;
c = -10000000;
变量中的值将是“负一千万”
int d;
d = 3000000000;
无法编译,因为 3,000,000,000 大于 int 的最大值 2,147,483,647

5. 声明并初始化变量的简写

可以用一条语句同时完成变量的声明和赋值。这也是最常见的写法,因为变量通常在需要保存某个值时才会被声明。

语句如下:

int imya = znachenie;
声明并初始化变量的简写

示例:

命令 说明
int a = 5;
int b = 2*1000*1000*1000;
变量中的值将是“20亿”
int c = -10000000;
变量中的值将是“负一千万”
int d = 3000000000;
无法编译,因为 3,000,000,000 大于 int 的最大值:2,147,483,647

也可以在一行中声明多个变量。此时代码如下:

int imya1 = znachenie1, imya2 = znachenie2, imya3 = znachenie3;
多个变量的声明与初始化的简写

示例:

命令 说明
int a = 5, b = 10, c = a + b;
a 等于 5b 等于 10c 等于 15

6. 计算整数表达式

在赋值运算符(等号)右侧可以放任意表达式——由数字、变量和 +-*/ 组合而成。

也可以使用括号 ( )。在 Java 中与数学一致,先计算括号内的表达式,再计算外部。乘法和除法优先级相同,且高于加法和减法。

示例:

命令 说明
int a = (2 + 2) * 2;
变量中的值将是 8
int b = (6 - 3) / (9 - 6);
变量中的值将是 1
int c = (-2) * (-3);
变量中的值将是 6
int d = 3 / 0;
执行该语句时会发生错误,程序将终止。

表达式中也可以包含变量:

int a = 1;			// 变量 a 的值将是 1
int b = 2;			// 变量 b 的值将是 2
int c = a * b + 2;	// 变量 c 的值将是 4

更进一步,同一个变量可以同时出现在赋值运算符的左侧和右侧:

int x = 5;		// 变量 x 的值将是 5
x = x + 1;		// 变量 x 的值将是 6
x = x + 1;		// 变量 x 的值将是 7
x = x + 1;		// 变量 x 的值将是 8
x = x + 1;		// 变量 x 的值将是 9
x = x + 1;		// 变量 x 的值将是 10

这是因为在 Java 中,符号 = 并不是表示“相等”,而是一条指令:把 = 右侧表达式计算得到的值存入 = 左侧的变量。

7. 整数除法

在 Java 中,用 整数 除以 整数,结果总是 整数。余数会被丢弃,也可以说小数部分会被截断。

示例:

命令 除法结果 说明
int a = 5 / 2;
2.5 变量 a 的值将是 2
int b = 20 / 3;
6.6667 变量 b 的值将是 6
int c = -6 / 5;
-1.2 变量 c 的值将是 -1
int d = 1 / 2;
0.5 变量 d 的值将是 0

8. 整数取余(求模)

除了加、减、乘、除,Java 对整数还有一个“取余(求模)”运算符。使用百分号 % 表示。它返回的是整数除法的余数,而不是小数部分。

示例:

命令 除法结果 说明
int a = 5 % 2;
2,余数为 1 变量 a 的值将是 1
int b = 20 % 4;
5,余数为 0 变量 b 的值将是 0
int c = 9 % 5;
1,余数为 4 变量 c 的值将是 4
int d = 1 % 2;
0,余数为 1 变量 d 的值将是 1

这是一个非常有用且常用的运算符。例如,要判断一个数是偶数还是奇数,只需对它除以 2 取余,并将得到的余数与 0 比较。余数为 0 则为偶数,为 1 则为奇数。

判断写法如下:

(a % 2) == 0

其中,正如你已经想到的,a % 2 是对 2 取余(即 01),而 == 用于与 0 比较。

9. 自增与自减

在编程中,经常需要将变量增加或减少 1。为此,Java 提供了专门的运算符:

自增 运算符(增加 1)写法如下:

a++;
加 1

这条语句与 a = a + 1; 等价——使变量 a 增加 1。

自减 运算符(减少 1)写法如下:

a--;
减 1

这条语句与 a = a - 1; 等价——使变量 a 减少 1。

示例 1

int x = 5;		// 变量 x 的值将是 5
x++;			// 变量 x 的值将是 6
x++;			// 变量 x 的值将是 7
x++;			// 变量 x 的值将是 8
x++;			// 变量 x 的值将是 9
x++;			// 变量 x 的值将是 10

示例 2

int x = 5;		// 变量 x 的值将是 5
x--;			// 变量 x 的值将是 4
x--;			// 变量 x 的值将是 3
x--;			// 变量 x 的值将是 2
x--;			// 变量 x 的值将是 1
x--;			// 变量 x 的值将是 0
x--;			// 变量 x 的值将是 -1
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION