JavaSE-语言基础

JavaSE – 语言基础
(2026 年视角 · 零基础到能写小项目 · 核心知识点全梳理 + 代码示例 + 常见易错点)

JavaSE(Standard Edition)是 Java 的标准版,也是所有 Java 开发者的起点。
语言基础部分主要指:能独立写出正确、可读的 Java 程序 的那一套语法规则和核心机制。

下面按实际学习顺序 + 面试/项目高频度整理,建议按这个顺序掌握。

一、Java 入门 & 开发环境(先跑通 Hello World)

  1. JDK / JRE / JVM 区别(面试必问)
名词全称作用包含什么记住一句话
JDKJava Development Kit开发工具包(写代码 + 运行)JRE + 编译器 javac + 工具开发者下载这个
JREJava Runtime Environment运行环境(只跑程序)JVM + 核心类库 rt.jar给最终用户跑 jar 的环境
JVMJava Virtual MachineJava 虚拟机(真正执行字节码)类加载器 + 字节码执行引擎等.java → .class → JVM 解释执行

2026 年主流:JDK 17 / 21(LTS)JDK 23/24(最新特性预览)

  1. 第一个程序(必须自己敲)
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, JavaSE 2026!");
    }
}

编译运行命令(命令行练习用):

javac HelloWorld.java
java HelloWorld

二、Java 基本语法规则(写代码的“交通规则”)

规则说明示例 / 注意事项
大小写敏感class ≠ Class关键字、标识符、类名都区分大小写
每条语句以 ; 结尾必须!System.out.println(“hi”);
{} 代码块类、方法、if、循环都要用 {} 包住强烈建议写,即使只有一行
单行注释//// 这是一行注释
多行注释/* … *//* 多行 */
文档注释/** … */用于 javadoc 生成 API 文档
源文件编码推荐 UTF-8IDEA 默认 UTF-8,避免中文乱码

三、标识符 & 命名规范(写代码像写中文作文)

类型规则推荐命名风格(2026 主流)示例
标识符字母、数字、下划线、$ 开头;不能数字开头;不能是关键字age, _count, $price
类名大驼峰首字母大写 + 驼峰UserService, OrderEntity
接口名大驼峰通常以 I 或 Able 结尾(可选)Runnable, Comparable
方法名小驼峰动词或动词+名词getName, calculateTotal
变量名小驼峰名词或形容词+名词userAge, totalPrice
常量名全大写 + 下划线MAX_VALUE, PI
包名全小写,多级用 . 分隔公司域名单词倒写com.company.project

四、数据类型(8 大基本类型 + 引用类型)

8 种基本数据类型(值类型,栈上分配)

类型字节默认值取值范围包装类常见场景
byte10-128 ~ 127Byte文件流、小整数
short20-32768 ~ 32767Short很少用
int40-2^31 ~ 2^31-1 ≈ -21亿 ~ 21亿Integer最常用整数
long80L-2^63 ~ 2^63-1LongID、大金额、时间戳
float40.0f≈ ±3.4E38Float很少用(精度问题)
double80.0≈ ±1.8E308Double科学计算、小数最常用
char20 ~ 65535(Unicode)Character单个字符
boolean~1bitfalsetrue / falseBoolean条件判断

引用类型(地址类型,堆上分配)

  • 类、接口、数组、枚举、注解
  • 默认值:null

字面量写法示例(2026 常见写法)

int a = 100;
long b = 100_000_000_000L;     // 下划线分隔,可读性好(Java 7+)
double c = 3.14;
float d = 3.14f;
char e = '中';                 // 单引号
String s = "Hello 2026";       // 双引号(引用类型)
boolean flag = true;

五、类型转换(自动 + 强制)

自动类型转换(从小 → 大,安全)

byte → short → int → long → float → double
char → int

强制类型转换(可能丢失精度)

int i = 100;
byte b = (byte) i;          // 强制

double d = 3.99;
int n = (int) d;            // 3(直接截断,不是四舍五入)

