第一章 Java入门:从零开始的第一行代码

大家好,我是你们这门课的老师。在正式开始之前,我想先聊聊我自己的经历。十几年前,我刚开始学编程时,面对的第一个问题就是:「我该学什么语言?」那时候网上资料少,走了不少弯路。后来我选择了Java,一干就是十几年。今天,我把这些经验整理出来,希望能帮你少踩一些坑。

1.1 Java发展史:一个偶然诞生的巨无霸

Java的故事,得从1991年说起。当时Sun公司有个叫詹姆斯·高斯林的大佬,他本来想搞一套给家电用的编程语言。你想想看,那时候的冰箱、洗衣机哪有什么智能芯片?这个项目差点被砍掉。

转折点出现在1995年。互联网突然火起来了,大家发现Java有个绝活——「一次编写,到处运行」。说白了,就是你写的程序在Windows上能跑,换到Mac、Linux上照样能跑。这在当时简直是黑科技。

我个人印象最深的是2006年,Java宣布开源。那时候我刚入行,觉得这语言真大方,代码全公开。后来Oracle收购了Sun,Java的版本更新就像坐火箭一样快:

版本 发布时间 重要特性
Java 1.0 1996年 第一个正式版
Java 5 2004年 泛型、注解、枚举
Java 8 2014年 Lambda表达式、Stream流
Java 11 2018年 长期支持版本(LTS)
Java 17 2021年 最新的LTS版本
我的建议:初学者直接学Java 8或Java 11就行。这两个版本最稳定,企业里用得也最多。别追新版本,容易把自己绕晕。

1.2 Java语言特点:为什么它能火20年?

Java能活这么久,肯定有它的道理。我总结了几点核心优势:

  • 跨平台:刚才说了,一次编写到处运行。我在项目中遇到过最头疼的事,就是客户服务器是Linux,开发机是Windows。Java完美解决了这个问题。
  • 面向对象:万物皆对象。写代码就像搭积木,每个模块各司其职。
  • 自动内存管理:C/C++程序员最怕内存泄漏,Java有垃圾回收机制,帮你自动清理不用的内存。
  • 丰富的生态:你要什么功能,基本都有现成的库可以用。Spring、MyBatis、Netty...数都数不过来。

说白了,Java就是一门「稳」字当头的语言。它可能不是最快的,也不是最炫的,但绝对是企业级开发的首选。

1.3 JDK安装与环境变量配置:第一步总是最难的

嗯,这里我要多说两句。很多新手在安装JDK这一步就放弃了,其实没那么复杂。我当年也折腾过一整天,后来发现是下载错了版本。

1.3.1 下载JDK

去Oracle官网下载JDK。注意要选对操作系统版本(Windows/Mac/Linux)。我个人建议下载JDK 8或JDK 11的LTS版本。

1.3.2 安装JDK

Windows用户直接双击安装包,一路下一步就行。Mac用户用Homebrew安装更方便:brew install openjdk@11

1.3.3 配置环境变量

这一步很多人会卡住。我教你一个口诀:「JAVA_HOME指向安装目录,Path指向bin目录」。

# Windows系统(以JDK 11为例)
JAVA_HOME = C:\Program Files\Java\jdk-11.0.12
Path = %JAVA_HOME%\bin

# Mac/Linux系统
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
我曾经踩过的坑:配置完环境变量后,一定要重启命令行窗口!否则系统不会加载新的配置。还有,别把Path路径写错了,少个分号都可能出问题。

1.4 第一个Java程序:HelloWorld

终于到了写代码的环节。每个程序员的第一行代码,都是「Hello World」。这就像学说话先学「爸爸、妈妈」一样,是个仪式感。

打开记事本(或者任何文本编辑器),输入以下代码:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

保存文件时,注意文件名必须和类名一致,也就是HelloWorld.java。大小写也要一模一样。

然后打开命令行,进入文件所在目录,执行:

javac HelloWorld.java   // 编译
java HelloWorld         // 运行

如果看到控制台输出「Hello, World!」,恭喜你,你已经成功迈出了第一步!

小技巧:初学者经常把main拼写成mian。我刚开始也犯过这个错,找了半天bug。记住,main是「主要的」意思,不是「面」。

1.5 Java程序运行机制:编译与解释

你可能会好奇,为什么Java程序能跨平台?这就要说到它的运行机制了。

Java采用的是「编译+解释」混合模式。具体流程是这样的:

  1. 你写的.java源文件,先被javac编译器编译成.class字节码文件。
  2. 字节码文件是中间产物,它不依赖任何操作系统。
  3. 然后Java虚拟机(JVM)上场了。它负责把字节码解释成当前操作系统能识别的机器码。

你想想看,只要不同平台上有对应的JVM,你的字节码就能跑。这就是跨平台的秘密。

我经常跟团队里的新人说:「Java程序 = 你写的代码 + JVM」。JVM才是真正的「翻译官」,它把Java的通用语言翻译成Windows、Linux、Mac各自能听懂的话。

至于编译和解释的区别,我打个比方:

  • 编译型语言(如C++):就像写一封英文信,直接翻译成中文再寄出去。速度快,但换一种语言就得重新翻译。
  • 解释型语言(如Python):就像同声传译,说一句翻译一句。灵活,但速度慢。
  • Java的混合模式:先编译成通用格式(字节码),再根据平台解释执行。兼顾了速度和跨平台性。

好了,第一章的内容就到这里。你学会了Java的历史、特点,亲手写了第一个程序,还搞懂了它为什么能跨平台。下一章,我们开始正式学习Java的语法基础。

记住:编程没有捷径,但有好方法。跟着我一步步来,你也能成为合格的Java工程师。


公众号:蓝海资料掘金营,微信deep3321