黑马程序员技术交流社区

标题: 关于输出打印的提问 [打印本页]

作者: 我为你着迷    时间: 2014-3-5 22:49
标题: 关于输出打印的提问
大家好, 问下System.out.printlin('a'+1)和System.out.printlin(a+1)有什么区别,帮忙解释下,谢谢!
作者: 漠然~回首℃    时间: 2014-3-5 23:28
有区别啊第一个‘a’+1打印是a是个char类型的字符对应的是ASCII码表中的数值97,你可以看一下ASCII码表里面的每个字符都有一一对应的数值,第二个是变量a在加1的运算,这时候a就是一个变量名,其实还有一种类型你的注意一下就是System.out.println (""+'a'+1);这时候的输出结果就是a1,因为只要输出时加上一个字符串那么输出结果肯定是一个新的字符串形式;
作者: 上官睿鹏    时间: 2014-3-5 23:37
本帖最后由 上官睿鹏 于 2014-3-5 23:41 编辑

System.out.println('a' + 1);中的'a'是char类型字符,当打印'a'+1时 字符a在ASCII码表中的序号是97,所以打印结果为98;
System.out.prinltln(a+ 1);中的a是代表变量,需要前面有定义这个变量,否则会报错。
拿代码去试试就更清楚:
  1. class Demo
  2. {
  3.           public static void main(String[] args)
  4.           {
  5.                    int a = 1;
  6.                
  7.                   System.out.println(a + 1);
  8.                   System.out.println('a' + 1);
  9.           }
  10. }
复制代码




作者: luoanjade    时间: 2014-3-6 00:04
第一个‘a’,取出a的acsii码与1相加,得出的结果是98;第二个a是一个变量。
作者: 我为你着迷    时间: 2014-3-6 18:16
非常感谢  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2