Java 的核心语法是学习 Java 编程的起点,主要包括变量与数据类型、运算符、流程控制(条件判断 + 循环)等基础内容。下面从最基础的部分开始,系统地讲解这些核心语法,并配以清晰的示例和流程图参考。
1. 变量与数据类型(Variables & Data Types)
Java 是强类型语言,所有变量使用前必须先声明类型。
基本数据类型(Primitive Types)
| 类型 | 关键字 | 占用字节 | 取值范围 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 整数 | byte | 1 | -128 ~ 127 | 0 | 很小的整数 |
| 整数 | short | 2 | -32,768 ~ 32,767 | 0 | 短整数 |
| 整数 | int | 4 | -2³¹ ~ 2³¹-1(约±21亿) | 0 | 最常用的整数类型 |
| 整数 | long | 8 | -2⁶³ ~ 2⁶³-1 | 0L | 大整数,后缀 L/l |
| 浮点数 | float | 4 | ±3.4E±38(约6~7位有效数字) | 0.0f | 单精度,后缀 F/f |
| 浮点数 | double | 8 | ±1.7E±308(约15位有效数字) | 0.0 | 双精度,最常用 |
| 字符 | char | 2 | ” ~ ‘\uFFFF’(Unicode) | ” | 单个字符,用单引号 |
| 布尔 | boolean | ~1bit | true / false | false | 逻辑值 |
数据类型层级示意图参考(直观理解基本类型与引用类型的区别):
以下是几种常见的数据类型分类图:
变量声明与初始化示例
public class Variables {
public static void main(String[] args) {
// 声明 + 初始化
int age = 25;
double height = 1.75;
char gender = '男';
boolean isStudent = true;
String name = "重阳"; // String 是引用类型(不是基本类型)
// 可以分开声明和赋值
long population;
population = 14_000_000_000L; // 数字分隔符 Java7+ 支持
System.out.println("姓名:" + name);
System.out.println("年龄:" + age + "岁");
}
}
2. 运算符(Operators)
| 类别 | 运算符 | 说明 | 优先级 |
|---|---|---|---|
| 算术 | + – * / % ++ — | 加减乘除取模 自增自减 | 高 |
| 关系(比较) | > < >= <= == != | 比较大小/相等 | 中 |
| 逻辑 | && || ! | 与 或 非 | 中 |
| 位运算 | & | ^ ~ << >> >>> | 位与/或/异或/非 左右移 | 低 |
| 赋值 | = += -= *= /= %= <<= >>= &= |= ^= | 赋值及复合赋值 | 最低 |
| 三元 | 条件 ? 表达式1 : 表达式2 | 简洁的 if-else | 中 |
三元运算符示例:
int score = 85;
String result = score >= 60 ? "及格" : "不及格";
System.out.println(result); // 输出:及格
3. 流程控制(Control Flow)
3.1 条件判断
if / else if / else
int score = 76;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
if-else 流程图参考(非常清晰的结构图):
以下是几种 if 语句的流程示意图:
switch 语句(Java 17+ 支持增强型 switch 表达式)
// 传统写法
String season = "夏天";
switch (season) {
case "春天":
System.out.println("万物复苏");
break;
case "夏天":
System.out.println("炎热难耐");
break;
default:
System.out.println("其他季节");
}
3.2 循环语句
Java 提供三种循环结构:
| 循环类型 | 特点 | 适用场景 | 至少执行次数 |
|---|---|---|---|
| for | 计数循环,结构清晰 | 已知循环次数 | 0~n 次 |
| while | 先判断后执行 | 不确定循环次数 | 0~n 次 |
| do-while | 先执行后判断 | 至少执行一次 | 至少1次 |
三种循环结构对比示意图:
示例代码(三种循环对比)
public class LoopsDemo {
public static void main(String[] args) {
// 1. for 循环 - 打印 1~5
System.out.println("for 循环:");
for (int i = 1; i <= 5; i++) {
System.out.print(i + " ");
}
System.out.println();
// 2. while 循环 - 猜数字(简化版)
System.out.println("while 循环:");
int count = 0;
while (count < 3) {
System.out.println("第" + (count + 1) + "次");
count++;
}
// 3. do-while 循环 - 至少执行一次
System.out.println("do-while 循环:");
int num = 0;
do {
System.out.println("这一次 num = " + num);
num++;
} while (num < 0); // 条件不成立但仍执行一次
}
}
循环控制语句:
break:跳出当前整个循环continue:跳过本次循环,继续下一次break label/continue label:跳出/继续指定标签的循环(多层循环时使用)
小结:Java 核心语法学习路径建议
| 阶段 | 重点内容 | 建议练习 |
|---|---|---|
| Day 1-2 | 变量、数据类型、运算符 | 各种类型变量声明与运算 |
| Day 3-4 | if-else / switch / 三元运算符 | 成绩分级、菜单选择 |
| Day 5-7 | for / while / do-while | 九九乘法表、求和、猜数字游戏 |
| Day 8+ | 综合练习 + break/continue | 打印图案、统计、筛选 |
如果你想深入某个部分(例如:嵌套循环打印图案、switch 表达式新语法、循环优化等),或者想要完整的综合练习题,可以告诉我,我会继续展开讲解!