命令与语法速查
编译运行命令、IDE 操作、语法骨架、异常对照——上课和上机时对着查。
一、编译与运行命令
| 命令 | 作用 |
|---|
javac HelloWorld.java | 编译,生成 HelloWorld.class |
java HelloWorld | 运行(不带 .class 后缀) |
java -version | 查看 Java 版本 |
javac -d bin src/*.java | 编译到指定目录 |
java -cp .;lib/mysql.jar Main | 指定 classpath 运行(Windows 用分号,Linux/Mac 用冒号) |
jar -cvf app.jar *.class | 打包成 jar |
java -jar app.jar | 运行 jar 包 |
二、IDE(Eclipse)常用操作
| 要做的事 | 操作路径 |
|---|
| 新建项目 | File → New → Java Project |
| 新建类 | 右键 src → New → Class,勾选 public static void main |
| 运行 | 右键 → Run As → Java Application(快捷键 Ctrl+F11) |
| 导入 jar | 右键项目 → Build Path → Configure Build Path → Libraries → Add External JARs |
| 格式化代码 | Ctrl+Shift+F |
| 自动补全 | 输入对象名 + . 弹出方法列表(Alt+/ 补全) |
| 调试 | 双击行号打断点 → Debug As → Java Application(F6 单步) |
三、语法骨架
只记结构,具体问题回对应章节
| 类别 | 写法 |
|---|
| 类 | public class 类名 { } |
| 方法 | public static void 方法名(参数类型 参数名) { } |
| 变量 | 类型 变量名 = 值; |
| 数组 | int[] a = new int[5]; / int[] a = {1,2,3}; |
| 分支 | if (...) { } else if (...) { } else { } / switch (x) { case 1: break; } |
| 循环 | for (...; ...; ...) { } / while (...) { } / do { } while (...); |
| 继承 | class 子类 extends 父类 { } |
| 接口 | class 类 implements 接口 { } |
| 异常 | try { } catch (Exception e) { } finally { } |
| 导包 | import java.util.ArrayList; |
四、常见异常对照
看到异常先在这里对一下,再去查代码
| 异常 | 含义 | 常见原因 |
|---|
| NullPointerException | 空指针 | 对象未 new 就调用方法 |
| ArrayIndexOutOfBoundsException | 数组越界 | 下标 ≥ 长度 |
| ClassCastException | 类型转换异常 | 向下转型没先 instanceof |
| NumberFormatException | 数字格式异常 | 把非数字字符串 parseInt |
| ArithmeticException | 算术异常 | 整数除以 0 |
| InputMismatchException | 输入类型不匹配 | nextInt 时输入了字母 |
| IOException | 输入输出异常 | 文件不存在、无权限 |
| SQLException | 数据库异常 | SQL 写错、连接参数不对 |
五、JDK / JRE / JVM
依据第1章课件
| 名称 | 包含什么 | 什么时候用 |
|---|
| JDK | 开发工具(javac/jar)+ JRE | 开发环境装这个 |
| JRE | JVM + 核心类库 | 只运行程序装这个 |
| JVM | 执行字节码的虚拟机 | 由 JRE/JDK 自带,不用单独装 |