加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java定义:标签,令牌

发布时间:2020-12-15 04:51:48 所属栏目:Java 来源:网络整理
导读:我写了这个: (fitnessg.fitness) ? return 1 : return -1; 并收到以下错误: 令牌上的语法错误,而不是标签. 任何人都可以解释在这种情况下令牌和标签是什么? 编辑:感谢您修复我的代码,但是您能解释一下令牌和标签是什么,以备将来参考吗? 解决方法 标记是
我写了这个:

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

并收到以下错误:

令牌上的语法错误,而不是标签.

任何人都可以解释在这种情况下令牌和标签是什么?

编辑:感谢您修复我的代码,但是您能解释一下令牌和标签是什么,以备将来参考吗?

解决方法

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

在The Java Language Specification的Chapter 3: Lexical Structure中定义的令牌是:

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",":","-1",";"

(空白也很重要,但我从上面省略了它们.)

Java中的标签用于控制程序中的流,并且是标识符,后跟冒号.

标签的一个例子是你好:

标签与continue和break语句一起使用,以指定要继续或中断的控制结构.

有关标签声明的更多信息,请参见The Java Language Specification的Section 14.7.

这里的问题是return语句:

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

有一个:紧跟在返回1之后,这使编译器认为那里应该有一个标签.

但是,返回1本身就是一个语句,因此,那里没有标签标识符,因此编译器抱怨它期待一个标签,但它无法找到正确形成的标签.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读