Java 注释
你想在文件里给自己留一段注释,同时让屏幕保持原样。屏幕仍然是 mint。注释是给读 Mint.java 的人看的。它不是给屏幕的词。这一页把这段注释写成两种样子,说明 mint 仍然是唯一的一行,然后指出唯一会把 mint 从屏幕上抹掉的放法。你不是在重新安装 Java。你不是在找哪一行写出屏幕。你已经知道那一行是 System.out.println("mint")。新的工作是它旁边的注释。
注释不是命令
命令是 Java 执行的一行。System.out.println("mint") 是命令。它写出 mint,并结束这一行。注释是你留在文件里的话,让你自己或者下一个读文件的人记住一件事。Java 跳过注释。跳过的意思是:注释不会被执行,也不会写到屏幕上。运行结束以后,注释的字仍然留在文件里。你可以打开 Mint.java 读它们。在屏幕上找不到它们。屏幕上仍然只有一行,那一行是 mint,只要写出屏幕的那条命令本身没有变成注释。
有两种样子。行注释以两条斜线开始://。Java 从这两条斜线起,一直跳到同一行的末尾。下一行又是普通的一行。另一种以 / 开始,在第一个 / 结束。Java 跳过这两个记号之间的全部内容,包括换到下一行。这种注释可以占一行,也可以跨好几行。两种都是注释。哪一种都不写屏幕。斜线不会被打印。星号不会被打印。你放在它们中间的词也不会被打印。
你保留的文件
把下面这段存成 Mint.java。这是这一页要保留的文件。写屏幕的命令上面有一条行注释,写屏幕的命令那一行上还有一条行注释,main 上面也有一条行注释。写屏幕的命令还在,它没有被斜线挡在后面。
public class Mint {
// the file is named Mint.java
public static void main(String[] args) {
// a note for the reader
System.out.println("mint"); // the screen is this word
}
}
从上面读下来,每一行都判断屏幕会不会收到它。第一行仍然是 public class Mint。你已经知道这一行给文件起名字,不写屏幕。下一行是 // the file is named Mint.java。两条斜线开始一段注释,所以 the file is named Mint.java 这些词是给你的。屏幕不显示它们。也不显示斜线。public static void main(String[] args) 这一行是 Java 开始的地方,这些词一个也不会出现在屏幕上。这一点没有变。
在 main 里面,// a note for the reader 这一行只是注释。Java 读到它,跳过它,再到下一行。下一行才是要紧的:System.out.println("mint"); // the screen is this word。把这一行读成斜线分开的两段。斜线前面是命令 System.out.println("mint");。这条命令写出 mint,并结束这一行。斜线后面的 the screen is this word 是注释。它们和命令坐在同一行,仍然被跳过。注释不必单独占一整行。如果你在一条已经写完的命令后面写上 //,命令会执行,这一行的其余部分不会执行。分号结束命令。分号后面的斜线开始注释。把那个分号留在原地。屏幕显示 mint。不显示 the screen is this word。也没有第二行。
用和以前一样的办法运行。在放着这个 Mint.java 的文件夹里,输入 javac Mint.java。文件没有问题时,这条命令不写出任何一行。注释不会让 javac 写出一行,也不会让它失败。然后输入 java Mint。在 java 后面不要输入 .java。屏幕显示 mint。一行。没有引号。没有斜线。没有第二行。mint 这个词仍然是引号中间的那个词。它不是你在命令里键入的词,也不是你在注释里键入的词。
/ 和 / 之间的注释
这是另一种样子。注释比一行长,或者你想让注释的结尾是你自己放上的记号、而不是这一行的末尾时,就用它。开始记号是 /。结束记号是 /。Java 从开始一直跳到结束,第一个 / 就是结束。后面再出现的 / 不属于这段注释,因为注释已经结束了。这一页只用一段这样的注释,所以你会看到一个开始和一个结束。
把 main 里面的行注释换成一段 / 和 / 之间的注释,写屏幕的命令留在原处。屏幕不变。这是第二个文件。你在看注释长什么样子。你保留的那个文件用的是行注释。这个文件用的是 / 和 / 之间的注释。两个都写出 mint。
public class Mint {
public static void main(String[] args) {
/* a note
across two lines */
System.out.println("mint");
}
}
注释从以 / 开始的那一行起。a note 这几个词在里面。下一行 across two lines 也在里面,因为结束用的 / 还没有写上。那第二行末尾的 / 结束这段注释。然后 Java 执行命令 System.out.println("mint");,因为这条命令在注释外面,在结束记号的下面。屏幕显示 mint。a note 和 across two lines 不在屏幕上。星号和斜线也不在屏幕上。如果你把 / 上移,让它坐在第一行、紧跟在 a note 后面,第二行就不再属于这段注释。那第二行必须是真正的 Java 行,而 across two lines 不是命令。那时 javac 不会保持安静,而会写出一条错误。这一页上 */ 留在第二行末尾,所以整段注释被跳过,javac 保持安静。
不要把一段这样的注释放进另一段里面。第一个 / 就会结束注释,哪怕你本来想用那个 / 结束里面的一段。过了这第一个结束记号,Java 又在读命令。这一页不把注释套进注释。一个开始,一个结束,然后是写屏幕的命令。
把 mint 抹掉的那个错误
在上面的文件里,注释和写屏幕的命令是不同的行,或者是同一行里不同的部分。错误是把两条斜线放在写屏幕的命令前面,于是命令变成了注释。第三个文件只保存到你看见空白屏幕,然后把写屏幕的命令放回去。这不是你保留的文件。
public class Mint {
public static void main(String[] args) {
// System.out.println("mint");
}
}
javac Mint.java 仍然不写出任何一行,因为一个只跳过注释的文件仍然是合格的文件。Java 从 main 开始,跳过里面唯一的一行,然后结束。java Mint 于是什么也不写。没有 mint。没有引号里的空词。没有第二行。屏幕是空白的,因为原来写出 mint 的命令被放在 // 后面。字母 System.out.println("mint") 仍然在文件里,你也能读到,但它们现在是注释。引号救不了它们。引号标出命令里面的一个词。它们不会把注释变回命令。前面的两条斜线做决定,它们决定这一行的其余部分是给读文件的人的。
把文件改回你保留的那一份。写屏幕的那一行必须是 System.out.println("mint");,如果要注释,就放在分号后面。这样 java Mint 会再次写出 mint。如果屏幕是空白的,就去找 System.out 前面的 //。检查就这一件事。屏幕因为注释而空白时,不要重新安装 Java。
注释里可以有任何词,包括 Mint、main 和 mint。这些词仍然不会出现在屏幕上。屏幕用的是一条真正执行的命令里、引号中间的那个词。在你保留的文件里,那个词是 mint,m 是小写。一段写成 Mint、M 大写的注释,不会让屏幕显示 Mint。一段把 mint 重复一遍的注释,不会写出第二行。运行不会把注释从文件里删掉。java Mint 之后打开文件,注释还在。
你现在可以在 Mint.java 里放注释,而不改变屏幕。行注释以 // 开始。/ 和 / 之间的注释以 / 开始,在第一个 / 结束。你保留的文件,屏幕是 mint,由 System.out.println("mint") 写出。如果 // 站在这条命令前面,屏幕上就没有一行。下一页会改掉引号中间的词,所以屏幕会显示另一个词。这一页的注释仍然是注释。
屏幕仍然是 mint
你保留的文件写出 mint。以 // 开始的注释不在屏幕上。/ 和 / 之间的注释不在屏幕上。第一个 */ 结束那段注释。屏幕上有一行。没有第二行。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部