Java语法
# 关键字
# 关键字分类
Java 语言中有 50 多个保留的关键字,这些关键字分为以下几类:
- 访问控制关键字:
public、protected、private - 类、方法和变量修饰符:
abstract、final、static、synchronized - 程序控制语句:
if、else、switch、case、default、for、while、do、break、continue - 异常处理:
try、catch、finally、throw、throws - 类相关:
class、interface、extends、implements - 对象相关:
new、this、super
# 关键字详解
- abstract:用于定义抽象类或抽象方法。
abstract class Animal {
abstract void makeSound();
}
- boolean:用于声明布尔类型的变量。
boolean isActive = true;
- switch:用于条件选择,JDK 21 开始支持 switch 模式匹配。
switch (value) {
case 1 -> System.out.println("Value is 1");
case 2 -> System.out.println("Value is 2");
default -> System.out.println("Value is other");
}
# 数据类型
# 数据类型分类
Java 中的数据类型分为两大类:
- 基本数据类型:包括整数类型(
byte、short、int、long)、浮点类型(float、double)、字符类型(char)、布尔类型(boolean)。 - 引用数据类型:包括类、接口和数组。
# 基本数据类型
- 整数类型:
int number = 10;
long bigNumber = 100000L;
- 浮点类型:
double price = 29.99;
float rate = 3.14f;
- 字符类型:
char letter = 'A';
- 布尔类型:
boolean isActive = true;
# 引用数据类型
引用数据类型用于声明类、接口和数组。
String name = "Java";
int[] numbers = {1, 2, 3, 4};
# 运算符
# 运算符分类
Java 提供了丰富的运算符,主要包括:
- 算术运算符:
+、-、*、/、% - 关系运算符:
==、!=、>、<、>=、<= - 逻辑运算符:
&&、||、! - 位运算符:
&、|、^、~、<<、>>、>>> - 赋值运算符:
=、+=、-=、*=、/=、%=
# 运算符使用示例
- 算术运算符:
int a = 10;
int b = 5;
int sum = a + b;
- 关系运算符:
boolean isEqual = (a == b);
- 逻辑运算符:
boolean result = (a > b) && (b > 0);
- 位运算符:
int x = 3; // 0b0011
int y = 5; // 0b0101
int andResult = x & y; // 0b0001
# 流程控制
# 条件语句
- if-else 语句:用于条件判断。
int score = 85;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
- switch 语句:用于多分支选择,JDK 21 支持 switch 模式匹配。
switch (score) {
case 90 -> System.out.println("优秀");
case 60 -> System.out.println("及格");
default -> System.out.println("不及格");
}
# 循环语句
- for 循环:
for (int i = 0; i < 5; i++) {
System.out.println("第" + (i + 1) + "次循环");
}
- while 循环:
int i = 0;
while (i < 5) {
System.out.println("第" + (i + 1) + "次循环");
i++;
}
- do-while 循环:
int j = 0;
do {
System.out.println("第" + (j + 1) + "次循环");
j++;
} while (j < 5);
上次更新: 2024/10/31, 18:28:18