news 2026/7/14 18:03:46

JavaSE-语言基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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. 第一个程序(必须自己敲)
publicclassHelloWorld{publicstaticvoidmain(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科学计算、小数最常用
char2‘’0 ~ 65535(Unicode)Character单个字符
boolean~1bitfalsetrue / falseBoolean条件判断

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

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

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

inta=100;longb=100_000_000_000L;// 下划线分隔,可读性好(Java 7+)doublec=3.14;floatd=3.14f;chare='中';// 单引号Strings="Hello 2026";// 双引号(引用类型)booleanflag=true;

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

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

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

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

inti=100;byteb=(byte)i;// 强制doubled=3.99;intn=(int)d;// 3(直接截断,不是四舍五入)longl=9999999999L;intm=(int)l;// 溢出!得到负数或乱值

常见陷阱

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

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

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

经典面试题

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

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

  1. if-else / if-else if-else
  2. switch(Java 17+ 支持 switch 表达式 + 模式匹配)
// 传统 switchswitch(day){case1,2,3,4,5->System.out.println("工作日");case6,7->System.out.println("周末");default->System.out.println("非法");}// Java 14+ switch 表达式(推荐)Stringtype=switch(score/10){case10,9->"优秀";case8->"良好";case7->"中等";default->"不及格";};
  1. 循环:for / while / do-while / for-each
// for-each(最常用遍历数组/集合)for(intnum:arr){System.out.println(num);}
  1. break / continue / 带标签的跳出
outer:for(inti=0;i<5;i++){for(intj=0;j<5;j++){if(j==3)breakouter;// 跳出双层循环}}

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

// 声明 + 创建 + 初始化int[]arr1=newint[5];// 默认 0int[]arr2={1,2,3,4,5};// 静态初始化String[]names=newString[]{"Tom","Jerry"};// 二维数组(不规则也行)int[][]matrix={{1,2,3},{4,5},{6,7,8,9}};

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

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

importjava.util.Scanner;Scannersc=newScanner(System.in);System.out.print("请输入年龄:");intage=sc.nextInt();Stringname=sc.next();// 读到空格停止Stringline=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 详解、数组进阶、常见笔试题等)~ 😄

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 15:54:47

基于知识图谱的汽车百科问答系统

目录 一、研究目的 二、研究意义 三、国外研究现状分析 四、国内研究现状分析 五、研究内容 1. 需求分析 2. 可行性分析 3. 功能分析 六、数据库设计 七、建表MySQL代码 一、研究目的 本研究的核心目的在于设计并实现一个基于知识图谱技术、具备深度语义理解与推理能…

作者头像 李华
网站建设 2026/6/29 22:13:13

基于springboot的大学生评价反馈系统设计开发实现

背景与意义 教育信息化需求增长 随着高等教育普及化&#xff0c;高校师生规模扩大&#xff0c;传统纸质或线下反馈方式效率低、数据难以统计。教育信息化政策推动下&#xff0c;数字化评价系统成为提升教学管理效率的刚需工具。 教学质量提升需求 学生评教是教学质量监控的…

作者头像 李华
网站建设 2026/7/10 9:16:31

MySQL 无法“跳过”中间行,必须物理扫描所有前置行的庖丁解牛

“MySQL 无法‘跳过’中间行&#xff0c;必须物理扫描所有前置行” 是深度分页&#xff08;LIMIT offset, size&#xff09;性能灾难的根本原因。这并非 MySQL 的设计缺陷&#xff0c;而是 由其存储引擎架构与 SQL 语义决定的必然结果。 一、B 树结构&#xff1a;为什么不能“跳…

作者头像 李华
网站建设 2026/7/8 10:26:39

用恋爱脑解释AI:原来算法追人和你追crush一模一样!

当你的心跳加速时&#xff0c;AI的神经网络也在“怦然心动” 开篇&#xff1a;那个让你失眠的crush 上周&#xff0c;朋友小李凌晨三点给我发消息&#xff1a;“她给我朋友圈点赞了&#xff01;但没回我微信…AI能分析出她到底喜不喜欢我吗&#xff1f;” 我看着他发来的密密麻…

作者头像 李华
网站建设 2026/7/12 23:54:02

Scaling Laws for Neural Language Models

第001/30页(英文原文) Scaling Laws for Neural Language Models Jared Kaplan ∗ Johns Hopkins University, OpenAI Abstract We study empirical scaling laws for language model performance on the cross-entropy loss. The loss scales as a power-law with model…

作者头像 李华