☕ Java

变量与数据类型 — Java

这是什么以及为什么需要它?

想象一下你在玩电脑游戏。你有一个背包——里面装着各种物品:剑、生命药水、藏宝图。在编程中,这样的“背包”被称为变量。它是一个小盒子,你可以把一些信息放进去并给它起个名字。

为什么需要它?假设你正在编写一个向用户祝贺生日的程序。用户名可能不同——今天是“玛莎”,明天是“佩佳”。你不必每次都重写代码,而是创建一个变量имя,然后一次性将需要的名字存入其中。程序会自动将其插入到祝贺文本中!

现在来说数据类型。回到背包。你不会把苹果放在装硬币的口袋里,也不会把硬币放在装地图的口袋里。在Java中,也有不同的“口袋”来装不同的东西:

  • 数字(整数和小数)
  • 单词和字母(文本)
  • 真/假(是或否)

Java是一种严格的语言。它要求你提前声明:“这个盒子里只能放整数!”或者“这里只能放文本!”。Python没有这个要求——你可以把任何东西放在任何地方。但在Java中,这有助于避免错误。想象一下,你不小心把水放进了装硬币的口袋——硬币会坏掉。Java不会让你这样做!

让我们按顺序来理解。首先学习如何创建变量,然后了解有哪些数据类型以及它们为什么需要。

带解释的代码示例

示例1:第一个变量——你好,世界!

从最简单的开始。创建一个存储文本(单词或短语)的变量。在Java中,文本使用String类型(首字母大写!)。

// 声明(创建)一个名为"приветствие"的变量
// 类型为String —— 表示我们将存储文本
String приветствие;

// 现在将值放入其中(引号内的文本)
приветствие = "Привет, мир!";

// 现在将变量的内容输出到屏幕
System.out.println(приветствие);
// 屏幕上将显示:Привет, мир!

给新手的解释:

  • String 是“字符串”类型(文本)。在Python中你只需写 приветствие = "Привет, мир!",但在Java中你需要先声明变量的类型。
  • 每条命令末尾的分号 ; 就像句子末尾的句号。没有它,Java就无法理解命令在哪里结束。
  • System.out.println() 是“打印并换行”的命令。就像Python中的 print()。

你可以将创建和赋值合并到一行中:

// 创建变量并立即将值放入其中
String имя = "Алиса";

System.out.print("Привет, ");
System.out.println(имя);
// 屏幕上显示:Привет, Алиса

注意:System.out.print()(不带ln)不会将光标移到新行,而是在同一行继续打印。

示例2:整数——数苹果

对于整数(没有小数部分),Java使用int类型(来自integer——整数)。

// 声明一个变量用于存储苹果数量
int яблоки;

// 放入数字10
яблоки = 10;

// 可以进行数学运算!
int груши = 5;          // 创建并立即放入5
int всего_фруктов;      // 只创建,暂时为空

// 将苹果和梨相加
всего_фруктов = яблоки + груши;

// 输出结果
System.out.print("Всего фруктов: ");
System.out.println(всего_фруктов);
// 屏幕上显示:Всего фруктов: 15

需要记住的重要事项:

  • 变量名要连写或用下划线连接。不能使用空格。
  • 数学运算与现实生活一样:+、-、*(乘)、/(除)。
  • 与Python不同,在Java中,如果变量声明为int,你不能直接写яблоки = "десять"。Java会说:“错误!你承诺了数字,却给了文本!”

让我们试着计算一下,如果平均分给3个朋友,每人能得到多少个苹果:

int яблоки = 10;
int друзей = 3;

// 将苹果分给朋友(注意!整数除以整数——结果还是整数)
int каждому = яблоки / друзей;

System.out.println("Каждому другу достанется " + каждому + " яблок");
// 屏幕上显示:Каждому другу достанется 3 яблок

陷阱:10除以3是3.333...,但int会丢弃小数部分!Java不会四舍五入,而是直接截断“尾巴”。如果需要精确除法,请使用double(看下一个示例)。

示例3:小数——钱和身高

对于带小数部分的数字(例如3.14或2.5),Java有double和float类型。我们将使用double——它更精确。

// 披萨价格——450卢布50戈比
double цена_пиццы = 450.50;

// 买多少披萨?
int количество = 3;

// 计算总价
double общая_стоимость = цена_пиццы * количество;

System.out.println("Общая стоимость: " + общая_стоимость + " рублей");
// 屏幕上显示:Общая стоимость: 1351.5 рублей

重要! 在Java中,小数部分用点号分隔,而不是逗号。450,50会导致错误。记住:对于计算机来说,点号就是“小数逗号”。

另一个例子——计算学校的平均分:

double математика = 4.5;
double русский = 3.0;
double физика = 5.0;

// 相加并除以科目数量
double средний_балл = (математика + русский + физика) / 3;

System.out.println("Средний балл: " + средний_балл);
// 屏幕上显示:Средний балл: 4.166666666666667

看到小数点后有多少位数字了吗?这很正常。如果只需要显