适合零基础入门,知识点密度适中,代码示例可直接运行。
- 什么是 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,但字节码相同,实现跨平台。
- 数据类型
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
java
// 示例
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 等)、接口、数组、枚举都属于引用类型。 · 引用类型变量存储的是对象的地址,而非值本身。
java
String name = "Java"; // String 是引用类型
int[] scores = {90, 85}; // 数组也是引用类型
- Java 运算符
3.1 算术运算符
-
-
- / %(取余) ++ --
-
java
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 赋值运算符
= += -= *= /= %=
java
int n = 10;
n += 5; // 等价于 n = n + 5 → 15
3.3 比较运算符(返回 boolean)
== != > < >= <=
java
System.out.println(10 > 5); // true
System.out.println(10 == 5); // false
3.4 逻辑运算符(操作 boolean)
&&(与) ||(或) !(非) ^(异或)
java
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)
java
int score = 85;
String result = (score >= 60) ? "及格" : "不及格";
System.out.println(result); // 及格
- 流程控制语句
4.1 条件分支
if-else
java
int age = 18;
if (age >= 18) {
System.out.println("成年");
} else if (age >= 12) {
System.out.println("少年");
} else {
System.out.println("儿童");
}
switch(支持 int、char、String、枚举)
java
String day = "周一";
switch (day) {
case "周一":
System.out.println("上班");
break;
case "周日":
System.out.println("休息");
break;
default:
System.out.println("其他");
}
4.2 循环结构
for 循环
java
// 打印 1~5
for (int i = 1; i <= 5; i++) {
System.out.print(i + " ");
}
// 输出:1 2 3 4 5
while 循环
java
int i = 1;
while (i <= 5) {
System.out.print(i + " ");
i++;
}
do-while(至少执行一次)
java
int i = 1;
do {
System.out.print(i + " ");
i++;
} while (i <= 5);
4.3 跳转语句
· break:跳出当前循环或 switch · continue:跳过本次循环剩余代码,进入下一次 · return:结束方法
java
for (int i = 1; i <= 10; i++) {
if (i == 5) break; // 到5停止
if (i % 2 == 0) continue; // 跳过偶数
System.out.print(i + " "); // 输出:1 3
}
- 一维数组
数组是相同类型数据的有序集合,长度固定。
5.1 声明与初始化
java
// 方式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 常见操作
java
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);
- 二维数组
本质上是一维数组的元素仍为一维数组(数组的数组)。
6.1 声明与初始化
java
// 方式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 遍历
java
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 常见应用:矩阵加法
java
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}}
- 本课总结
知识点 核心要点 Java 概述 跨平台、JVM、面向对象 数据类型 8 种基本类型 + 引用类型(String、数组等) 运算符 算术、赋值、比较、逻辑、三元 流程控制 if-else、switch、for、while、do-while、break/continue 一维数组 声明、初始化、length、遍历、增删改查思路 二维数组 行优先、不规则、双重遍历
✨ 下一课预告:面向对象编程(类与对象、封装、构造方法、this 关键字)。