算术运算 — Java
这是什么?为什么需要它?
想象一下,你是一家糖果店的收银员。你有一个装有10块巧克力的盒子,来了一个想买3块的顾客。还会剩下多少?如果明天再送来5盒,每盒10块巧克力——总共会有多少?要计算这些,不一定非要一根一根地数糖果。只需执行算术运算——加法、减法、乘法和除法即可。
在Java中,这些运算看起来和数学中几乎一样,只是乘号“×”我们写成*,除号“÷”写成/。计算机就像那个收银员,只是速度非常快,而且从不犯错(前提是你的指令没有错)。
为什么在编程中需要它?想象一下,你在写一个游戏,主角在收集金币。每秒都需要将收集到的金币数量加到他的分数上。或者你在为数学课做一个计算器。或者一个计算距离新年还有多少天的程序。到处都需要算术运算。
Java中有5种基本的算术运算:
+— 加法(和数学中一样)-— 减法*— 乘法/— 除法(只是在Java中处理整数时有个小技巧)%— 取余(这是新的!它表示整除后剩下多少)
我们先约定好:在Java中,和Python一样,有数据类型。对于数字,最常用的是int(整数,例如5, -3, 100)和double(小数,例如3.14, -0.5)。如果你在同一个运算中混合使用它们——Java自己会处理,但有时会导致意想不到的结果(我们会在错误部分讨论)。
与Python不同,在Python中你可以直接写print(2 + 3)就能运行,而在Java中,你需要先创建一个类和main方法。别害怕——这只是你程序的“容器”。下面所有的例子都将在这个容器内部。
带解释的代码示例
示例1:加法和减法(像生活中一样)
假设你原来有15卢布,你又找到了7卢布,然后花了10卢布买冰淇淋。还剩多少?
public class Main {
public static void main(String[] args) {
// 声明变量——这就像带标签的盒子
int bylo = 15; // 原来有15卢布
int nashel = 7; // 找到了7卢布
int potratil = 10; // 花了10卢布
// 计算:原来 + 找到 - 花掉
int ostalos = bylo + nashel - potratil;
// 将结果显示在屏幕上
// 在Java中,使用 System.out.println() 进行输出
System.out.println("你还剩下: " + ostalos + " 卢布");
// 屏幕上将显示:你还剩下: 12 卢布
}
}
它是如何工作的: Java像数学中一样从左到右执行操作。首先15 + 7 = 22,然后22 - 10 = 12。结果保存在变量ostalos中。在System.out.println中的+符号用于拼接文本和数字——这被称为字符串连接。在Python中,这使用逗号或f-strings,而在Java中则使用加号。
示例2:乘法(计算房间面积)
你决定要知道你的房间有多少平方米。长度是6米,宽度是4米。
public class Main {
public static void main(String[] args) {
int dlina = 6;
int shirina = 4;
// 乘法:面积 = 长 * 宽
int ploshad = dlina * shirina;
System.out.println("房间面积: " + ploshad + " 平方米");
// 输出:房间面积: 24 平方米
// 现在计算周长:(长 + 宽) * 2
int perimetr = (dlina + shirina) * 2;
System.out.println("房间周长: " + perimetr + " 米");
// 输出:房间周长: 20 米
}
}
注意括号! 在Java中,和数学中一样,首先执行括号内的操作。如果我们写成dlina + shirina * 2,那么会先计算4乘以2(得到8),然后加上6——结果是14,而不是20。括号改变了顺序!
在Python中,括号的工作方式完全相同——这是所有编程语言的通用规则。
示例3:除法和取余(分披萨)
你有23块披萨,和5个朋友。如果平均分,每人能得到多少块?会剩下多少给你?
public class Main {
public static void main(String[] args) {
int kuskov = 23;
int druzei = 5;
// 整数除法:23 / 5 = 4 (余数 3)
// 如果两个数都是整数,Java会丢弃小数部分!
int kazhdomu = kuskov / druzei;
System.out.println("每个朋友: " + kazhdomu + " 块");
// 输出:每个朋友: 4 块
// 取余:23 % 5 = 3
int ostatok = kuskov % druzei;
System.out.println("留给你的: " + ostatok + " 块");
// 输出:留给你的: 3 块
// 验证:4 * 5 + 3 = 23 — 完全正确!
}
}
重要的一点: 在Java中,如果你用整数除以整数,结果也将是整数——小数部分被直接丢弃(不是四舍五入,而是直接丢弃!)。23 / 5 = 4,而不是4.6。如果需要得到小数结果,至少一个数必须是小数(例如,23.0 / 5 或 23 / 5.0)。在Python 3中,整数除法默认得到小数结果,而整数除法使用//。Java中没有这样的运算符——需要显式指定类型。
运算符%(取