Java 定义 : Label, token

标签 java token definitions

我是这样写的:

(fitness>g.fitness) ? return 1 : return -1;

并收到以下错误:

token 语法错误,应改为标签。

谁能解释一下这种情况下的标记和标签是什么?

编辑:感谢您修复我的代码,但您能否解释一下 token 和标签是什么,以供将来引用?

最佳答案

标记是具有某种含义的单个字符和字符串。

token ,如 Chapter 3: Lexical Structure 中所定义的 The Java Language Specification , 是:

identifiers (§3.8), keywords (§3.9), literals (§3.10), separators (§3.11), and operators (§3.12) of the syntactic grammar.

给定行中的标记是:

"(", "fitness", ">", "g.fitness", ")", "?", "return", "1", ":", "return", "-1", ";"

(空格也很重要,但我在上面省略了它们。)


Java 中的标签用于控制程序中的流程,是一个标识符,后面跟一个冒号。

标签的一个例子是hello:

标签与continuebreak 语句一起使用,以指定要continuebreak 的控制结构> 到。

Section 14.7 中有更多关于标签声明的信息的 The Java Language Specification .


这里的问题是 return 语句:

(fitness>g.fitness) ? return 1 : return -1;
                      ^^^^^^

: 紧跟在 return 1 之后,这让编译器认为那里应该有一个标签。

然而,return 1 本身就是一个语句,因此,那里没有标签标识符,因此编译器提示它期待一个标签,但找不到格式正确的标签。

(fitness>g.fitness) ?  return 1   :   return -1;
                       ^^^^^^^^   ^
                      statement   label without an identifier

关于Java 定义 : Label, token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1988137/

相关文章:

java - 在 linux 中查找路径条目

java - 从 future 的公历日期获取回历日期

javascript - 在不同浏览器中打开页面时, token 未保存在 $window.sessionStorage 中

Drupal 7 规则 : how to send within an e-mail the url of an uploaded attachment (after node change)?

Java GUI 布局管理器

java - java程序中更多的内存分配

node.js - 如何针对 firebase 验证身份验证 token ?

mysql - 确定多对多关系中的内容

swagger - 如何在swagger中提供对象定义的示例,其中包含数组作为其属性之一

TypeScript 定义文件