早上七点,我泡了杯咖啡坐在电脑前,准备开始Java学习的第二天。昨天已经搞明白了Java的基本概念和特性,今天要动真格的了——搭建开发环境并写出第一个Java程序。作为一个有Python基础但Java零经验的学习者,我决定把整个过程详细记录下来,既作为自己的学习笔记,也能帮到其他初学者。
选择开发工具时,我对比了Eclipse、IntelliJ IDEA和VS Code。最终选择了IntelliJ IDEA社区版,因为它对新手友好,智能提示强大,而且社区版完全免费。安装过程比想象中顺利,下载安装包、运行安装程序、选择安装路径,一路next就行。不过要注意的是,安装时会询问是否创建桌面快捷方式和关联.java文件,建议都勾选上。
安装完IDE后,系统提示需要JDK才能运行。我这才知道,Java开发需要两个东西:JRE(Java运行时环境)和JDK(Java开发工具包)。作为开发者,我们需要安装JDK,因为它包含了JRE和编译器等其他工具。
在Oracle官网下载JDK时,我被各种版本搞晕了:Java SE 8u291、Java SE 11.0.11、Java SE 16... 经过查询,我了解到Java 8和Java 11是LTS(长期支持)版本,企业中使用最广泛。考虑到稳定性,我选择了Java 11(具体是11.0.12)。
安装JDK时有个小坑:默认安装路径包含空格(Program Files),虽然一般没问题,但有些旧工具可能会出问题。我特意改成了C:\Java\jdk-11.0.12这样的无空格路径。
配置环境变量时,我一开始完全不明白为什么要这么做。通过查阅资料才理解:这是为了让系统在任何位置都能找到Java命令。
需要配置两个环境变量:
配置完成后,打开命令提示符输入java -version,看到版本信息就说明成功了。我遇到了一个常见问题:修改环境变量后需要重启命令行工具才能生效,刚开始还以为配置错了。
打开IntelliJ IDEA,选择Create New Project,我注意到有几个选项:
作为初学者,当然选择普通的Java项目。在Project SDK那里选择刚才安装的JDK 11,然后Next。
创建项目时,IDE自动生成了一个项目结构:
在src目录上右键 -> New -> Java Class,命名为HelloWorld。自动生成的类模板如下:
java复制public class HelloWorld {
}
我按照教程,添加了main方法:
java复制public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
这里有几个需要注意的点:
点击绿色的运行按钮,控制台成功输出了Hello, World! 那一刻真的很有成就感。
尝试修改程序,添加一些变量:
java复制public class HelloWorld {
public static void main(String[] args) {
String greeting = "Hello, Java!";
int version = 11;
double pi = 3.14159;
boolean isLearning = true;
System.out.println(greeting);
System.out.println("Java version: " + version);
System.out.println("PI value: " + pi);
System.out.println("Am I learning? " + isLearning);
}
}
Java是强类型语言,每个变量都必须声明类型。基本数据类型有:
添加一些简单的控制语句:
java复制public class HelloWorld {
public static void main(String[] args) {
int score = 85;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
// 简单的for循环
for (int i = 1; i <= 5; i++) {
System.out.println("Count: " + i);
}
}
}
Java的控制语句和C/C++很像,有if-else、for、while等。注意条件必须是小括号,代码块必须用大括号括起来,即使只有一行代码。
今天遇到了几个典型错误:
错误: 找不到或无法加载主类
';' expected
无法解析符号
IntelliJ IDEA的调试功能很强大:
一个实用技巧:在System.out.println上打断点,可以查看程序执行到输出语句时的变量状态。
今天主要参考了:
明天计划学习:
今天最大的收获是理解了Java程序从编写到运行的完整流程。虽然只是打印了一行文字,但这个过程让我对Java有了更直观的认识。Java的强类型特性让我一开始有些不适应(特别是从Python转过来),但也感受到了它的严谨性。