Java中的单引号和双引号有区别吗?
Java中的单引号和双引号有区别吗?
对文字char
使用单引号,对文字String
双引号,如下所示:
char c = 'a'; String s = "hello";
他们不能用任何其他方式(例如在Python中)。
char是单个UTF-16字符,即字母,数字,标点符号,制表符,空格或类似的字符。
字符文字是单引号中包含的单个字符,如下所示
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
,你必须在String
中使用“双引号转义序列”( \"
),否则会终止string。
例如:
System.out.println("And then Jim said, \"Who's at the door?\"");
单引号内的双引号是没有必要的。
以下代码在Java中是合法的:
char doublequote = '"';
让我们考虑这些代码行(Java):
System.out.println("H"+"A"); //HA System.out.println('H'+'a'); //169
1)第一行是H
和A
连接,这将导致HA
(string文字)
2)其次,我们添加两个字符的值,根据ASCII表H
= 72和a
= 97,这意味着我们正在添加72+97
就像('H'+'a')
。
3)让我们考虑另一个案例,我们会有:
System.out.println("A"+'N');//AN
在这种情况下,我们正在处理stringA
和字符N
连接,这将导致AN
。
单引号表示字符,双引号表示string..
char c ='c';
'c'—–> c是一个字符
String s =“stackoverflow”;
“stackoverflow”——> stackoverflow是一个string(即集合如果字符)