long l = 9999999999L;
int m = (int) l;            // 溢出!得到负数或乱值

常见陷阱

byte x = 1;
byte y = 2;
// byte z = x + y;   // 错!int + int = int
byte z = (byte)(x + y);     // 正确

六、运算符(优先级 + 常见坑)

类别运算符优先级坑点 / 注意
算术+ – * / % ++ —/ 整数除法直接截断;% 可用于负数
关系> < >= <= == !=== 比较基本类型值,引用类型比较地址
逻辑&& || ! 短路与/或&& 左false右不执行;|| 左true右不执行
位运算& | ^ ~ << >> >>>面试常考:& vs &&,<< 乘2,>>> 无符号右移
赋值= += -= *= /= %= <<= >>=最低a += 5 等价 a = (int)(a + 5)
三元条件 ? 表达式1 : 表达式2可嵌套,但别写太复杂

经典面试题

int i = 1;
i = i++;     // i 还是 1(先用后加)
i = ++i;     // i 变成 2(先加后用)

七、流程控制(程序的“大脑”)

  1. if-else / if-else if-else
  2. switch(Java 17+ 支持 switch 表达式 + 模式匹配)
// 传统 switch
switch (day) {
    case 1, 2, 3, 4, 5 -> System.out.println("工作日");
    case 6, 7           -> System.out.println("周末");
    default             -> System.out.println("非法");
}

// Java 14+ switch 表达式(推荐)
String type = switch (score / 10) {
    case 10, 9 -> "优秀";
    case 8     -> "良好";
    case 7     -> "中等";
    default    -> "不及格";
};
  1. 循环:for / while / do-while / for-each
// for-each(最常用遍历数组/集合)
for (int num : arr) {
    System.out.println(num);
}
  1. break / continue / 带标签的跳出
outer: for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        if (j == 3) break outer;   // 跳出双层循环
    }
}

八、数组(基础数据结构)

// 声明 + 创建 + 初始化
int[] arr1 = new int[5];                // 默认 0
int[] arr2 = {1, 2, 3, 4, 5};           // 静态初始化
String[] names = new String[]{"Tom", "Jerry"};

// 二维数组(不规则也行)
int[][] matrix = {
    {1, 2, 3},
    {4, 5},
    {6, 7, 8, 9}
};

常见操作:length、遍历、拷贝(System.arraycopy 或 Arrays.copyOf)

九、Scanner 输入(控制台交互必备)

import java.util.Scanner;

Scanner sc = new Scanner(System.in);
System.out.print("请输入年龄:");
int age = sc.nextInt();
String name = sc.next();           // 读到空格停止
String line = sc.nextLine();       // 读整行(常跟 nextInt 后用)

:nextInt() 后 nextLine() 会读到回车 → 解决方案:加一个 nextLine() 吃掉回车。

总结:JavaSE 语言基础掌握度自测表

  • [ ] 能独立写出 HelloWorld 并命令行编译运行
  • [ ] 能区分 8 大基本类型 + 包装类 + 默认值
  • [ ] 熟练使用变量、常量、命名规范
  • [ ] 会自动/强制类型转换 & 常见溢出坑
  • [ ] 掌握所有运算符优先级 & 经典 i++ / ++i 题
  • [ ] 能写出 if / switch / 三种循环 & break/continue
  • [ ] 会声明、使用一维/二维数组 & for-each
  • [ ] 会用 Scanner 安全读入各种类型

掌握以上内容 ≈ JavaSE 语言基础 70–80%(剩下的 20–30% 是面向对象 + String + 异常 + 集合基础)。

你现在处于哪个阶段?

  • 完全零基础,想从环境搭建开始?
  • 已经能写简单程序,想系统过一遍语法坑?
  • 准备面试,想重点刷常考基础题?

告诉我你的情况,我可以继续给你更针对性的下一部分(比如面向对象、String 详解、数组进阶、常见笔试题等)~ 😄

文章已创建 4237

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部