2. Java 基本语法:代码格式、常量与变量

摘要
本实验深入介绍Java程序的基本语法结构,重点学习代码格式规范、常量与变量的概念和使用方法。内容包括:Java程序的基本结构组成、代码格式化规范与最佳实践、常量的定义和命名规则、变量的声明与初始化、五种基本数据类型的特点和应用场景。

在上一节,我们成功搭建了 Java 开发环境并运行了第一个 Java 程序。现在你已经体验过了编程的乐趣,是时候深入了解 Java 的基本语法了!

这一节我们将学习:

  • Java 程序的基本书写格式(就像写作文要有格式一样)
  • 常量和变量的概念和使用(程序中的"数据容器")
  • 实际动手练习,巩固所学知识
本节重点

通过这节课的学习,你将掌握:

  1. Java 代码的标准格式和书写规范
  2. 如何正确使用常量存储不变的数据
  3. 如何使用变量存储可变的数据
  4. 各种基本数据类型的用法

请打开 IntelliJ IDEA。你可以继续使用上一节创建的 HelloWorld 项目,或者按照上一节的指引创建一个新的 Java 项目(例如命名为 BasicSyntaxDemo)。

快速回顾:创建新项目的主要步骤
  1. 打开 IDEA,点击 “New Project”。
  2. 设置项目名称、位置,选择 Java 语言和 IntelliJ 构建系统。
  3. 确保已正确配置 JDK。
  4. (可选但推荐)勾选 “Add sample code” 或类似选项,让 IDEA 生成一个基础的 Main.java 文件。
  5. 点击 “Create”。

想象一下,如果把 Java 程序比作盖房子,那么程序的结构就是房子的框架。让我们来看看一个标准的 Java 程序是什么样的:

java

// 这是一个单行注释,用于解释代码

/*
 * 这是
 * 一个多行注释
 */
public class Main { // "Main" 是类名,通常与文件名相同
    // "main" 方法是程序的入口点
    public static void main(String[] args) {
        // 在这里编写程序代码
        System.out.println("Hello again!"); // 这是一个输出语句
    }
}

现在让我们逐个解释这些代码的含义:

代码结构详解

1. 类的定义:public class Main

  • 就像每栋房子都有名字,每个 Java 程序都有一个类名
  • Main 是这个类的名字,你可以理解为程序的"身份证"
  • 类名的首字母必须大写,文件名要和类名一致(如 Main.java

2. 程序入口:main 方法

  • public static void main(String[] args) 看起来很复杂,其实很简单
  • 这就是程序的"大门",电脑运行 Java 程序时会从这里开始
  • 现在你只需要记住:所有要执行的代码都写在这个方法的大括号 {} 里面

3. 语句和符号

  • 每行代码语句都要用分号 ; 结尾,就像写句子要加句号
  • 大括号 {} 用来包围一组代码,表示它们是一个整体
  • 注释用来解释代码,有两种写法:
    • 单行注释:// 这里写说明
    • 多行注释:/* 这里可以写很多行说明 */

就像写字要工整一样,编程也要有良好的格式。整洁的代码不仅看起来舒服,更重要的是方便阅读和修改。

代码格式的三大原则

1. 缩进对齐

  • 用 Tab 键或 4 个空格来缩进
  • 内层代码要比外层代码更靠右
  • 就像写大纲,主标题、子标题、内容要分层次

2. 大括号规范

  • 左大括号 { 跟在代码后面
  • 右大括号 } 单独一行,和对应的左大括号对齐

3. 合理使用空格

  • 在符号两边加空格:age = 18(不是 age=18
  • 逗号后面加空格:System.out.println("姓名", name)

上图演示了基本的缩进规则:两个大括号之间的内容,要比包含它们的那一层代码靠右。

IDEA 自动格式化
IntelliJ IDEA 提供了强大的代码格式化功能。你可以随时按下快捷键 Ctrl + Alt + L (Windows/Linux) 或 Cmd + Option + L (Mac) 来自动格式化当前文件的代码,使其符合预设的规范。

在现实生活中,有些事情是不会改变的,比如圆周率、一年有 12 个月等。在编程中,我们把这些不会改变的数据叫做常量

什么是常量?

常量就像一个上了锁的保险箱,一旦存进去数据,就不能再修改了。比如:

  • 圆周率 π = 3.14159…
  • 一周有 7 天
  • 你的学号(入学后就不会变)

在 Java 中,我们用 final 关键字来创建常量。

定义常量的格式:

text

final 数据类型 常量名 = 值;

常量命名规则:

  • 全部用大写字母
  • 多个单词之间用下划线 _ 连接
  • 例如:MAX_SPEED(最大速度)、PI(圆周率)

示例:

java

public class ConstantsDemo {
    public static void main(String[] args) {
        final double PI = 3.14159; // 定义一个名为 PI 的 double 类型常量
        final int MAX_USERS = 100;  // 定义一个名为 MAX_USERS 的 int 类型常量

        System.out.println("圆周率 PI 的值是: " + PI);
        System.out.println("最大用户数是: " + MAX_USERS);

        // PI = 3.14; // 尝试修改常量的值会导致编译错误
    }
}
常量不可修改
一旦一个常量被赋值,就不能再试图改变它的值了。如果尝试修改,编译器会报错。

如果说常量是"保险箱",那么变量就是"容器"——可以往里面放东西,也可以把东西拿出来换成别的。

什么是变量?

变量就像生活中的各种容器,比如:

  • 水杯:可以装水,也可以倒掉重新装果汁
  • 钱包:里面的钱数会变化
  • 学生的年龄:每年都会增长

在编程中,变量用来存储会发生变化的数据。

创建变量的三种方式:

变量的使用步骤

方式一:先声明,后赋值

java

int age;        // 声明一个整数类型的变量
age = 18;       // 给变量赋值

方式二:声明的同时赋值(推荐)

java

int age = 18;   // 一步到位

方式三:先声明,使用时再赋值

java

String name;    // 先声明
// ... 其他代码
name = "张三";  // 后面再赋值

变量命名规则:

  • 第一个单词全小写,后面单词首字母大写(驼峰命名法)
  • 例如:userName(用户名)、studentAge(学生年龄)、totalScore(总分)

Java 的基本数据类型:

数据类型大家庭

int - 整数类型

  • 存储没有小数点的数字
  • 例如:年龄 18、学号 20240001、温度 -5

double - 小数类型

  • 存储带小数点的数字
  • 例如:身高 175.5、成绩 89.5、圆周率 3.14

String - 文字类型

  • 存储一段文字(用双引号包围)
  • 例如:姓名 "张三"、地址 "北京市"

char - 单字符类型

  • 存储单个字符(用单引号包围)
  • 例如:性别 '男'、等级 'A'

boolean - 布尔类型

  • 只能存储 true(是)或 false(否)
  • 例如:是否在校 true、是否毕业 false

示例:

java

public class VariablesDemo {
    public static void main(String[] args) {
        // 声明并初始化变量
        String name = "张三";
        int age = 18;
        double height = 175.5;
        char gender = '男';
        boolean isStudent = true;

        System.out.println("姓名: " + name);
        System.out.println("年龄: " + age);
        System.out.println("身高: " + height + "cm");
        System.out.println("性别: " + gender);
        System.out.println("是学生吗? " + isStudent);

        // 修改变量的值
        age = 19;
        System.out.println("过了一年后,年龄变成了: " + age);
    }
}

现在轮到你动手了!我们要创建一个简单的个人信息展示程序。

练习任务

目标: 制作一个显示学生信息的程序

要求存储的信息:

  • 姓名(可以变化 → 用变量)
  • 年龄(可以变化 → 用变量)
  • 性别(可以变化 → 用变量)
  • 学校名称(固定不变 → 用常量)

思考: 为什么学校名称用常量?因为一旦入学,学校名称就不会改变了!

参考代码:

请在你的 Main.java (或者你为这个实验创建的 Java 文件) 中修改 main 方法,实现上述需求。

java

public class Main {
    public static void main(String[] args) {
        // 定义常量存储学校名称
        final String SCHOOL_NAME = "某某职业技术学院";

        // 定义变量存储个人信息
        String studentName = "李四";
        int studentAge = 20;
        char studentGender = '女';

        // 打印信息到控制台
        System.out.println("--- 学生信息卡 ---");
        System.out.println("姓名: " + studentName);
        System.out.println("年龄: " + studentAge);
        System.out.println("性别: " + studentGender);
        System.out.println("学校: " + SCHOOL_NAME);
    }
}

代码截图示例:

(请注意,上图中的变量名和你的练习要求可能略有不同,请根据题目要求调整)

运行结果示例:

完成练习后,试试这些扩展!

基础版: 按照上面的代码完成基本功能

进阶版: 尝试以下改进

  1. 把年龄改成你的真实年龄,看看输出
  2. 添加一个新的变量存储专业名称
  3. 试试输出更漂亮的格式,比如用星号做装饰边框

挑战版: 让程序计算明年的年龄

java

int currentAge = 20;
int nextYearAge = currentAge + 1;
System.out.println("明年我就" + nextYearAge + "岁了!");

通过这一节的学习,你已经掌握了:

本节收获
Java 程序的基本结构 - 知道程序由类和方法组成
代码格式规范 - 学会写整洁美观的代码
常量的使用 - 用 final 定义不会改变的数据
变量的使用 - 掌握各种数据类型的变量定义
实际编程练习 - 独立完成了个人信息展示程序
继续学习建议
  1. 多练习:尝试创建更多变量,体验不同数据类型
  2. 观察身边:想想生活中哪些是常量,哪些是变量
  3. 准备下一节:我们将学习方法和数组,让程序变得更强大!

IntelliJ IDEA 2024 版本带来了更现代化的界面和 AI 代码辅助功能,感兴趣的同学可以课后探索。