2009-01-13 102 views

回答

117

使用单引号字面char S,双引号字面String S,就像这样:

char c = 'a'; 
String s = "hello"; 

他们不能用身边任何其他方式(如Python中,例如)。

+7

,当然,这种行为是由C借来的(这可能拿到别的地方,我相信)。 – JesperE 2009-01-13 16:01:30

30

char是单个UTF-16字符,即字母,数字,标点符号,制表符,空格或类似的字符。

字面甲char是任一包含在单引号这样

char myCharacter = 'g'; 

或转义序列,或甚至一个unicode转义序列的单个字符:

char a = '\t'; // Escape sequence: tab 
char b = '\177' // Escape sequence, octal. 
char c = '\u03a9' // Unicode escape sequence. 

值得注意的是Unicode转义序列在编译期间很早就被处理,因此使用'\ u00A'会导致编译器错误。对于特殊符号,最好使用转义序列,即'\ n'而不是'\ u00A'。

双引号为String,您必须在字符串中使用“双引号转义序列”(\"),否则会终止字符串。
例如:

System.out.println("And then Jim said, \"Who's at the door?\""); 

这是没有必要逃避单引号内的双引号。
下面一行是合法的在Java中:

char doublequote = '"'; 
5

让我们看看这段代码行(JAVA):

System.out.println("H"+"A"); //HA 
System.out.println('H'+'a'); //169 

1)第一行是HA串联,这将导致HA(字符串文字)

2)其次我们添加两个字符的值,根据ASCII表H = 72和a = 97意味着我们正在添加72+97这就像('H'+'a')

3)让我们考虑另一种情况下,我们将有:

System.out.println("A"+'N');//AN 

在这种情况下,我们正在处理字符串A的级联和焦炭N,这将导致AN

0

单引号表示字符,双引号表示字符串..

char c ='c';

'C' -----> c是一个字符

的String = “计算器”;

“计算器” ------>计算器是一个字符串(即集合如果字符)

相关问题