20260713-笔记.md 9.0 KB

JavaSE 基础 — Day01 笔记

日期:2026-07-13
项目javaSE-260713-FirstJava
作者:WanJL


一、Java 文件结构

一个 .java 源文件由两部分组成:

组成部分 说明
Java 代码 真正参与运行的程序指令
Java 注释 写给程序员看的说明文字,不参与编译和运行

二、Java 注释

Java 提供三种注释方式:

注释类型 语法 用途
单行注释 // 注释内容 注释单行说明
多行注释 /* 注释内容 */ 注释多行说明文字
文档注释 /** 注释内容 */ 为类、方法生成 API 文档(JDK 自带 javadoc 工具)

示例

// 这是单行注释

/*
   这是
   多行注释
*/

/**
 * 这是文档注释
 * @author WanJl
 * @version 1.0
 */

三、核心概念 — 数据

Java 程序的核心是数据,数据分为不同数据类型

1. 常量 / 字面量

直接写在代码中的具体值称为字面量(Literal)

25          // 整数字面量
"张三"      // 字符串字面量
7           // 整数字面量

2. 变量

变量是存放数据的容器,可以理解为贴了标签的盒子。

定义变量的格式

数据类型 变量名 = 变量值;

每一条 Java 语句以 分号 ; 结束。

示例

int age = 25;
// int  → 数据类型(整数类型,integer 的缩写)
// age  → 变量名
// 25   → 字面量

四、Java 数据类型

Java 中的数据类型分为两大类:

1. 基本数据类型(Primitive Type)

从 C / C++ 继承而来,共 4 类 8 种

类型 说明 位数(bit) 字节数(byte) 表示范围
byte 字节型 8 1 -2^7 ~ 2^7-1
short 短整型 16 2 -2^15 ~ 2^15-1
int 整型 32 4 -2^31 ~ 2^31-1
long 长整型 64 8 -2^63 ~ 2^63-1
float 单精度浮点型 32 4 约 ±3.4×10³⁸
double 双精度浮点型 64 8 约 ±1.8×10³⁰⁸
char 字符型 16 2 0 ~ 65535(Unicode)
boolean 布尔型 1(JVM 中占 1 字节) 1 true / false

分配内存的原则:程序运行在内存中,不同大小的数据需要分配不同的内存空间。例如「一个人的年龄」和「太阳到地球的距离(米)」显然不能分配相同大小的内存。

存储单位换算

单位 换算
1 bit(比特位) 1 位二进制数(0 或 1)
1 B(字节) 8 bit
1 KB 1024 B
1 MB 1024 KB
1 GB 1024 MB
1 TB 1024 GB

⚠️ 计算机最小的存储单元是 bit,但最小的分配单元byte(1 字节 = 8 bit)。好比烧烤店 1 串 3 元,但至少 5 串起卖。

2. 引用数据类型(Reference Type)

面向对象语言特有的类型。Java 中除了 8 种基本数据类型,其余全部属于引用数据类型。

