基本语法与 main
类结构、包、编译运行。
基本语法与 main
这一课你将能做到
- 逐词解释
public static void main(String[] args)每个部分的作用,不再靠背 - 独立写出一个带包声明、注释、多条语句的完整 Java 文件并编译运行
- 按团队规范命名类、变量、方法、常量,代码风格和本站后端工程保持一致
为什么要学
Java 是「一切皆对象」的语言:哪怕只打印一句话,也必须先有类、类里必须有 main 方法。本站后端每个 Spring Boot 启动类的入口,就是 main:
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
这一课就是拆解这行代码背后的全部规则:类怎么声明、语句怎么结束、代码块怎么划分、名字怎么起。规则不多,但错一个都跑不起来——语法是后面 12 课的地基。
先建立图像
一个 Java 文件从上到下的固定层次:
Hello.java
├── package com.roadmap.demo; ← 可选:这个类属于哪个包(文件夹)
├── import java.util.List; ← 可选:要用到哪些外部类
└── public class Hello { ← 类:代码必须装在类里
├── 字段(以后学)
└── public static void main(String[] args) { ← 方法:程序入口
└── 语句; ← 每条语句以分号结尾
}
}
包与文件夹的对应关系(本站后端工程就是这样组织的):
src/main/java
└── com/roadmap/user
├── UserController.java
├── UserService.java
└── User.java
跟着做
步骤 1:最小可运行程序
新建 Greet.java:
public class Greet {
public static void main(String[] args) {
System.out.println("Hello"); // 输出不换行用 print
System.out.print("Java");
System.out.print(" 17");
System.out.println(); // 空参 println 只换行
System.out.printf("JDK %d.%d%n", 17, 0); // 格式化输出
}
}
运行:java Greet.java,输出:
Hello
Java 17
JDK 17.0
步骤 2:逐词拆解 main
public static void main(String[] args)
│ │ │ │ └── 参数:字符串数组。命令行跟的参数会进来,
│ │ │ │ 比如 java Greet tom 20 时 args[0]="tom"
│ │ │ └── 方法名:JVM 固定找这个名字作为入口
│ │ └── 返回类型:不返回任何值(入口没有「上家」接结果)
│ └── 静态:JVM 启动时还没有对象,只能不依赖对象直接调用
└── 公开:任何地方(包括 JVM 本身)都能访问
改掉任何一个词(比如去掉 static),JVM 就报「main 方法不是 static」或「在类中找不到 main 方法」。
步骤 3:注释的三种写法
// 1. 单行注释:解释下一行干什么
/* 2. 多行注释:
可以写好几行,
注意不能嵌套 */
/**
* 3. 文档注释:javadoc 工具会提取成文档
* 本站后端 Service 方法上通常写这种,说明入参和返回值
*/
public class CommentDemo {
public static void main(String[] args) {
System.out.println("注释不影响运行"); // 行尾注释也常用
}
}