这个Java println调用中的char转换是做什么的?
我是新来的编程在Java中,我不明白一个println声明。我可以运行它,但无法理解它的功能。任何人都可以解释这是什么吗?这个Java println调用中的char转换是做什么的?
System.out.println((char) ('a' + 4));
首先一个ASCII值被添加到值4和字符相应的值101是printed..it是“e'.You可以指ASCII表
的ascii
值a
是97
so 97+4=101
101
这就是ascii
字母值e
。
System.out.println((char) ('a' + 4));
所以上面的sop会打印e
。
只需打印出字母e
。 @wrongAnswer引用了ASCII字符代码,这是一个将唯一ID分配给字符的编号系统。看看这个例子:http://www.asciitable.com/。
如果您看一下表格中小写字母的排列方式,您会看到字母a
在97,b
在98,c
在99等等。上面的代码正在做什么,我们正在找到什么是a
的ASCII码,然后加4,然后再回到char
。因此,这实际上做的是将97
然后与4
相加,产生101
。如果您查阅表格,101
实际上是e
,所以在铸造101
与char
之后的输出是e
。
-
'a'
是一个char
文字; -
char
是Java中的整数数值类型,就像int
; -
+
两个数值之间发生装置此外; -
(char)
表示转换成转换为char
类型; - 一个
char
,打印时,呈现为Unicode的编码点,那么表示。
欣赏指出'char'被认为是一种数字类型。人们通常不会在解释中强调这一点,然后当“a”+“b”不返回“ab”时会感到困惑。 – Compass 2014-10-07 17:35:06
允许打破这种分解成离散的语句:
char a = 'a'; // the character a
int aPlusFour = a + 4; //characters are really an integer value for the ASCII code, so we can add four
char aPlusFourChar = ((char) aPlusfour); //cast our integer back to a char
System.out.println(aPlusFourChar); //this should print the character e
- '一个' == 97
- 97 + 4 == 101
- (炭)101 == 'E'
- System.out.println('e'+“”); //打印'e'
请阅读ASCII。 http://www.asciitable.com答案是101 – StackFlowed 2014-10-07 17:30:27