Java 基础语法超详细整理,从入门到精通
Java 基础语法是学习 Java 开发的第一步,是编写规范代码、理解复杂逻辑的根基。本文将围绕注释、关键字、字面量、变量、标识符、数据类型、数据类型转换七大核心知识点展开讲解,搭配语法说明、代码案例与使用规范,适合入门学习、日常复习与面试查漏补缺。
一、注释
1.1 注释概述
注释是编写在程序中,用于解释说明代码功能、逻辑的文本内容。注释仅方便开发者阅读,不会参与编译与运行,最终生成的.class字节码文件中会自动剔除所有注释内容。合理添加注释是良好的编码习惯,能大幅提升代码可读性。
1.2 Java 三种注释格式
Java 一共支持单行注释、多行注释、文档注释三种写法,适用场景各不相同:
- 单行注释格式:
// 注释内容,作用范围为当前整行,多用于解释单行代码。 - 多行注释格式:
/* 注释内容 */,可包裹多行文本,适合对代码块、一段逻辑进行说明。 - 文档注释格式:
/** 注释内容 */,属于 Java 特有注释,可被javadoc工具解析生成官方帮助文档,多用于类、方法的功能描述。
1.3 代码示例
/** * 文档注释:该类为入门演示类,用于测试Java三种注释 * @author 初学者 */ public class HelloWorld { public static void main(String[] args) { // 单行注释:控制台输出语句,打印HelloWorld System.out.println("HelloWorld"); /* 多行注释: 下方语句同样用于控制台输出 可临时注释多行代码,调试程序时常用 */ System.out.println("HelloWorld"); } }1.4 小结
- 注释分为单行注释
//、多行注释/* */、文档注释/** */三类; - 所有注释都不会参与程序编译和运行。
二、关键字
2.1 关键字概述
关键字是 Java 语言预先定义、赋予特殊固定含义的英文单词,也叫保留字。这类单词专门用于定义类、方法、变量、流程逻辑等语法结构,开发者不允许将关键字用作类名、变量名、方法名。
2.2 常见关键字汇总
Java 常用关键字清单如下:goto、enum、double、long、import、extends、else、finally、int、final、interface、public、return、strictfp、void、this、throw、volatile、while、transient、instanceof、synchronized、protected、throws、package、class、short、float、for、if、byte、implements、private、static、native、default、super、switch、try、new、case、catch、const、assert、boolean、break、continue、char、abstract
2.3 注意事项
- 关键字均为小写英文单词;
goto、const为预留关键字,无实际语法作用,禁止使用;- 自定义名称时,绝对不能使用关键字。
2.4 小结
关键字是被 Java 赋予特殊含义的单词,代码中仅能按照语法规则使用,不能自定义复用。
三、字面量
3.1 字面量概述
字面量指程序中可以直接书写、固定不变的数据,学习字面量的核心,是掌握不同类型数据在 Java 代码中的标准书写格式。
3.2 常用字面量分类与书写规则
| 常用数据 | 说明 | 程序中的写法 | 生活中的写法 |
|---|---|---|---|
| 整数 | 写法和日常数字一致 | 666,-88 | 666,-88 |
| 小数 | 写法和日常小数一致 | 13.14,-5.21 | 13.14,-5.21 |
| 字符串 | 必须使用双引号包裹 | "HelloWorld","黑马程序员" | 黑马程序员 |
| 字符 | 必须使用单引号包裹,有且仅能包含一个字符 | 'A','0',' 我' | A,0,我 |
| 布尔值 | 只有两个固定值,代表真、假 | true 、false | 真、假 |
| 空值 | 特殊空对象值 | null | 无 |
3.3 基础代码演示
public class Main { public static void main(String[] args) { System.out.println("HelloWorld"); System.out.println(10086); System.out.println(180.1); } }3.4 实战练习
需求:将个人信息(姓名,年龄,性别,身高,婚姻状况)打印到控制台。
3.5 小结
- 学习字面量重点是掌握各类数据的代码书写格式;
- 字符用单引号包裹、字符串用双引号包裹;
- 布尔固定值为
true、false,空值固定写法为null。
四、变量
4.1 变量概述
变量是内存中一块用于存储数据的区域,可以通俗理解为装数据的盒子,是程序处理动态数据的核心。
4.2 变量定义格式
标准格式:数据类型 变量名称 = 变量值;
- 数据类型:限定当前变量只能存储对应类型的数据;
- 变量名称:自定义名称,用于调用变量;
- 变量值:存入变量的具体数据。
示例:
int age = 18;4.3 变量核心特点
变量中存储的数据支持多次修改,这是变量最核心的特性。
public class VariableDemo { public static void main(String[] args) { int age = 18; age = 19; System.out.println(age); age = age + 1; System.out.println(age); } }执行结果:
19 204.4 变量使用六大注意事项
- 变量必须先声明,再使用;
- 变量是什么数据类型,就只能存储对应类型的数据;
- 变量仅在所属的
{}代码块范围内有效; - 同一个作用域内,变量名称不能重复;
- 变量可以先定义不赋值,但使用前必须赋予初始值;
- 一条语句可以定义多个同类型变量,变量之间用逗号分隔。
4.5 小结
- 变量用于存储程序数据,格式:
数据类型 变量名 = 数据;; - 变量内的数据可修改,让代码编写更灵活;
- 使用变量必须严格遵守上述六大规则。
五、标识符
5.1 标识符概述
标识符就是开发者给类、方法、变量等代码元素自定义的名称。
5.2 标识符命名硬性规则(必须遵守)
- 由数字、字母、下划线
(_)和美元符($)组成; - 不能以数字开头;
- 不能使用 Java 关键字;
- 严格区分大小写。
规则判断练习
合法名称:bj、b2、_2b、ak47、Class非法名称:2b(数字开头)、class(关键字)、#itheima(包含非法特殊符号)
5.3 标识符行业命名规范(推荐遵守)
小驼峰命名法适用:变量、方法
- 单个单词:全部小写,例:
name - 多个单词:从第二个单词开始首字母大写,例:
firstName
- 单个单词:全部小写,例:
大驼峰命名法适用:类
- 单个单词:首字母大写,例:
Student - 多个单词:每个单词首字母大写,例:
GoodStudent
- 单个单词:首字母大写,例:
5.4 代码示例
public class Demo { public static void main(String[] args) { int salary = 12000; System.out.println(salary); salary = 15000; System.out.println(salary); int age = 18; System.out.println(age); } }5.5 小结
- 标识符就是代码中各类元素的名字;
- 严格遵守命名规则,开发中统一使用驼峰命名法,做到见名知义。
六、数据类型
6.1 数据类型整体分类
Java 数据类型分为两大类:基本数据类型、引用数据类型。
6.2 八大基本数据类型详情
| 数据大类 | 关键字 | 内存占用 (字节) | 取值范围 |
|---|---|---|---|
| 整数 | byte | 1 | -128~127 |
| 整数 | short | 2 | -32768~32767 |
| 整数 | int(整数默认类型) | 4 | -2147483648~2147483647 |
| 整数 | long | 8 | -9223372036854775808 ~ 9223372036854775807 |
| 浮点数 | float | 4 | 1.401298e-45 ~ 3.402823e+38 |
| 浮点数 | double(小数默认类型) | 8 | 4.9000000e-324 ~ 1.797693e+308 |
| 字符 | char | 2 | 0~65535 |
| 布尔 | boolean | 1 | true、false |
补充说明:e+38代表乘以 10 的 38 次方,e-45代表乘以 10 的负 45 次方。
6.3 实战案例
需求:使用对应数据类型的变量,保存个人信息并在控制台输出(姓名、年龄、性别、身高、是否单身)。
6.4 ASCII 编码表
char字符类型底层存储的是数字,遵循ASCII(美国信息交换标准代码)编码规则。每一个字符都会对应一个固定的十进制数字,这也是字符和数字可以互相转换的底层依据。
6.5 小结
- 数据类型分为基本数据类型、引用数据类型;
- 整数默认使用
int,小数默认使用double; - 字符串使用
String(引用数据类型)定义。
七、数据类型转换
7.1 转换概述
在 Java 中,不同数据类型的数据之间可以进行转换,主要分为自动类型转换和强制类型转换两大类。转换的核心原则:取值范围小的类型 可以自动转为 取值范围大的类型;取值范围大的类型 转为 取值范围小的类型,必须手动强制转换。
7.2 自动类型转换(隐式转换)
7.2.1 规则
无需手动编写额外代码,程序自动完成转换。触发条件:容量小(取值范围小)的数据类型 → 容量大(取值范围大)的数据类型。
7.2.2 转换顺序(从小到大)
byte→short→int→long→float→doublechar类型也可自动转换为int及以上类型。
7.2.3 代码示例
public class AutoConvertDemo { public static void main(String[] args) { // byte 自动转 int byte b = 10; int i = b; System.out.println(i); // int 自动转 double int num = 20; double d = num; System.out.println(d); // char 自动转 int(依据ASCII编码) char ch = 'A'; int code = ch; System.out.println(code); } }7.3 强制类型转换(显式转换)
7.3.1 规则
需要开发者手动编写转换代码,用于容量大的数据类型 → 容量小的数据类型。语法格式:目标数据类型 变量名 = (目标类型) 原数据/原变量;
7.3.2 风险提醒
强制转换可能出现数据精度丢失、数值溢出问题,使用时需要谨慎。
7.3.3 代码示例
public class ForceConvertDemo { public static void main(String[] args) { // double 强制转 int,小数部分直接丢失 double d = 3.99; int num = (int) d; System.out.println(num); // 输出 3 // int 强制转 byte,超出范围会出现数值溢出 int a = 130; byte b = (byte) a; System.out.println(b); } }7.4 特殊场景:运算中的类型转换
当不同数据类型的数据参与运算时,所有数据会自动转换为运算范围最大的类型,再进行计算。示例:int和double运算,最终结果为double类型。
7.5 小结
- 自动转换:小范围类型转大范围类型,程序自动完成,无数据丢失;
- 强制转换:大范围类型转小范围类型,必须手动强转,可能丢失精度或数据溢出;
- 不同类型运算时,统一提升为取值范围更大的类型再计算。
八、全文总结
- 注释:分为单行、多行、文档注释,仅用于代码说明,不参与编译运行;
- 关键字:Java 内置保留单词,拥有固定语法含义,禁止自定义使用;
- 字面量:代码中直接书写的常量数据,牢记字符串、字符、布尔值的书写规范;
- 变量:内存数据存储区域,数据可修改,使用时严格遵循六大注意事项;
- 标识符:类、变量、方法的名称,遵守命名规则,统一使用驼峰命名;
- 数据类型:8 种基本数据类型是 Java 数据存储核心,区分内存大小与取值范围;
- 类型转换:分为自动转换和强制转换,强转存在数据丢失风险,日常开发按需使用。
Java 基础语法是后续学习运算符、流程控制、面向对象等内容的根基,建议多动手编写测试代码,反复练习巩固知识点。
拓展学习建议
- 优先针对类型转换编写测试案例,重点理解自动转换与强制转换的区别;
- 刻意编写错误代码,排查语法问题,加深对规则的记忆;
- 入门面试高频考点:标识符规则、八大基本数据类型、数据类型转换规则。
