【Java基础】Java基础语法到高级特性
文章目录
- 一、Java基础语法结构
- 1.1 注释规范
- 1.2 标识符与关键字
- 二、数据类型与变量
- 2.1 基本数据类型
- 2.2 变量类型与作用域
- 三、流程控制语句
- 3.1 条件语句
- 3.2 循环结构
- 3.3 控制语句
- 四、方法与函数
- 4.1 方法定义
- 4.2 方法重载
- 4.3 可变参数
- 五、面向对象特性
- 5.1 类与对象
- 5.2 继承与多态
- 5.3 接口与抽象类
- 六、高级特性
- 6.1 异常处理
- 6.2 泛型编程
- 6.3 集合框架
- 6.4 流式编程(Java 8+)
- 七、最佳实践建议
- 1.命名规范:
- 2.代码组织:
- 3.异常处理原则:
- 4.性能考量:
Java作为一门面向对象的编程语言,拥有清晰规范的语法体系。本文将系统性地介绍Java的核心语法特性,帮助开发者全面掌握Java编程基础。
一、Java基础语法结构
1.1 注释规范
Java 支持三种注释方式,合理使用注释能显著提升代码可读性:
// 单行注释/** 多行注释* 常用于方法说明*//*** JavaDoc注释* 用于生成API文档* @param args 命令行参数*/
public class CommentDemo {public static void main(String[] args) {System.out.println("注释示例");}
}
1.2 标识符与关键字
Java标识符命名规则:
- 由字母、数字、下划线和$组成
- 不能以数字开头
- 区分大小写
- 不能使用保留关键字
常见关键字:
class, public, static, void, if, else,
for, while, do, switch, case, break,
continue, return, try, catch, finally,
new, this, super, extends, implements
二、数据类型与变量
2.1 基本数据类型
Java 是强类型语言,数据类型分为两大类:
基本数据类型分类
类型 | 大小 | 范围 | 默认值 |
---|---|---|---|
byte | 8位 | -128 ~ 127 | 0 |
short | 16位 | -32,768 ~ 32,767 | 0 |
int | 32位 | -2³¹ ~ (2³¹-1) | 0 |
long | 64位 | -2⁶³ ~ (2⁶³-1) | 0L |
float | 32位 | IEEE 754浮点数标准 | 0.0f |
double | 64位 | IEEE 754浮点数标准 | 0.0d |
char | 16位 | Unicode字符 (\u0000~\uffff) | '\u0000' |
boolean | 无明确大小 | true /false | false |
2.2 变量类型与作用域
Java变量分为三种类型:
public class VariableDemo {// 实例变量(成员变量)private int instanceVar = 10;// 类变量(静态变量)public static String classVar = "Static";public void method() {// 局部变量int localVar = 20;System.out.println(localVar);}
}
变量特性对比表:
特性 | 局部变量 | 实例变量 | 类变量 |
---|---|---|---|
声明位置 | 方法/代码块内 | 类内方法外 | 类内方法外+static |
生命周期 | 方法执行期间 | 对象存活期间 | 程序运行期间 |
存储位置 | 栈 | 堆 | 方法区 |
默认值 | 无(必须初始化) | 有默认值 | 有默认值 |
访问权限 | 仅方法内可见 | 对象级别访问 | 类名直接访问 |
示例 | int count = 0; | private String name; | static int total; |
三、流程控制语句
3.1 条件语句
// if-else
if(condition1) {// code
} else if(condition2) {// code
} else {// code
}// switch (Java 12+支持表达式形式)
switch(day) {case 1 -> System.out.println("Monday");case 2 -> System.out.println("Tuesday");default -> System.out.println("Weekend");
}
3.2 循环结构
// for循环
for(int i=0; i<10; i++) {System.out.println(i);
}// 增强for循环
for(String item : collection) {System.out.println(item);
}// while循环
while(condition) {// code
}// do-while循环
do {// code
} while(condition);
3.3 控制语句
break; // 跳出循环
continue; // 跳过本次循环
return; // 方法返回
四、方法与函数
4.1 方法定义
[访问修饰符] [static] 返回类型 方法名(参数列表) {// 方法体return 返回值; // void方法可省略
}// 示例
public static int add(int a, int b) {return a + b;
}
4.2 方法重载
class Calculator {// 方法名相同,参数列表不同int add(int a, int b) { return a+b; }double add(double a, double b) { return a+b; }
}
4.3 可变参数
public static void printNames(String... names) {for(String name : names) {System.out.println(name);}
}
五、面向对象特性
5.1 类与对象
// 类定义
[访问修饰符] class 类名 {// 字段// 构造方法// 方法
}// 示例
public class Person {private String name;private int age;// 构造方法public Person(String name, int age) {this.name = name;this.age = age;}// 方法public void introduce() {System.out.println("I'm " + name);}
}
5.2 继承与多态
class Animal {public void sound() {System.out.println("Animal sound");}
}class Dog extends Animal {@Overridepublic void sound() {System.out.println("Bark");}
}
5.3 接口与抽象类
// 接口
interface Flyable {void fly();
}// 抽象类
abstract class Bird implements Flyable {abstract void sing();
}class Sparrow extends Bird {public void fly() { /* 实现 */ }void sing() { /* 实现 */ }
}
六、高级特性
6.1 异常处理
try {// 可能抛出异常的代码
} catch(IOException e) {// 异常处理
} finally {// 最终执行
}
6.2 泛型编程
class Box<T> {private T content;public void set(T content) {this.content = content;}public T get() {return content;}
}
6.3 集合框架
List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");Map<String, Integer> map = new HashMap<>();
map.put("Alice", 25);
6.4 流式编程(Java 8+)
List<String> languages = Arrays.asList("Java", "Python", "C++");long count = languages.stream().filter(lang -> lang.startsWith("J")).count();
七、最佳实践建议
1.命名规范:
- 类名使用大驼峰:MyClass
- 方法/变量使用小驼峰:myMethod
- 常量全大写:MAX_VALUE
2.代码组织:
- 一个.java文件只包含一个public类
- 合理使用package组织代码
- 类成员顺序:字段→构造方法→普通方法
3.异常处理原则:
- 具体异常优先捕获
- 不要吞掉异常
- 使用 try-with-resources 管理资源
4.性能考量:
- 优先使用局部变量
- 避免不必要的对象创建
- 合理使用 StringBuilder 处理字符串拼接
Java 语法体系经过多年的发展已经非常成熟,而掌握这些核心语法是成为 Java 开发者的基础。建议大家通过实际编码练习来巩固这些概念。