Java 核心语法完整总结博客 一、前言Java 作为面向对象、跨平台的静态强类型编程语言所有程序运行都基于一套固定核心语法。本文从基础数据类型、流程控制、面向对象、数组集合、异常、常用关键字六大模块梳理 Java 核心语法覆盖入门到开发必备基础适合新手系统复习、面试快速复盘。二、基础语法规范1. 程序结构一个.java源文件只能有一个public修饰类类名必须和文件名完全一致程序入口固定为public static void main(String[] args)方法是 JVM 执行起点语句以分号;结尾代码块使用{}包裹区分大小写注释三种写法单行//、多行/* */、文档注释/** */用于生成 API 文档。示例基础模板javapublic class HelloJava { // 程序入口方法 public static void main(String[] args) { System.out.println(Java核心语法); } }2. 标识符与关键字标识符类名、变量名、方法名规则只能由字母、数字、下划线_、美元符$组成不能以数字开头不能是关键字命名规范类 / 接口大驼峰UserInfo变量 / 方法小驼峰userName常量全大写下划线分隔MAX_AGE关键字public、static、class、if、for、extends、implements等不能自定义使用。三、数据类型与变量Java 是强类型语言变量声明必须指定类型分为基本数据类型、引用数据类型。1. 八大基本数据类型存值在栈内存表格类型占用字节取值范围默认值byte1-128~1270short2-32768~327670int4±21 亿0long8超大整数0Lfloat4单精度小数0.0Fdouble8双精度小数默认浮点0.0char2单个字符 / Unicode\u0000boolean1true / falsefalse注意long数值后缀加Lfloat后缀加Fchar单引号字符串String双引号。2. 引用数据类型堆内存存数据栈存地址类、接口、数组、String、包装类等默认值为null。 包装类基本类型的对象形式Integer、Byte、Double支持自动装箱 / 拆箱。java// 自动装箱 Integer num 10; // 自动拆箱 int n num;3. 变量分类局部变量方法内定义无默认值必须初始化成员变量实例变量类中方法外对象创建后存在有默认值静态变量类变量static修饰属于类全局唯一。4. 类型转换自动转换小→大byte→short→int→long→float→double强制转换大→小可能丢失精度javadouble d 3.14; int a (int) d; // 结果3小数丢失四、运算符1. 算术运算符 - * / % --注意整数相除结果为整数5/22%取模可判断奇偶。2. 赋值运算符 - * / %3. 比较运算符 !结果只能是boolean基本类型比较值引用类型比较地址。4. 逻辑运算符短路与、||短路或、!非短路运算左边不满足时右边不执行。5. 三元运算符条件 ? 成立值 : 不成立值java运行int max a b ? a : b;6. 位运算符、移位运算符 | ^ ~ 底层性能优化常用。五、流程控制语句1. 分支结构if-elsejavaif(条件){} else if(条件){} else{}switch支持byte/short/int/char/String/枚举必须加break防止穿透JDK14 支持-简化写法。javaswitch (num) { case 1 - System.out.println(一); case 2 - System.out.println(二); default - System.out.println(其他); }2. 循环结构for 循环固定次数循环javafor(int i0; i10; i){}增强 for遍历数组 / 集合javaint[] arr {1,2,3}; for(int x : arr){}while先判断后执行do-while先执行后判断至少运行一次3. 跳转关键字break跳出当前循环 /switchcontinue结束本次循环进入下一次return结束当前方法。六、数组数组是固定长度的引用类型容器存储同类型数据。1. 数组定义java// 静态初始化 int[] arr1 {1,2,3}; // 动态初始化 int[] arr2 new int[5];2. 二维数组javaint[][] arr new int[3][4];3. 常用属性数组名.length获取长度数组下标从 0 开始越界会抛出ArrayIndexOutOfBoundsException。七、方法方法是封装一段可复用代码的代码块。1. 方法格式java修饰符 返回值类型 方法名(参数列表){ 方法体; return 返回值; }返回值为void时无需 return实参、形参必须类型匹配。2. 方法重载 Overload同一个类中方法名相同参数个数 / 类型 / 顺序不同与返回值、修饰符无关。javapublic void test(){} public void test(int a){}3. 可变参数类型...参数名底层是数组只能放在参数列表最后一位。javapublic void sum(int... nums){}八、面向对象核心Java 思想核心1. 类与对象类模板、抽象概念对象类的实例通过new创建。java// 定义类 class User{} // 创建对象 User u new User();2. 三大特性封装私有化成员变量private提供get/set方法访问隐藏内部细节继承 extends子类复用父类代码Java 单继承super访问父类多态父类引用指向子类对象方法重写实现不同逻辑前提继承 / 实现、方法重写、父类引用接收子类。3. 构造方法方法名与类名一致无返回值用于对象初始化new时自动调用 无参构造默认存在手写有参构造后默认无参构造消失。4. this 与 superthis代表当前对象调用本类构造、成员super代表父类对象调用父类构造、成员 构造方法中this()/super()必须放在第一行。5. 方法重写 Override子类重写父类非私有方法权限不能低于父类加Override注解校验。6. 抽象类 abstractabstract class可抽象方法无方法体 普通方法不能 new子类必须重写全部抽象方法。7. 接口 interfaceJDK8 前只有抽象常量、抽象方法 JDK8新增默认方法default、静态方法static JDK9私有方法 类实现接口用implements支持多实现接口多继承。8. 内部类、匿名内部类、LambdaLambda 简化函数式接口仅一个抽象方法写法函数式接口标记FunctionalInterface。九、常用修饰符访问权限范围从大到小public protected 默认(不写) privatestatic 静态 修饰变量 / 方法属于类直接类名.调用静态方法只能访问静态成员。final修饰变量常量不可修改修饰方法不能重写修饰类不能继承。abstract抽象类 / 抽象方法synchronized同步锁多线程安全。十、字符串 StringString不可变底层 char 数组每次拼接产生新对象可变字符串StringBuilder单线程高效、StringBuffer多线程安全常用方法length()、substring()、equals()、split()、trim()等字符串常量池优化内存复用。十一、异常处理1. 异常分类Error系统级错误无法处理Exception可处理异常运行时异常 RuntimeException数组越界、空指针无需捕获编译期异常IO、文件必须捕获或抛出。2. 处理语法javatry{ 可能报错代码 }catch(异常类型 e){ 异常处理 }finally{ 一定会执行释放资源 }3. 抛出异常throw方法内手动抛出单个异常对象throws方法声明抛出异常交给调用者处理。十二、集合基础容器核心集合存储引用类型长度可变分为两大根接口Collection 单列集合List有序可重复ArrayList、LinkedList、VectorSet无序不可重复HashSet、TreeSetMap 双列集合键值对HashMap、TreeMap键唯一值可重复通用遍历增强 for、迭代器 Iterator、Lambda 流式遍历。十三、IO、泛型、反射简要核心泛型T编译期类型约束避免强制转换、类型异常IO 流字节流文件读写、字符流文本分输入输出反射运行时获取类、方法、变量框架底层核心原理。十四、结语Java 所有高级框架Spring、MyBatis底层都依赖以上核心语法。学习顺序建议基础语法→流程控制→数组方法→面向对象→字符串异常→集合。掌握核心语法后再深入多线程、IO、网络、框架会事半功倍也是笔试面试高频考察内容。