我试图编写一些琐碎的代码,将两个字符串连接起来并打印出来:
class A {
public static void main(String[] args) {
String goto = "jon skeet";
System.out.println("the go-to guy for java questions is " + goto);
}
}
但它得到了所有这些错误:
$ javac A.java && java A
A.java:3: not a statement
String goto = "jon skeet";
^
A.java:3: ';' expected
String goto = "jon skeet";
^
A.java:4: illegal start of expression
System.out.println("the go-to guy for java questions is " + goto);
^
A.java:4: ';' expected
System.out.println("the go-to guy for java questions is " + goto);
^
4 errors
为什么?
goto
在Java中是一个保留关键字,不能用作变量名,尽管它没有任何作用。
JLS 3.9:报价
由ASCII字母组成的50个字符序列保留用作关键字,不能用作标识符(§3.8)
(goto
在此列表中)
关键字
const
和goto
被保留,即使它们当前未被使用。如果这些C++关键字不正确地出现在程序中,这可能允许Java编译器生成更好的错误消息。
goto
在Java中是一个保留字,尽管它不用于任何用途。
goto
是Java的保留关键字之一,不能用作变量名,就像private
、do
、for
、if
等一样。我附上了一个链接,所以请访问。
goto
从未被实现为做任何事情,但尽管如此,关键字还是被保留了,因为有时在未来可能会实现它的功能。在语言C和类C语言中,goto
语句更改控制流并跳转到所需的标签。
与其他Java的保留关键字一样,goto
不能用作变量名。
你可以在这里看到所有保留的关键字。
goto是一个保留字,这意味着您不能将其用作变量名。
以下是保留词的wiki定义
在程序设计语言中,保留字(也称为reserved标识符)是一个不能用作标识符的词,例如变量、函数或标签的名称;这是一个句法定义,标识符词汇语法的一部分
请在此处查看java保留字的完整列表http://en.wikipedia.org/wiki/List_of_Java_keywords