这个Java println调用中的char转换有什么作用?

时间:2014-10-07 17:29:27

标签: java

我刚接触java编程,我不懂println语句。我可以运行它,但无法理解它的作用。任何人都可以解释这是做什么的吗?

System.out.println((char) ('a' + 4));

6 个答案:

答案 0 :(得分:4)

  1. 'a'是一个char字面值;
  2. char是Java中的一个整数数字类型,就像int;
  3. 发生在两个数值之间的
  4. +表示添加;
  5. (char)表示转换char类型;
  6. a char,在打印时,呈现为它所代表的Unicode代码点。

答案 1 :(得分:2)

只打印出e字母。 @wrongAnswer引用了ASCII字符代码,这是一个为字符分配唯一ID的编号系统。例如,看一下这个:http://www.asciitable.com/

如果您查看表格中排列小写字母的方式,您会看到字母a位于97,b位于98,{{1}是99等等。上面代码的作用是我们找到c的ASCII码,然后加4,然后再回到a。因此,实际执行的操作是char然后添加97,生成4。如果您查阅该表,101实际上是101,因此在使用e投放e后输出为101

答案 2 :(得分:0)

ascii的{​​{1}}值为a,因此97 97+4=101101字母ascii的值。< / p>

e

因此上述sop将打印System.out.println((char) ('a' + 4));

答案 3 :(得分:0)

让我们把它分解成离散的陈述:

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

答案 4 :(得分:0)

  1. 'a'== 97
  2. 97 + 4 == 101
  3. (char)101 =='e'
  4. 的System.out.println( 'E' + “”); //打印'e'

答案 5 :(得分:-1)

首先将ascii值添加到值4.并且打印与值101相对应的字符。它是&#39; e。您可以参考ascii table