Java中的单引号和双引号有区别吗?
yr9zkbsy1#
对文字char s使用单引号,对文字String s使用双引号,如下所示:
char
String
char c = 'a'; String s = "hello";
它们不能以任何其他方式使用(例如,在Python中)。
rbl8hiat2#
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 = '"';
zqdjd7g93#
让我们考虑下面这行代码(Java):
System.out.println("H"+"A"); //HA System.out.println('H'+'a'); //169
1.第一行是H和A的串联,将得到HA(字符串文字)1.其次,我们将两个字符的值相加,根据ASCII表,H =72和a =97,这意味着我们将72+97相加,就像('H'+'a')一样。1.让我们考虑另一种情况,在这种情况下我们会:系统输出打印输入(“A”+'N');//安在本例中,我们处理的是字符串A和字符N的连接,结果是AN。
H
A
HA
a
72+97
('H'+'a')
N
AN
des4xlb04#
单引号表示字符,双引号表示字符串。字符c =“c”;'c'-----〉c是字符字符串s=“堆栈溢出”;“stackoverflow”------〉stackoverflow是一个字符串(即字符的集合)
4条答案
按热度按时间yr9zkbsy1#
对文字
char
s使用单引号,对文字String
s使用双引号,如下所示:它们不能以任何其他方式使用(例如,在Python中)。
rbl8hiat2#
char是单个UTF-16字符,即字母、数字、标点符号、制表符、空格或类似的字符。
char文本是用单引号括起来的单个字符,如下所示
或者换码序列,甚至是unicode换码序列:
值得注意的是,Unicode转义序列在编译过程中很早就被处理,因此使用"\u00A"将导致编译器错误。对于特殊符号,最好使用转义序列,即"\n"而不是"\u00A"。
双引号用于
String
,您必须在字符串中使用"双引号转义序列"(\"
),否则它将终止字符串。例如:
单引号内的双引号不必转义。
下面这行代码在Java中是合法的:
zqdjd7g93#
让我们考虑下面这行代码(Java):
1.第一行是
H
和A
的串联,将得到HA
(字符串文字)1.其次,我们将两个字符的值相加,根据ASCII表,
H
=72和a
=97,这意味着我们将72+97
相加,就像('H'+'a')
一样。1.让我们考虑另一种情况,在这种情况下我们会:
系统输出打印输入(“A”+'N');//安
在本例中,我们处理的是字符串
A
和字符N
的连接,结果是AN
。des4xlb04#
单引号表示字符,双引号表示字符串。
字符c =“c”;
'c'-----〉c是字符
字符串s=“堆栈溢出”;
“stackoverflow”------〉stackoverflow是一个字符串(即字符的集合)