包括:

  • Java 类(class
  • Java 接口(interface
  • Java 数组([]
  • Java 枚举(enum
  • Java 注解(@interface

后续课程会详细讲解引用类型。

3. 基本数据类型注意事项(特殊规则)

// 特殊 1:long 类型赋值时,整数值末尾要加 L 或 l(推荐大写 L)
long distance = 10000000000L;

// 特殊 2:float 类型赋值时,小数值末尾要加 F 或 f
float price = 19.99F;

// 特殊 3:char 类型必须使用单引号 '' 括起来,且只能有 1 个字符
char gender = '男';

// 特殊 4:boolean 类型值只能是 true 或 false
boolean isPass = true;

4. 基本数据类型 vs 引用数据类型

Java 中除了 8 种基本数据类型,其余全部是引用数据类型。两者核心区别如下:

对比维度 基本数据类型 引用数据类型
存什么 直接存"值" 存数据在内存中分配的空间地址值
默认值 0 / 0.0 / false null
赋值 直接复制值,值之间互相独立 复制的是地址值
比较 比较的是值 比较的是地址(==

典型引用类型:String(字符串)

String name = "张三";

⚠️ 注意String 不是关键字(keyword),它是 Java 官方提供的类,属于引用数据类型。

所有引用数据类型的命名都遵循大驼峰(PascalCase):每个单词首字母大写。

例如:StringBufferMyClassStudentName


五、输出语句

System.out.println(输出的内容);
关键字 含义
System 系统
out 输出
print 打印
ln 换行(等价于 \n

快捷输入:在 IntelliJ IDEA 中输入 sout + Tab 可直接生成。


六、程序入口 — main 方法

public static void main(String[] args) {
    // 代码写在这里才能执行
}
  • main 方法是 Java 程序的运行入口
  • 所有可执行的代码必须放在 main 方法内部
  • 快捷输入:在 IntelliJ IDEA 中输入 psvm + Tab

七、变量命名规则

规则 说明
① 允许的字符 字母(a~z、A~Z)、数字(0~9)、美元符号 $、下划线 _
② 大小写敏感 ageAge 是两个不同的变量
③ 禁止关键字 不能使用 Java 关键字/保留字(如 publicstaticvoidclass 等)
④ 驼峰命名法 小驼峰:第一个单词首字母小写,后续单词首字母大写(如 myName

八、完整代码示例

Demo01.java — 概念总览

public class Demo01 {
    // 单行注释

    /*
        多行注释
    */

    /**
     * 文档注释
     */

    // 此处仅为概念说明,无 main 方法,不能独立运行
}

Demo02.java — 变量与输出实战

/**
 * @author WanJl
 * @version 1.0
 * @title Demo02
 * @create 2026/7/13
 */
public class Demo02 {
    public static void main(String[] args) {
        // 1. 定义变量
        int age = 24;

        // 2. 输出变量
        System.out.println(age);
    }
}

Main.java — 默认入口模板

public class Main {
    public static void main(String[] args) {
        System.out.printf("Hello and welcome!");

        for (int i = 1; i <= 5; i++) {
            System.out.println("i = " + i);
        }
    }
}

Demo03.java — 数据类型实战

/**
 * @author WanJl
 * @version 1.0
 * @title Demo03
 * @create 2026/7/13
 */
public class Demo03 {
    public static void main(String[] args) {
        // 创建各种基本数据类型的变量并输出
        int a = 15;
        System.out.println(a);

        // 特殊 1:long 类型要在整数值后面加 L 或 l
        // 特殊 2:float 类型要在小数后面加 F 或 f
        // 特殊 3:char 类型的值必须使用单引号,且只能是 1 个字符
        // 特殊 4:boolean 类型的值只能是 true 或 false
    }
}

Demo04.java — 基本类型 vs 引用类型 & String

/**
 * @author WanJl
 * @version 1.0
 * @title Demo04
 * @create 2026/7/13
 */
public class Demo04 {
    public static void main(String[] args) {
        // String 是典型的引用数据类型
        String name = "张三";
        String gender = "男";
        String school = "我的学校";

        System.out.println(name);
        System.out.println(gender);
        System.out.println(school);

        /*
            基本数据类型 vs 引用数据类型
            存什么:  直接存"值"      vs   存地址值
            默认值:  0/0.0/false    vs   null
            赋值:    复制值(独立)   vs   复制地址
            比较:    比较值          vs   比较地址
        */
    }
}

九、随堂练习要点

  1. 使用 psvm 快速生成 main 方法
  2. 使用 sout 快速生成 System.out.println()
  3. 理解 // 注释的内容不会被执行
  4. 变量的定义必须遵循命名规则
  5. 每条 Java 语句以 ; 结尾
  6. 牢记 4 类 8 种基本数据类型:byteshortintlongfloatdoublecharboolean
  7. 区分基本数据类型与引用数据类型的 4 大区别(存什么、默认值、赋值、比较)
  8. 掌握基本数据类型的 4 条特殊赋值规则(LF、单引号、true/false
  9. 理解 bit(位)与 byte(字节)的关系及存储单位换算
  10. 记住 String 是引用数据类型,不是关键字,采用大驼峰命名

十、拓展阅读

概念 说明
关键字(Keyword) Java 预留的具有特殊含义的单词(如 publicclassstaticvoidint
保留字(Reserved Word) 暂未使用但预留的单词(如 gotoconst
标识符(Identifier) 程序员自定义的名称(类名、方法名、变量名等)