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

来源:百度知道 编辑:UC知道 时间:2024/05/02 20:16:11
我在一个语句中这么写:
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. 而不是空格!
你再试试看!!!

System.out.println(' ');
System.out.println(' ' + ' ');
打印结果是:
(注:一个空格)
64

public class yanzheng{
public static void main(String []args){
System.out.println(' ');
System.out.println(' '+' ');
}

}
打印结果:

64
Press any key to continue...
好像没有打印出33啊,是不是jdk的版本