Java 基础语法
对象与类
- 对象:对象是类的一个实例,有状态和行为。
- 类:类是一个模板,描述一类对象的行为和状态。
- 方法:方法就是行为,一个类可以有很多方法。
- 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
HelloWorld 示例
public class HelloWorld {
/* 第一个Java程序
* 它将输出字符串 Hello World
*/
public static void main(String[] args) {
System.out.println("Hello World"); // 输出 Hello World
}
}
- public:访问修饰符
- static:关键字
- void:返回类型
- main:方法名
- String:String类
- args:字符串数组
基本语法规则
- 大小写敏感
- 类名:首字母大写,多单词首字母均大写
- 方法名:小写字母开头,多单词首字母大写
- 源文件名:必须和类名相同
- 主方法入口:所有 Java 程序从
public static void main(String[] args) 方法开始执行
标识符规则
- 所有标识符都应以字母 (A-Z 或 a-z)、美元符号
$ 或下划线 _ 开始
- 首字符之后可以是字母、数字、美元符号
$ 或下划线 _
- 关键字不可作为标识符
- 标识符大小写敏感
修饰符
修饰类、方法或属性
- 访问控制修饰符:
default, public, protected, private
- 非访问控制修饰符:
final, abstract, static, synchronized
变量类型
- 局部变量
- 类变量(静态变量)
- 成员变量(非静态变量)
数组
枚举
关键字
数据类型
| 关键字 |
用途 |
byte |
8位整数类型 |
short |
16位整数类型 |
int |
32位整数类型 |
long |
64位整数类型 |
float |
32位单精度浮点类型 |
double |
64位双精度浮点类型 |
char |
16位字符类型 |
boolean |
布尔类型(true/false) |
流程控制
| 关键字 |
用途 |
if |
条件语句 |
else |
条件语句的“否则”分支 |
switch |
多分支选择 |
case |
switch 中的分支 |
default |
switch 中的默认分支 |
for |
循环语句 |
while |
循环语句 |
do |
循环语句(至少执行一次) |
break |
跳出循环或 switch |
continue |
跳过本次循环,进入下一次循环 |
return |
从方法返回值 |
类、对象、方法
| 关键字 |
用途 |
class |
定义类 |
interface |
定义接口 |
extends |
继承类 |
implements |
实现接口 |
abstract |
抽象类或抽象方法 |
final |
常量、不可继承类、不可重写方法 |
static |
静态变量、方法 |
this |
当前对象引用 |
super |
父类对象引用 |
new |
创建对象 |
instanceof |
类型判断 |
异常处理
| 关键字 |
用途 |
try |
异常处理块 |
catch |
捕获异常 |
finally |
异常处理后的最终执行块 |
throw |
抛出异常 |
throws |
声明方法可能抛出的异常 |
访问控制与修饰符
| 关键字 |
用途 |
public |
公共访问权限 |
protected |
受保护访问权限 |
private |
私有访问权限 |
default |
默认访问权限(包内访问) |
其他关键字
| 关键字 |
用途 |
package |
声明包 |
import |
引入类或包 |
enum |
枚举类型 |
assert |
断言 |
null |
空引用 |
true / false |
布尔值 |
volatile |
线程间变量可见性修饰符 |
synchronized |
同步方法或块 |
transient |
序列化时忽略字段 |
strictfp |
精确浮点计算 |
native |
本地方法修饰符 |
空行
继承
- 一个类可以由其他类派生
- 利用继承可以重用已存在类的方法和属性,而无需重写
- 被继承的类称为 超类(super class)
- 派生类称为 子类(sub class)
接口
- 对象间相互通信的协议。
- 接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。