
1. Java基础学习Day2从环境搭建到第一个程序今天是我系统学习Java的第二天相比第一天对Java的宏观认识今天要开始真正动手写代码了。作为一个刚接触编程的新手我记录下这个过程中遇到的挑战和收获希望能给同样起步的朋友一些参考。Java开发环境的搭建是很多新手遇到的第一个门槛。不同于Python这类解释型语言Java需要先配置JDKJava Development Kit才能开始编写和运行程序。我选择的是目前企业使用最广泛的JDK 8版本虽然现在已经有更新的JDK 17等版本但考虑到企业兼容性和学习资料的丰富程度JDK 8仍然是初学者的首选。2. 开发环境配置详解2.1 JDK安装与验证下载完JDK安装包后安装过程本身很简单一路下一步即可。但安装完成后有几个关键步骤需要特别注意环境变量配置这是新手最容易出错的地方。需要将JDK的bin目录路径如C:\Program Files\Java\jdk1.8.0_291\bin添加到系统的PATH变量中。我刚开始漏掉了这一步导致在命令行输入javac时系统提示不是内部或外部命令。验证安装安装完成后打开命令行WinR输入cmd分别输入以下命令验证java -version javac -version如果正确显示版本信息说明安装成功。注意如果同时安装了多个JDK版本可能会出现版本不一致的情况。这时需要检查JAVA_HOME环境变量指向的是哪个JDK路径。2.2 开发工具选择对于初学者来说选择一个合适的开发工具很重要。我尝试了几种常见的IDE记事本命令行最原始的方式适合理解编译过程但效率太低。Eclipse经典的Java IDE功能强大但界面略显陈旧。IntelliJ IDEA目前最流行的Java IDE社区版免费智能提示和代码补全非常强大。最终我选择了IntelliJ IDEA社区版它的智能提示功能对新手特别友好能减少很多拼写错误和语法错误。安装后第一次启动时IDEA会自动检测已安装的JDK非常方便。3. 第一个Java程序3.1 HelloWorld程序解析按照传统第一个Java程序当然是HelloWorld。在IDEA中新建一个项目后会自动生成以下代码public class Main { public static void main(String[] args) { System.out.println(Hello World!); } }这段简单的代码其实包含了很多Java基础知识public class Main定义了一个公开类类名必须与文件名一致Main.javapublic static void main(String[] args)Java程序的入口方法固定写法System.out.println标准输出语句用于在控制台打印信息点击运行按钮后在控制台看到了Hello World!的输出这一刻的成就感还是很强的。3.2 Java程序执行原理与Python等脚本语言不同Java程序的执行需要经过编译和运行两个阶段编译阶段使用javac命令将.java源文件编译成.class字节码文件javac Main.java运行阶段使用java命令运行编译后的.class文件java Main新手常见错误直接运行.java文件或者运行时不带.class扩展名。记住java命令后面跟的是类名不是文件名。4. Java基础语法入门4.1 变量与数据类型Java是强类型语言所有变量都必须先声明类型后才能使用。基本数据类型有8种数据类型大小取值范围默认值byte1字节-128~1270short2字节-32768~327670int4字节-2^31~2^31-10long8字节-2^63~2^63-10Lfloat4字节约±3.4e380.0fdouble8字节约±1.7e3080.0dchar2字节Unicode字符\u0000boolean1位true/falsefalse声明变量的语法int age 25; double price 9.99; char grade A; boolean isJavaFun true;4.2 运算符与表达式Java支持多种运算符优先级从高到低大致为括号()一元运算符 -- ! ~算术运算符* / %→ -移位运算符 关系运算符 instanceof相等运算符 !位运算符 ^ |逻辑运算符 ||三元运算符?:赋值运算符 -等实际编程中不确定优先级时最好使用括号明确运算顺序既避免错误又提高可读性。5. 流程控制结构5.1 条件语句Java中的条件语句主要有if-else和switch两种// if-else示例 int score 85; if (score 90) { System.out.println(优秀); } else if (score 80) { System.out.println(良好); // 输出这个 } else { System.out.println(继续努力); } // switch示例 int day 3; switch (day) { case 1: System.out.println(周一); break; case 2: System.out.println(周二); break; case 3: System.out.println(周三); break; // 输出这个 default: System.out.println(周末); }switch语句中每个case后面必须加break否则会继续执行下一个case称为case穿透这在某些特定场景下有用但大多数情况下是bug来源。5.2 循环结构Java有三种循环结构for循环适合已知循环次数的情况for (int i 0; i 5; i) { System.out.println(i); // 输出0到4 }while循环适合不确定循环次数的情况int count 0; while (count 5) { System.out.println(count); count; }do-while循环至少执行一次int x 10; do { System.out.println(x); // 虽然条件不满足但仍会执行一次 x; } while (x 5);循环控制语句break跳出整个循环continue跳过本次循环剩余部分进入下一次循环6. 常见问题与调试技巧6.1 新手常见错误大小写敏感Java区分大小写System不能写成system缺少分号每条语句必须以分号结尾中文符号使用中文引号、分号等会导致编译错误main方法写错必须是public static void main(String[] args)文件与类名不一致public类名必须与文件名相同6.2 基础调试方法使用System.out.println在关键位置打印变量值System.out.println(x的值是 x);使用IDE的调试功能设置断点点击代码行号左侧启动调试点击Debug按钮单步执行F8Step Over进入方法F7Step Into查看变量在Debug窗口的Variables标签阅读错误信息控制台会显示错误类型和位置如Exception in thread main java.lang.NullPointerException at Main.main(Main.java:5)这表示Main.java第5行出现了空指针异常。7. 学习建议与资源推荐作为Java初学者我有几点体会想分享多动手实践看十遍不如写一遍即使是最简单的代码也要亲自输入运行理解错误信息不要害怕报错学会阅读和理解错误信息是重要能力养成良好习惯从一开始就注意代码格式、命名规范等分阶段学习先掌握基础语法再逐步学习面向对象等高级特性推荐几个学习资源官方文档https://docs.oracle.com/javase/tutorial/菜鸟教程https://www.runoob.com/java/java-tutorial.htmlMOOC课程中国大学MOOC上的Java程序设计课程今天的收获很大从环境搭建到写出第一个程序再到基础语法的学习虽然遇到了一些问题但通过查找资料和反复尝试都解决了。明天计划学习Java的面向对象特性包括类、对象、继承等概念。