☕ Java
安装与第一个程序 Hello World — Java
```html
这是什么?为什么需要它?
想象一下,你是一位导演,而电脑是你个人的剧院。为了让舞台上的演员(程序)开始表演,他们需要剧本。在编程世界里,这样的剧本被称为代码。Java 是一种你可以用来编写这个剧本的语言。
为什么要学习 Java?首先,几乎所有 Android 游戏(例如《我的世界》)、许多网站(比如亚马逊)甚至航天器程序都是用 Java 编写的。其次,Java 是一种非常严谨和清晰的语言——它不容忍错误,但你的程序会运行得快速且可靠。
类比:想象 Java 是乐高积木。在 Python(另一种流行语言)中,你可以用橡皮泥把零件粘在一起,它们勉强能固定住。而在 Java 中,每个零件都必须咔嗒一声卡入到位——只有这样,积木才不会散架。起初这看起来很难,但之后你就能建造不会倒塌的巨大城堡。
每个程序员编写的第一个程序叫做Hello World。它只是在屏幕上输出问候语。这就像字母表中的第一个字母——没有它,寸步难行。
带解释的代码示例
示例 1:最简单的 Hello World
// 声明一个名为 Main 的类(主类)
public class Main {
// 程序入口——main 方法
public static void main(String[] args) {
// 在屏幕上输出文本
System.out.println("Hello, World!");
}
}
给初学者的解释:
public class Main— 我们告诉电脑:“创建一个名为 Main 的盒子,里面存放我们的代码”。在 Java 中,所有代码都必须放在这样的盒子——类中。public static void main(String[] args)— 这就像启动程序的开关。如果不写这一行,程序就无法启动。记住这一行,就像记住乘法表一样——它总是相同的。System.out.println(...)— “打印并换行”的命令。在 Python 中,这仅仅是print(...)。在 Java 中需要写得更长,但这样我们确切知道文本输出到哪里——系统控制台。- 分号
;— 就像句子末尾的句号。在 Java 中,每条命令后都必须加上分号。在 Python 中没有分号,这常常让初学者感到困惑。
示例 2:带变量的 Hello World
public class Greeting {
public static void main(String[] args) {
// 创建一个存放文本的变量盒子
String greeting = "Hello, world!";
// 输出盒子的内容
System.out.println(greeting);
}
}
解释:
String greeting— 我们说:“创建一个名为 greeting 的盒子,里面只能存放文本(String)”。在 Python 中,你只需写greeting = "Hello, world!"—— 无需指定类型。而 Java 要求明确:如果盒子是用来放文本的,就只能放文本。- 为什么这很方便?如果你不小心试图把数字放入
greeting,Java 会在程序运行前就报错。在 Python 中,这种错误只有在运行时才会被发现——程序可能会在最不恰当的时候崩溃。
示例 3:带数字的 Hello World
public class NumberGreeting {
public static void main(String[] args) {
// 整数 (int)
int year = 2025;
// 文本
String message = "我们身处 ";
// 用加号 + 拼接文本和数字
System.out.println(message + year);
}
}
解释:
int year— 存放整数的盒子(integer)。在 Python 中不需要指定类型,但在 Java 中这是必须的:int用于整数,double用于小数,boolean用于 true/false。message + year— Java 会自动推断拼接文本和数字。在 Python 中也是如此,但在 Java 中需要小心:如果你把两个数字相加,它们会进行数学加法,而不是像字符串那样拼接。
示例 4:带条件判断的 Hello World(如果-否则)
public class SmartGreeting {
public static void main(String[] args) {
// 创建一个变量表示一天中的时间(0-24)
int hour = 14;
// 检查条件
if (hour < 12) {
System.out.println("早上好,世界!");
} else {
System.out.println("下午好,世界!");
}
}
}
解释:
if (hour < 12)— 就像在问:“小时数小于 12 吗?”。如果是,则执行花括号{}中的第一个代码块。如果不是,则执行else后面的第二个代码块。- 花括号
{}— 就像乐高积木中的组。在 Python 中,使用缩进(空格)代替花括号。Java 使用花括号——这更可靠,因为缩进可能被意外移动,导致程序出错。 - 注意:在
if后面没有分号。分号只放在花括号内的命令后面。
示例 5:带循环的 Hello World(重复)
public class RepeatHello {
public static void main(String[] args) {
// 循环:只要 i 小于 5,就执行...
for (int i = 0; i < 5; i++) {
System.out.println("你好,编号 " + i);
}
}
}
解释:
for (int i = 0; i < 5; i++)— 这就像一个计数器:从 0 开始,检查 i 是否小于 5,每次循环后 i 增加 1(i++)。- 循环会执行 5 次:i=0, i=1, i=2, i=3, i=4。当 i 变为 5 时,条件
i < 5为假,循环结束。