4 个单元 · 12 节
Java 动手入门:从第一行代码到类与对象
SSH 终端 · JDK 17 · 12 节 4 单元 · 独立原创辅导
怎么用:左边(或上方“目录”)选一节,电脑分屏时网页放一侧、SSH 窗口放另一侧,把 Java 源码复制到服务器(或用 heredoc 写入文件),再照着命令编译、运行。
全部内容不依赖视频;不需要登录,也不会在网页里执行任何命令。输出只是给你对答案,不要当命令粘贴。
来源 来源与改编说明(非官方)
主题参考:黑马程序员 Java 入门到起飞(BV17F411T7Ao,2022-04-27)P1–P95;本站是独立原创讲解,非官方站点,不是官方教材,未获授权,不逐字复刻视频或讲义。详见 source/SOURCE.md。
说明:本站是个人学习整理,不是官方教材;不包含原课程的书本、视频或受版权保护的整本内容。原课程与商标归其权利人。
先读:环境准备与 SSH 连接先把服务器、JDK 和目录准备好,再开始第一节。
下面的单元按学习顺序排列:环境 → 语法 → 流程与方法 → 类与对象。前一单元的步骤做完再进入下一单元;每个单元的勾选进度分别记录,互不覆盖。
第一单元 · 终端、变量、输入
从终端到第一行 Java
SSH 实操:左边网页看步骤,右边终端跟着敲
本单元进度 0/19
- 01在 SSH 里写下第一个 Java 程序从 Linux shell 提示符开始,建 lesson01 工作目录,写 Hello.java,分清提示符/源码/输入/输出,用 javac -encoding UTF-8 编译、java 运行。0/7
- 02变量、类型与字符串拼接用 int/double/char/boolean/String 保存数据,分清整数除法与小数除法,用 + 拼接字符串,用强制转换和 % 处理取整与余数。0/6
- 03用 Scanner 读入并计算用 Scanner 读取固定的整数/小数/单词输入,代入算术表达式,用比较运算得到 boolean,分清等待输入与程序卡死。0/6
准备 开始本单元之前
- 一台可 SSH 登录的 Linux 学习服务器;登录信息见 setup.html,不在正文硬编码 IP 或密码
- 服务器已提供 JDK 17;java -version 与 javac -version 应为 17.x
- 会用键盘输入命令,不需要安装 IDEA、Maven 或数据库
范围 本单元讲什么、不讲什么
包含
- SSH shell 提示符与工作目录
- public class 与文件名一致
- main 方法入口
- javac -encoding UTF-8 与 java 类名
- 变量、基本类型、字符串拼接、类型转换、算术
- Scanner 输入与比较运算
不包含
- if / 循环 / 数组 / 自定义方法(本单元不出现)
- IDEA、Windows CMD、图形客户端
- 继承、集合、异常、Maven、Spring
lesson03 结束应能独立读入两个数并输出和/差/积/商与比较结果;下一单元才进入 if 和循环。
来源 来源与改编说明(非官方)
- https://www.bilibili.com/video/BV17F411T7Ao/
- https://yun.itheima.com/map
- https://docs.oracle.com/en/java/javase/17/docs/specs/man/javac.html
- https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html
主题参考 P001–P026(Java 入门、变量/类型、键盘录入、算术与比较)。本单元讲解、示例、练习均为原创;非官方讲义。
说明:本站是个人学习整理,不是官方教材;不包含原课程的书本、视频或受版权保护的整本内容。原课程与商标归其权利人。
示例在隔离的 Temurin OpenJDK 17.0.20.1(隔离本地作者验收,非远端 SSH 环境) 上逐条执行核验(487/487 项检查通过)。
第二单元 · 分支、循环、数组
让程序会判断和重复
SSH 实操:先预测分支/循环走向,再运行对照
本单元进度 0/20
- 04if 与 switch:让程序选一条路写 if、if-else、else-if 三种分支,用 switch 对 int 做多路分支,正确使用 break/default,分清区间判断与等值判断。0/7
- 05for 与 while:重复做一件事写 for 三段式与 while 循环,用 break 提前结束、continue 跳过本次,写浅层嵌套并解释内外层执行次数,避免死循环。0/7
- 06数组:一排带编号的格子创建 int[],用下标读写,用 length 控制遍历边界,解释越界异常,浅讲数组变量与元素的关系。0/6
准备 开始本单元之前
- 完成第一单元:会编译运行单文件 Java,会用 Scanner 读整数,会用比较运算得到 boolean
- 知道 public class 与文件名一致
范围 本单元讲什么、不讲什么
包含
- if / if-else / else-if
- switch 语句(int)与 break/default
- for、while、do-while 的认识
- break / continue / 浅层嵌套
- 数组创建、初始化、下标、length、遍历、越界
不包含
- 自定义方法(下一单元才教)
- switch expression、枚举、模式匹配
- 二维数组、Arrays 工具类、随机数
lesson06 结束应能用一个 int[] 保存 5 个成绩并遍历输出;lesson07 才把查找/统计拆成练习。
来源 来源与改编说明(非官方)
- https://www.bilibili.com/video/BV17F411T7Ao/
- https://yun.itheima.com/map
主题参考 P039–P062(if/switch、for/while、跳转、数组)。本单元讲解、示例、练习均为原创;非官方讲义。
说明:本站是个人学习整理,不是官方教材;不包含原课程的书本、视频或受版权保护的整本内容。原课程与商标归其权利人。
示例在隔离的 OpenJDK 17.0.20.1(作者隔离远端目录 + 独立审查本地复跑) 上逐条执行核验(39/39 项检查通过)。
第三单元 · 数组应用、方法、综合
用数组和方法组织数据
SSH 实操:先写方法签名,再填循环和边界
本单元进度 0/20
- 07数组练习:查找、统计与最值用一次遍历求最值、求和、计数,写线性查找并约定找不到返回 -1,交换两个下标的值,检查空数组/单元素边界。0/7
- 08方法:把一段逻辑装起来定义无参/带参/带返回值的方法,区分 void 与 return,用参数传数组、用返回值带出结果,浅讲值传递,按需写重载。0/7
- 09综合练习:控制台成绩统计把需求拆成输入、统计、输出三个方法,用数组保存固定数量成绩,计算平均分/最高分/及格人数,用固定输入核对输出。0/6
准备 开始本单元之前
- 完成第二单元:会写 if/switch、for/while、break/continue,会创建并遍历 int[]
- 知道下标从 0 开始、length 是元素个数
范围 本单元讲什么、不讲什么
包含
- 数组最值、求和、计数、线性查找、交换
- 方法定义/调用、参数、返回值、void
- 基本类型与数组引用的值传递浅讲
- 方法重载(按需)
- 数组 + 方法 + Scanner 的控制台综合练习
不包含
- 递归、方法引用、可变参数
- 二维数组、Arrays 工具类、排序 API
- 类与对象(下一单元才教)
- 异常处理、集合
lesson09 结束应能把一个 20 行左右的成绩统计程序拆成 3–4 个方法;下一单元才引入自定义类和对象。
来源 来源与改编说明(非官方)
- https://www.bilibili.com/video/BV17F411T7Ao/
- https://yun.itheima.com/map
主题参考 P056–P080(数组练习、方法、综合练习)。本单元讲解、示例、练习均为原创;非官方讲义。
说明:本站是个人学习整理,不是官方教材;不包含原课程的书本、视频或受版权保护的整本内容。原课程与商标归其权利人。
示例在隔离的 OpenJDK 17.0.20.1(作者 SSH 隔离目录 + 独立审查本地 Temurin 复跑) 上逐条执行核验(116/116 项检查通过)。
第四单元 · 类、对象、封装、综合
写出自己的类与对象
SSH 实操:两个文件一起编译,先画对象关系再写代码
本单元进度 0/22
- 10类与对象:从设计图到真实对象写一个有字段和成员方法的 Student 类,用 new 创建对象,用对象名访问字段/方法,写第二个文件 StudentDemo.java 作为入口并编译两个文件。0/7
- 11构造方法、this 与封装写无参/带参构造方法,用 this 区分成员变量与参数,用 private 隐藏字段并提供 getter/setter,做一个标准 JavaBean 风格的类。0/8
- 12综合:数组版学生管理模型用 Student[] + int count 保存多个学生对象,用 switch 菜单串起添加、列表、按学号查找、修改、删除,处理找不到/数组已满/删除前移等边界。0/7
准备 开始本单元之前
- 完成第三单元:会写数组统计、会定义/调用带参数和返回值的方法
- 知道 public class 与文件名一致,会在同一个类里写 static 辅助方法
范围 本单元讲什么、不讲什么
包含
- 类与对象、字段、成员方法、new、对象引用
- 两个文件(Student.java + StudentDemo.java)的编译与运行
- 构造方法、构造方法重载、this
- private、getter/setter、标准 JavaBean、封装
- Student[] + count 的增/查/改/删菜单综合
不包含
- 继承、多态、接口、抽象类
- static 变量/静态代码块/工具类专题(只允许 main 同类辅助方法上的 static)
- ArrayList / 集合 / 泛型
- 异常处理、包/import 专题、Maven、Spring
lesson12 是本阶段终点:能写两个文件的类、用构造方法创建对象、用 private + getter/setter 封装、用对象数组管理多个学生。继承/多态/集合不在本阶段。
来源 来源与改编说明(非官方)
- https://www.bilibili.com/video/BV17F411T7Ao/
- https://yun.itheima.com/map
主题参考 P081–P095(面向对象、封装、构造方法、对象数组综合)。本单元讲解、示例、练习均为原创;非官方讲义。
说明:本站是个人学习整理,不是官方教材;不包含原课程的书本、视频或受版权保护的整本内容。原课程与商标归其权利人。
示例在隔离的 OpenJDK 17.0.20.1 remote (Ubuntu 17.0.20.1+1-1-26.04-Ubuntu),独立审查本地 Temurin 17.0.20.1 复跑 上逐条执行核验(22/22 项检查通过)。