首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java中的单引号和双引号有区别吗?

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

Stack Overflow用户
提问于 2009-01-13 15:52:59
回答 4查看 89.6K关注 0票数 118

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-13 15:54:54

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

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

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

票数 169
EN

Stack Overflow用户

发布于 2009-01-13 16:03:48

字符是单个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 = '"';
票数 41
EN

Stack Overflow用户

发布于 2017-03-18 00:18:01

让我们考虑下面这几行代码(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

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/439485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档