(副标题:程序员の初吻——献给屏幕的“Hello World”)
场景3:程序员的第一次心跳回忆
你搓了搓手,庄严地打开记事本,准备写下人生第一行代码。
内心OS: “Hello World是吧?今天就是我和Java的定情之日!”
——然而,这段感情注定充满波折。
2.3.1 Hello World 标准姿势——程序员的“结印手势”
- 新建文件 HelloWorld.java(文件名必须和类名一致!Java是强迫症晚期患者)
输入以下“爱情宣言”:
public class HelloWorld { // 类名:要和文件名一字不差!
public static void main(String[] args) { // main方法:Java程序的“心脏起搏器”
System.out.println("Hello World!"); // 输出语句:程序员对世界的第一次呐喊
}
}
- 保存文件,记住文件位置(建议放在C:\Code,路径干净得像程序员的桌面)
2.3.2 编译运行——从“咒语吟唱”到“召唤神龙”
打开命令行,用以下“魔法”唤醒程序:
cd C:\Code # 切换到代码目录(如果迷路了,电脑会冷漠地说“系统找不到路径”)
javac HelloWorld.java # 编译:把人类语言翻译成机器能懂的.class文件
java HelloWorld # 运行:见证奇迹的时刻!
理想结局:
Hello World!
现实结局(概率99%):
error: 类HelloWorld是公共的, 应声明为名为 HelloWorld.java 的文件
2.3.3 报错大全——程序员的108种“死法”
错误1:文件名与类名不符(Javaの终极强迫症)
- 症状:复制下载error: 类HelloWorld是公共的, 应声明为名为 HelloWorld.java 的文件
- 病因:文件名叫helloWorld.java(首字母没大写)文件名叫HelloWorld.txt(后缀不是.java)
- 药方:改名!Java的规矩比丈母娘还严格。
错误2:main方法写成了mian(拼音战士の噩梦)
症状:
错误: 在类 HelloWorld 中找不到 main 方法
案发现场:
public static void mian(String[] args) { // 把main拼成了“mian”(面?)
灵魂质问:“你是要写‘面方法’还是‘main方法’?电脑不会煮泡面!”
错误3:中文符号の天劫(程序员の隐形杀手)
症状:复制下载
error: illegal character: '\uff1b'
案发现场:
System.out.println("Hello World!"); // 分号是中文的!(; vs ; )
警世名言:“中文符号就像混进代码的间谍,分分钟让程序原地爆炸!”
错误4:大括号失踪案(代码界的“消失的爱人”)
症状:
error: reached end of file while parsing
案发现场:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
// 这里少了一个 }
- 破案技巧:“每一个{都要有一个}陪它过情人节,否则代码会孤独终老。”
错误5:环境变量の复仇(系统の傲娇反击)
- 症状:复制下载'javac' 不是内部或外部命令...
- 病因:环境变量没配好(系统:“JDK是谁?我不熟。”)配了环境变量但没重启命令行(系统:“我有缓存,就是不想理你!”)
- 药方:检查JAVA_HOME和Path关掉命令行再打开(相当于对系统说:“你清醒一点!”)
2.3.4 终极测试——程序员の“心跳回忆”
如果你的屏幕终于输出了Hello World!
,请:
- 截图发朋友圈,配文:“多年后,我仍会记得这个和Hello World厮守的夜晚。”
- 给自己倒一杯肥宅快乐水,庆祝成功驯服了Java这头“倔驴”。
如果还在报错,请:
- 深呼吸,默念三遍“程序员是bug的天敌”。
- 对照代码逐字检查,连空格和标点都不要放过(Java连一个分号都要计较)。
翻车后的心灵鸡汤
“每一个Hello World的背后,都藏着108种报错的辛酸。但正是这些错误让你明白:编程不是和代码谈恋爱,而是和bug斗智斗勇。”
章节金句:
“Hello World 是程序员对世界的第一次告白,而报错信息是这个世界对你说的第一句‘你是个好人’。”