正在加载...

Java 里引号中间的字母

你想让一个名字保存你写在文件里一对引号中间的字母,并且想让一行书写把这些字母显示出来。上一页里,名字保存的是一个整数,那个数字两边没有引号。这一页的值是字母,把它们托住的是引号。String plant = "leaf"; 保存四个字母 leaf。System.out.println(plant) 写出 leaf。引号留在文件里。它们不在屏幕上。你没有在读键盘。你没有在重新安装 Java,也没有在学第二种结束一行的办法。你已经知道一个名字可以保存单词 leaf。新的工作是这一对本身:两个记号中间放着什么,以及这一对不在时会发生什么。

引号托住字母

打开 Mint.java。文件名仍然是 Mint.java,因为 public class Mint 仍然是文件名。这一页不改文件名,也不改 public class Mint。上一页保存的是 int count = 4;,没有引号,也没有键盘。这一页不保存那个数字。如果 int 那一行还在,把它删掉。删掉每一行 import、每一行 reader、每一行 nextLine。你留下的文件里没有 import,没有 Scanner,也没有 nextLine。一个用不上的 import 单独不会让 javac 失败,也不会写出字母。字母只由使用这个名字的书写行写出。

在 main 里面,保存行是 String plant = "leaf";。String 是种类词。它说明这个名字保存字母。plant 是名字,以小写的 p 开头。等号保存字母。后面是这一对。第一个引号打开字母。四个字母按顺序是 l、e、a、f,全是小写。第二个引号关上字母。这两个记号中间没有别的东西:没有空格,没有多出来的字母,没有第二个词。分号结束这一行。这一行不写屏幕。保存不是书写。这一行进行的时候,屏幕是空的。引号是保存行的一部分。这一行把字母保存好之后,引号不属于名字保存的那个值。

书写行是光着的名字:System.out.println(plant);。没有引号。Java 读名字 plant,写出这个名字保存的字母,然后结束这一行。对你留下的文件来说,这些字母是 l、e、a、f。引号记号不在屏幕上。名字自己的字母 p、l、a、n、t 不在屏幕上。String 不在屏幕上。System 不在屏幕上。分号不在屏幕上。保存文件。

你留下的文件

把这些保存成 Mint.java。这就是这一页留下的文件。一个种类词,String。一个名字,plant。一对引号。中间四个字母,leaf。一行书写,而且这一行使用光着的名字。

你留下的文件

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println(plant);
    }
}

从上往下读。public class Mint 给文件起名。它不写屏幕。public static void main(String[] args) 是 Java 开始的地方。这些词都不是屏幕上的字母。main 那一行上的 String 仍然不是保存行。保存行是下一行,String plant = "leaf";。那一行保存字母。它什么都不写。System.out.println(plant); 是唯一的书写行。它写出 leaf,然后结束这一行。一行。这一行屏幕上没有引号记号。

屏幕显示什么

在放着这个 Mint.java 的文件夹里,输入 javac Mint.java。文件没问题时,这条命令不写任何一行。文件里有一对引号,不会让 javac 写出一行,也不会让 javac 失败。然后输入 java Mint。java 后面不要写 .java。这是你在 Windows 和 macOS 上输入的同样两条命令。这一页不引用命令前面的提示符。程序写出 leaf。它不等你打字。字母已经在文件里。如果 java Mint 等着,文件里还有 nextLine。删掉那一行,留下 String plant = "leaf";。程序在书写行之后结束。

屏幕显示 leaf,一行,四个字母,没有引号记号。如果屏幕显示 plant,书写行里名字两边有引号:System.out.println("plant");。这些引号标出字母 p、l、a、n、t。Java 不去看那个名字,所以保存好的 leaf 不会被写出来。你留下的文件在书写行上是光着的名字,在保存行上 leaf 两边有引号。如果屏幕显示 mint,你还在更早的文件上。如果屏幕显示 4,文件里还有上一页的整数,或者引号中间的字母是数字 4。你留下的文件是 leaf,不是 4。屏幕显示了错误的一行时,你不必重新安装 Java。

引号中间的大写字母会按那个大写保存。String plant = "Leaf"; 会让书写行写出 Leaf,带一个大写的 L。你留下的文件不用这个。它用四个小写字母。按真正放在引号中间的字母判断屏幕,按你本来想写的那个词判断不行。

空格也是字母之一

书写行可以留在原地,引号中间的字母却可以换。在第一行书写下面,用同一个名字保存一组新字母,然后再写一次这个名字。新的保存行是 plant = "leaf stem";。它不以 String 开头。plant 已经有了,所以这一行只换掉名字保存的字母。这一次两个记号中间有九个位置:l、e、a、f、一个空格、s、t、e、m。空格是其中之一。这不是拆成两行保存,写出屏幕时它也不会被抹掉。下一行书写仍然是 System.out.println(plant);。屏幕上现在有两行。第一行是 leaf,是名字在那个时刻保存的字母。第二行是 leaf stem,是 plant = "leaf stem"; 之后名字保存的字母。这一行上,leaf 和 stem 中间有一个空格。这两个词不在两行上。

这是第二个文件。它不是你留下的文件。你留下的文件有一行保存、字母 leaf,没有空格。你想看空格时,把这第二个文件保存成 Mint.java,然后把单独的保存行和单独的书写行放回去。

保存在引号中间的空格

java
public class Mint {
    public static void main(String[] args) {
        String plant = "leaf";
        System.out.println(plant);
        plant = "leaf stem";
        System.out.println(plant);
    }
}

输入 javac Mint.java。文件没问题,所以 javac 不写任何一行。第二行保存可以不写 String,这种缺少不会让 javac 失败。然后输入 java Mint。屏幕显示 leaf,下一行是 leaf stem。两行。没有引号记号。名字 plant 不在这两行的任何一行上。如果第二行是 leafstem,中间没有空隙,引号中间就缺了空格。如果两行都是 leaf,第二行保存不存在,或者它仍然是 "leaf"。如果两行都是 leaf stem,第一行保存已经是 "leaf stem",或者第一行书写写在了改动下面。屏幕跟着文件里各行的顺序,也跟着引号中间的字母,空格算在里面。

同一个名字不要第二次写 String。String plant = "leaf stem"; 如果写在已经创建 plant 的那一行下面,是另一种错误。那一行试图再创建一次 plant。javac 写出错误,不会一声不响。你不需要那条错误的原句。先不要输入 java Mint。删掉第二个 String,留下 plant = "leaf stem";。名字只创建一次。后面的行只改它保存的字母。你留下的文件里没有第二行保存。看到 leaf 再看到 leaf stem 之后,把那个文件放回去:一行 String plant = "leaf"; 和一行 System.out.println(plant);。

引号中间什么都没有

一对可以是空的。String plant = ""; 有打开的引号和关上的引号,中间一个字母都没有。种类词仍然是 String。名字仍然是 plant。等号仍然在保存。它保存的是零个字母。这是允许的。javac 不会为空的一对写出错误。System.out.println(plant); 仍然会执行。它写出名字保存的字母,而一个都没有,所以屏幕那一行没有字母。这一行仍然结束。程序仍然结束。leaf 本来会出现的地方,你看到一行空白。这行空白就是书写。它不是在等,也不是 javac 失败。

这是第三个文件。它不是你留下的文件。你留下的文件在引号中间有 leaf。这第三个文件只保存到你看到空白行为止,然后把 "leaf" 放回引号中间。

引号中间什么都没有

java
public class Mint {
    public static void main(String[] args) {
        String plant = "";
        System.out.println(plant);
    }
}

输入 javac Mint.java。空的一对是允许的,所以 javac 不写任何一行。然后输入 java Mint。程序写出一行没有字母的内容,然后结束。它不等着。如果你还看到 leaf,引号中间仍然有 leaf。如果 java Mint 等着,nextLine 还在文件里。看到空白行之后,再把保存行改回 String plant = "leaf";。

没有引号时 leaf 是一个名字

做事的是这一对。把两个引号都删掉,这一行就变成 String plant = leaf;。没有这一对,所以 leaf 不是字母。Java 把 leaf 读成一个名字,而这个文件里没有名叫 leaf 的名字。javac 写出错误。它不会一声不响。没有屏幕可读,因为 javac 在写错误时你不要输入 java Mint。你不需要错误的原句。有用的事实是 javac 写出了一行。改正的办法是把这一对放回去,让这一行重新变成 String plant = "leaf";。

只有一个引号也不是一对。String plant = "leaf; 打开了字母,却没有在分号之前关上。javac 也会为这一行写出错误。它不会保存半个词,也不会猜字母该在哪里结束。把关上的引号放回分号前面。你留下的文件有两个引号,leaf 在它们中间。

这第四个文件是缺了的一对。它不是你留下的文件。只保存到 javac 写出错误为止,然后把引号放回 leaf 两边。

没有引号的 leaf

java
public class Mint {
    public static void main(String[] args) {
        String plant = leaf;
        System.out.println(plant);
    }
}

输入 javac Mint.java。javac 写出错误。不要输入 java Mint。在 l 前面放一个引号,在 f 后面放一个引号,让这一行变成 String plant = "leaf";。保存。再输入一次 javac Mint.java。现在 javac 不写任何一行。然后 java Mint 写出 leaf。

名字仍然必须在使用它的那一行之前已经存在。如果 System.out.println(plant); 写在 String plant = "leaf"; 上面,javac 会写出错误。书写行在 plant 还不存在的时候就点了 plant 这个名字。把 String 那一行移到书写行上面。这和你以前给 count 和 reader 用过的顺序一样。你留下的文件已经是这个顺序。

字母仍然放不进整数。int plant = "leaf"; 让一个 int 名字去保存字母。javac 写出错误。这一页的改正不是删掉引号。改正是保留种类词 String,因为引号保存的是字母。上一页保存 int,也保存 4。这一页保存 String,也保存 "leaf"。

现在你可以在一对引号中间保存字母,并且写出这些字母,而不写出引号本身。String plant = "leaf"; 保存 leaf。System.out.println(plant); 写出 leaf 并结束这一行。后面的 plant = "leaf stem"; 不必再写一个 String 就能换掉已保存的字母,引号中间的空格是这些字母之一。空的一对不保存任何字母,书写行写出一行空白。没有引号时,leaf 是这个文件里没有的名字,javac 会写出错误。下一页仍然留在这些字母上。它看的是你可以对一个名字已经保存的字母提出的问题。

屏幕就是引号中间的字母

你留下的文件写出 leaf。书写行上的名字是 plant,plant 不在屏幕上。引号在文件里,在 leaf 两边,不在屏幕上。一次 println 是一行。引号中间的空格留在这一行上。空的一对写出一行没有字母的内容。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
5
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部