Java定义:标签,令牌
我写了这个:
(fitness>g.fitness) ? return 1 : return -1; 并收到以下错误: 令牌上的语法错误,而不是标签. 任何人都可以解释在这种情况下令牌和标签是什么? 编辑:感谢您修复我的代码,但是您能解释一下令牌和标签是什么,以备将来参考吗? 解决方法
标记是具有某种含义的单个字符和字符串.
在The Java Language Specification的Chapter 3: Lexical Structure中定义的令牌是:
给定行中的标记是: "(","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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |