Java 学习笔记 · 第一课:基础语法与核心概念

24 阅读4分钟

适合零基础入门,知识点密度适中,代码示例可直接运行。


  1. 什么是 Java?

Java 是一种面向对象的、跨平台的编程语言,由 Sun Microsystems(现 Oracle)于 1995 年发布。其核心设计理念是 “Write Once, Run Anywhere”(一次编写,到处运行)。

1.1 三大平台

平台 用途 Java SE(标准版) 桌面应用、基础库 Java EE(企业版) Web 应用、分布式系统 Java ME(微型版) 嵌入式设备(已较少使用)

1.2 运行机制

· 源代码(.java)→ 编译成字节码(.class)→ 由 JVM(Java 虚拟机) 解释执行。 · 不同操作系统安装对应的 JVM,但字节码相同,实现跨平台。


  1. 数据类型

Java 是强类型语言,每个变量必须声明类型。

2.1 基本数据类型(8 种)

类型 关键字 占用字节 取值范围 整型 byte 1 -128 ~ 127 整型 short 2 -32768 ~ 32767 整型 int(默认) 4 约 ±21 亿 整型 long(加 L) 8 极大 浮点型 float(加 F) 4 约 ±3.4e38 浮点型 double(默认) 8 约 ±1.8e308 字符型 char 2 0 ~ 65535(Unicode) 布尔型 boolean 1(JVM 决定) true / false

// 示例
int age = 25;
long bigNum = 10000000000L;    // 必须加 L
float price = 19.99F;          // 必须加 F
double pi = 3.14159;
char grade = 'A';
boolean isPass = true;

2.2 引用数据类型

· 类(String 等)、接口、数组、枚举都属于引用类型。 · 引用类型变量存储的是对象的地址,而非值本身。

String name = "Java";   // String 是引用类型
int[] scores = {90, 85}; // 数组也是引用类型

  1. Java 运算符

3.1 算术运算符

      • / %(取余) ++ --
int a = 10, b = 3;
System.out.println(a / b);   // 3(整数除法)
System.out.println(a % b);   // 1(余数)

int x = 5;
System.out.println(x++);     // 5(先使用后自增)
System.out.println(++x);     // 7(先自增后使用)

3.2 赋值运算符

= += -= *= /= %=

int n = 10;
n += 5;   // 等价于 n = n + 5 → 15

3.3 比较运算符(返回 boolean)

== != > < >= <=

System.out.println(10 > 5);   // true
System.out.println(10 == 5);  // false

3.4 逻辑运算符(操作 boolean)

&&(与) ||(或) !(非) ^(异或)

boolean b1 = true, b2 = false;
System.out.println(b1 && b2);  // false
System.out.println(b1 || b2);  // true
System.out.println(!b1);       // false

3.5 位运算符(了解即可)

& | ^ ~ << >> >>>(无符号右移)

3.6 三元运算符(条件 ? 表达式1 : 表达式2)

int score = 85;
String result = (score >= 60) ? "及格" : "不及格";
System.out.println(result);   // 及格

  1. 流程控制语句

4.1 条件分支

if-else

int age = 18;
if (age >= 18) {
    System.out.println("成年");
} else if (age >= 12) {
    System.out.println("少年");
} else {
    System.out.println("儿童");
}

switch(支持 int、char、String、枚举)

String day = "周一";
switch (day) {
    case "周一":
        System.out.println("上班");
        break;
    case "周日":
        System.out.println("休息");
        break;
    default:
        System.out.println("其他");
}

4.2 循环结构

for 循环

// 打印 1~5
for (int i = 1; i <= 5; i++) {
    System.out.print(i + " ");
}
// 输出:1 2 3 4 5

while 循环

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

do-while(至少执行一次)

int i = 1;
do {
    System.out.print(i + " ");
    i++;
} while (i <= 5);

4.3 跳转语句

· break:跳出当前循环或 switch · continue:跳过本次循环剩余代码,进入下一次 · return:结束方法

for (int i = 1; i <= 10; i++) {
    if (i == 5) break;      // 到5停止
    if (i % 2 == 0) continue; // 跳过偶数
    System.out.print(i + " "); // 输出:1 3 
}

  1. 一维数组

数组是相同类型数据的有序集合,长度固定。

5.1 声明与初始化

// 方式1:声明并指定长度(默认初始值:int→0,double→0.0,引用→null)
int[] arr1 = new int[3];
arr1[0] = 10;
arr1[1] = 20;
arr1[2] = 30;

// 方式2:直接赋值(静态初始化)
int[] arr2 = {1, 2, 3, 4, 5};

// 方式3:new + 初始化
int[] arr3 = new int[]{6, 7, 8};

5.2 常见操作

int[] nums = {5, 3, 8, 1, 9};

// 遍历(for)
for (int i = 0; i < nums.length; i++) {
    System.out.print(nums[i] + " ");
}

// 增强 for(for-each)
for (int n : nums) {
    System.out.print(n + " ");
}

// 求最大值
int max = nums[0];
for (int i = 1; i < nums.length; i++) {
    if (nums[i] > max) max = nums[i];
}
System.out.println("最大值:" + max);

  1. 二维数组

本质上是一维数组的元素仍为一维数组(数组的数组)。

6.1 声明与初始化

// 方式1:指定行数和列数(每个元素默认 0)
int[][] matrix1 = new int[2][3]; // 2行3列

// 方式2:静态初始化
int[][] matrix2 = {
    {1, 2, 3},
    {4, 5, 6}
};

// 方式3:不规则数组(每行长度可以不同)
int[][] matrix3 = new int[2][];
matrix3[0] = new int[]{1, 2};
matrix3[1] = new int[]{3, 4, 5, 6};

6.2 遍历

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

// 普通嵌套 for
for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + " ");
    }
    System.out.println();
}

// 增强 for 嵌套
for (int[] row : matrix) {
    for (int val : row) {
        System.out.print(val + " ");
    }
    System.out.println();
}

6.3 常见应用:矩阵加法

int[][] a = {{1,2},{3,4}};
int[][] b = {{5,6},{7,8}};
int[][] sum = new int[2][2];

for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a[0].length; j++) {
        sum[i][j] = a[i][j] + b[i][j];
    }
}
// 输出 sum 为 {{6,8},{10,12}}

  1. 本课总结

知识点 核心要点 Java 概述 跨平台、JVM、面向对象 数据类型 8 种基本类型 + 引用类型(String、数组等) 运算符 算术、赋值、比较、逻辑、三元 流程控制 if-else、switch、for、while、do-while、break/continue 一维数组 声明、初始化、length、遍历、增删改查思路 二维数组 行优先、不规则、双重遍历

✨ 下一课预告:面向对象编程(类与对象、封装、构造方法、this 关键字)。