java中''和""两种引号的区别

我在一个语句中这么写:
System.out.println(' ');
就是那两个单引号中间有空格,打印的结果就是33
如果这么写:
System.out.println(' '+' ');
打印结果就是64。这是为什么啊?
我查了一下表,确实是这样,空格的ASCII值是32。但是为什么第一次打出来得是33呢?

双引号""里面的是字符串.

单引号里面的是字符.

因为一个字符对应着一个ASCLL码值.
而System.out.println();默认是输出一个字符串,即String类型.

我在我电脑上试了一下.
System.out.println(' '); 输出的是空格.
System.out.println((int)' '); 输出的是32.
System.out.println(' '+' '); 输出的是64.

说明你只输出一个字符时,会把这个字符转化成字符串去输出,即输出空格.

将空格转化成int型便为32.整型数据调用toString()方法输出32.

当你输入的是一个字符再加上一个字符时,由于字符不能相加,java会将字符首先转换成相应的ASCLL码值(空格即为32),相加后为64.整型数据调用toString()方法输出64.

--------------------------
我不知道你为什么输出的是33. 而不是空格!
你再试试看!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-25
System.out.println(' ');
System.out.println(' ' + ' ');
打印结果是:
(注:一个空格)
64
第2个回答  2008-07-25
public class yanzheng{
public static void main(String []args){
System.out.println(' ');
System.out.println(' '+' ');
}

}
打印结果:

64
Press any key to continue...
好像没有打印出33啊,是不是jdk的版本问题?
第3个回答  2008-07-25
''是字符,像你那么写就是打印那个字符的ASCII码值。

而“”这个是字符串
相似回答