念两句诗

3. Java基础语法

2023-05-28 浏览 JAVA速记 1450字 6 min read

示例

一个Java程序可以认为是一系列对象的集合,这些对象通过调用彼此的方法来协同工作,下面介绍下类、对象、方法和示例变量的概念。

  • 对象:对象是类的实例,有状态和行为。
  • 类:类是模板,描述与一类对象的行为和状态。
  • 方法:方法是行为,一个类可以有多个方法。
  • 实例变量:每个对象都有独特的实例变量,这些对象的状态由实例变量的值决定。
public class HelloWorld {
    /* 第一个Java程序
     * 它将输出字符串 Hello World
     */
    public static void main(String[] args) {
        System.out.println("Hello World"); // 输出 Hello World
    }
}


对于上面这样一个简单的java程序,需要先通过javac编译,然后使用java执行编译后的程序,如果遇到编码问题,我们还可以使用-encoding选项指定编译:

javac -encoding UTF-8 HelloWorld.java 
java HelloWorld 

基本语法

  • java是大小写敏感的
  • 对于java中的所有类来说,类名的首字母应该是大写的,如果类名由若干个单词组成,每个单词的首字母应该大写
  • 所有的方法都应该是以小写字母开头的,如果方法含有若干单词,后面的每个单词首字母大写
  • 源文件名和类名必须相同,保存文件时使用类名作为文件名保存,文件名的后缀为.java
  • 所有java程序由public static void main(String[] args) 方法开始执行。

Java标识符

Java中所有的组成部分都需要名字。类名、变量名和方法名都被称之为标识符。

注意:

  • 所有的标识符都应该以字母、美元符$、或者下划线_开始
  • 首字符之后可以是字母、数字、美元符和下划线的任意组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的

Java修饰符

java中可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

  • 访问控制修饰符:default, public , protected, private
  • 非访问控制修饰符:final, abstract, static, synchronized

Java变量

Java中主要有如下几种类型的变量:

  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)

Java数组

数组是存储在堆上的对象,可以保存多个同类型的变量。

Java枚举

Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug。

Java关键字

类别 关键字 说明
访问控制 private 私有的
protected 受保护的
public 公共的
default 默认
类、方法和变量修饰符 abstract 声明抽象
class
extends 扩充,继承
final 最终值,不可改变的
implements 实现(接口)
interface 接口
native 本地,原生方法(非 Java 实现)
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失
程序控制语句 break 跳出循环
case 定义一个值以供 switch 选择
continue 继续
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环
错误处理 assert 断言表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常
包相关 import 引入
package
基本类型 boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
变量引用 super 父类,超类
this 本类
void 无返回值
保留关键字 goto 是关键字,但不能使用
const 是关键字,但不能使用

**注意:**Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。

Java注释

类似于 C/C++、Java 也支持单行以及多行注释。注释中的字符将被 Java 编译器忽略。

Java 空行

空白行或者有注释的行,Java 编译器都会忽略掉。

继承

在 Java 中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。

接口

在 Java 中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。

接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

Java中的接口是一种特殊的抽象类,它只包含抽象方法和常量字段的定义,没有实例变量和实现方法。接口可以被其他类实现(implement)或者继承(extend),实现接口的类必须覆盖接口中所有的抽象方法,并且可以提供自己的实现逻辑。这允许类间的松耦合,提高代码的可维护性和扩展性。同时,接口也可以用于多重继承,即一个类可以实现多个接口。

接口的定义格式如下:

[public] interface 接口名称 [extends 接口列表] {
    // 常量字段声明
    // 抽象方法定义
}

其中,public表示该接口对所有类可见,省略public则表示该接口仅对同包中的类可见;extends后面跟着接口列表,表示该接口继承自其他接口。

Java 源程序与编译型运行区别

img
EOF