玉滨的博客

导航

字符常量 java

 

 

 

从Java语言的定义,ABCD都是错误的,4个都不是正确的字符常量。可以查阅《JLS8》中的描述: 

A character literal is expressed as a character or an escape sequence,enclosed in ASCII single quotes.一个字符常量表示为一个字符或一个转义序列,被一对ASCII单引号关闭。 

CharacterLiteral:
' SingleCharacter '
' EscapeSequence '
SingleCharacter:
InputCharacter but not ' or \

而转义序列包括: 

EscapeSequence:
\ b (backspace BS, Unicode \u0008)
\ t (horizontal tab HT, Unicode \u0009)
\ n (linefeed LF, Unicode \u000a)
\ f (form feed FF, Unicode \u000c)
\ r (carriage return CR, Unicode \u000d)
\ " (double quote ", Unicode \u0022)
\ ' (single quote ', Unicode \u0027)
\ \ (backslash \, Unicode \u005c)
OctalEscape (octal value, Unicode \u0000 to \u00ff)
...

四个答案都采用的是双引号关闭,所以是字符串常量而不是字符常量。 

忽略这个错误,那么这题就没有答案,因为无论是采用特殊字符的转移序列'\n'还是采用八进制转义'\101',都是满足Java语言规范中规定的字符常量格式。

posted on 2018-09-29 09:16  玉滨的博客  阅读(406)  评论(0编辑  收藏  举报