网站公告

本次更新:没啥更新的

“钱塘江上潮信起,今日方知我是我”

Skip to content

语法基础 ​

字数: 0 字 时长: 0 分钟

1. 关键字和保留字 ​

1.1 概述 ​

Java 关键字是 Java 语言中预定义的、具有特殊意义的保留字。它们是编程语言的基础组成部分,不能作为标识符(如变量名、方法名、类名等)使用。每个关键字都有特定的功能和用途,例如定义类、控制流程、声明变量等。总之,Java 关键字是固定的,它们的作用由 Java 语言本身定义,写代码时不能更改它们的功能。

Java 大概有那么多关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

其中 const 和 goto 属于保留字,目前并未在 Java 中实际使用。

下面大概举一些例子

1.2 abstract ​

用于声明抽象类,以及抽象方法。

在这个示例中,我们创建了一个名为 Animal 的抽象类,其中包含一个抽象方法 makeSound() 和一个具体方法 sleep()。

java
abstract class Animal {
    abstract void makeSound();
    public void sleep() {
        System.out.println("The animal is sleeping.");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("The dog barks.");
    }
}

1.3 boolean ​

Java 中的一种基本数据类型,表示布尔值,即真(true)或假(false)。boolean 数据类型常用于判断条件、循环控制和逻辑运算等场景。

在这个示例中,我们定义了一个 boolean 变量:isStudent。通过 if 语句,我们可以根据这些变量的值进行不同的操作。

java
public static void main(String[] args) {
    boolean isStudent = true;
    if (isStudent) {
        System.out.println("This person is a student.");
    } else {
        System.out.println("This person is not a student.");
    }
}

1.4 break ​

用于跳出循环结构(如 for、while 和 do-while 循环)或 switch 语句。当遇到 break 语句时,程序将立即跳出当前循环或 switch 语句,继续执行紧跟在循环或 switch 语句后面的代码。

在这个示例中,我们使用 for 循环遍历 0 到 9 的整数。当 i 等于 5 时,我们使用 break 语句跳出循环。

java
public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;
        }
        System.out.println("i: " + i);
    }
    System.out.println("Loop ended.");
}

1.5 byte ​

用于表示一个 8 位(1 字节)有符号整数。它的值范围是 -128(-2^7)到 127(2^7 - 1)。

由于 byte 类型占用的空间较小,它通常用于处理大量的数据,如文件读写、网络传输等场景,以节省内存空间。

在这个示例中,我们声明了两个 byte 类型的变量:minByte、maxByte,并分别赋予了不同的值。

java
byte minByte = -128;
byte maxByte = 127;

1.6 case ​

通常与 switch 语句一起使用。switch 语句允许根据某个变量的值来选择执行不同的代码块。在 switch 语句中,case 用于标识每个可能的值和对应的代码块。

例子我们直接放到 switch 中一起写。

1.7 catch ​

用于捕获 try 语句中的 异常。在 try 块中可能会抛出异常,而在 catch 块中可以捕获这些异常并进行处理。catch 块可以有多个,每个 catch 块可以捕获特定类型的异常。在 catch 块中,可以根据需要进行异常处理,例如输出错误信息、进行日志记录、恢复程序状态等。

这个程序使用 try-catch 语句捕获 NumberFormatException 异常。在 try 块中,尝试将字符串 "abc" 转换为整数类型,由于这个字符串不是有效的数字格式,将会抛出 NumberFormatException 异常。在 catch 块中,捕获到了这个异常,并输出一条错误信息。

java
try {
    int num = Integer.parseInt("abc");
} catch (NumberFormatException e) {
    System.out.println("Invalid number format");
}

1.8 char ​

用于声明一个字符类型的变量。char 类型的变量可以存储任意的UniCode字符可以使用单引号将字符括起来来表示。

这个程序创建了一个 char 类型的变量 c,并将其赋值为大写字母 A。

java
char c = 'A';

1.9 class ​

用于声明一个类

