繁体   English   中英

Java中的单引号和双引号之间有区别吗?

[英]Is there a difference between single and double quotes in Java?

Java中的单引号和双引号之间有区别吗?

对于文字char ,请使用单引号,对于文字String ,请使用双引号,如下所示:

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

不能以其他任何方式使用它们(例如,在Python中)。

字符是单个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内使用“双引号转义序列”( \\" ),否则它将终止该字符串。
例如:

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)第一行是HA串联,这将导致HA (字符串文字)

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

3)让我们考虑另一种情况:

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

在这种情况下,我们要处理字符串A和char N串联,这将导致AN

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

char c ='c';

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

字符串s =“ stackoverflow”;

“ stackoverflow” ------> stackoverflow是一个字符串(即字符集合)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM