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 本地方法修饰符

空行

  • 空白行或者带注释的行,Java 编译器都会忽略

继承

  • 一个类可以由其他类派生
  • 利用继承可以重用已存在类的方法和属性,而无需重写
  • 被继承的类称为 超类(super class)
  • 派生类称为 子类(sub class)

接口

  • 对象间相互通信的协议。
  • 接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。