java
public class Person {
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public void sayHello() {
        System.out.println("Hello, my name is " + name + " and I am " + age + "          years old.");
    }
}

1.10 continue ​

用于继续下一个循环,可以在指定条件下跳过其余代码。

java
public static void main(String[] args) {
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
                continue;
        }
        System.out.println(i);
    }
}

1.11 default ​

用于指定 switch 语句中除去 case 条件之外的默认代码块。

.....

总之这些关键字不能用作变量名、也不能用作方法名类名等等等

2. Java注释 ​

注释应该是很简单的一个知识点、注释就是写在程序上面的文字。代码给机器看的、注释给人看的,给其他接手你代码的人看的一个解释。但是代码又分单行注释,多行注释,还有文档注释。

image-20250116222336203

2.1 单行注释 ​

单行注释通常用于解释方法内某单行代码的作用。

java
public void method() {
  	// age 用于表示年龄
    int age = 18; 
}

你也可以这么写

java
public void method() {
    int age = 18; // age 用于表示年龄
}

但是大厂不建议在行位写注释。

image-20250116224901674

2.2 多行注释 ​

多行注释使用的频率其实并不高,通常用于解释一段代码的作用。

java
/*
	age 用于表示年纪
	name 用于表示姓名
*/
int age = 18;
String name = "kerwim";

以 /* 开始,以 */ 结束,但不如用多个 // 来得痛快,因为 * 和 / 不在一起,敲起来麻烦。

java
// age 用于表示年纪
// name 用于表示姓名
int age = 18;
String name = "kerwim";

2.3 文档注释 ​

文档注释可用在三个地方,类、字段和方法,用来解释它们是干嘛的。

java
/**
 * 作者:kerwim
 */
public class Demo {
    /**
     * 姓名
     */
    private int age;

    /**
     * main 方法作为程序的入口
     *
     * @param args 参数
     */
    public static void main(String[] args) {

    }
}

PS:在 Intellij IDEA 中,按下 /** 后敲下回车键就可以自动添加文档注释的格式,*/ 是自动补全的。

接下来,我们来看看如何通过 javadoc 命令生成代码文档。

第一步,在该类文件上右键,找到「Open in Terminal」 可以打开命令行窗口。

image-20250116223411799

第二步,执行 javadoc 命令 javadoc Demo.java -encoding utf-8。-encoding utf-8 可以保证中文不发生乱码。

image-20250116224708456

**第三步,**执行 ls -l 命令就可以看到生成代码文档时产生的文件,主要是一些可以组成网页的 html、js 和 css 文件。

image-20250116224723315

2.4 文档注释的注意事项 ​

1)javadoc 命令只能为 public 和 protected 修饰的字段、方法和类生成文档。

default 和 private 修饰的字段和方法的注释将会被忽略掉。因为我们本来就不希望这些字段和方法暴露给调用者。

如果类不是 public 的话,javadoc 会执行失败。

2)文档注释中可以嵌入一些 HTML 标记,比如说段落标记P,超链接标记A 等等,但不要使用标题标记,比如说 H1,因为 javadoc 会插入自己的标题,容易发生冲突。

3)文档注释中可以插入一些 @ 注解,比如说 @see 引用其他类,@version 版本号,@param 参数标识符,@author 作者标识符,@deprecated 已废弃标识符,等等。

2.5 注释规约 ​

1)类、字段、方法必须使用文档注释,不能使用单行注释和多行注释。因为注释文档在 IDE 编辑窗口中可以悬浮提示,提高编码效率。

比如说,在使用 String 类的时候,鼠标悬停在 String 上时可以得到以下提示。

image-20250116224800164

2)所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、 异常说明外,还必须指出该方法做什么事情,实现什么功能。

3)所有的类都必须添加创建者和创建日期。

Intellij IDEA 中可以在「File and Code Templates」中设置。

image-20250116223803119

4)所有的枚举类型字段必须要有注释,说明每个数据项的用途。

5)代码修改的同时,注释也要进行相应的修改。

Noctiflorous Garden · MIT License