先理解
JAVA FUNDAMENTALS / 12 LESSONS
把 Java 一行一行跑明白。
先猜输出,再跟踪变量;最后用 JDK 跑自己的代码。
练习进度0 / 12
代码题 + 输出题,完成一课
01 逐行实验
改输入 → 猜输出 → 单步跟踪JAVA
CONSOLE / 输出
网页按当前示例演示执行过程。要实际执行自己修改的 Java,使用 。
02 / 写代码
给我一点提示
查看写法与理由
03 / 猜输出
先在脑子里跑一遍
在本机实际跑 Java
在下面修改代码,再下载。编辑会保存为本课草稿。
编译报错时,从第一条开始看
用报错中的文件名和行号,定位最早出问题的地方。
javac 无法识别
在新打开的终端执行 java -version 与 javac -version。若只有前者可用,检查是否装了 JDK,以及 PATH 中是否有 JDK 的 bin 目录。改环境变量后重开终端。
class … is public, should be declared in a file named …
公开类的名字必须和文件名一致,包含大小写。例如 public class HelloJava 应放在 HelloJava.java,不能放在 HelloJava (1).java。
cannot find symbol / ';' expected
检查变量拼写、大小写、声明范围,以及上一行是否少了分号。用半角英文引号和分号。修掉第一条错误再编译,后面的错误可能一起消失。
Could not find or load main class
确认编译成功后,在生成 .class 的目录运行 java -cp . 类名。课程文件没有包声明;原课程的 package week7; 不同,需要从包根目录用全限定名(如 week7.test)运行。
成绩 60 算及格吗?为什么平均值变成整数了?
score >= 60 包含 60;用 59、60、61 三个值检查边界。int / int 会先做整数除法;(double) sum / count 才会按小数除法计算。
为什么两份代码都会报 duplicate class?
同一包里不能定义两个同名类。课堂练习有时为演示重复定义 Human 等类,分开编译或使用不同的包。本站为每个示例用了不同的外部类名,示例内部的类嵌套在其中。