A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我为你着迷 金牌黑马   /  2014-3-5 22:49  /  876 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家好, 问下System.out.printlin('a'+1)和System.out.printlin(a+1)有什么区别,帮忙解释下,谢谢!

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

倒序浏览
有区别啊第一个‘a’+1打印是a是个char类型的字符对应的是ASCII码表中的数值97,你可以看一下ASCII码表里面的每个字符都有一一对应的数值,第二个是变量a在加1的运算,这时候a就是一个变量名,其实还有一种类型你的注意一下就是System.out.println (""+'a'+1);这时候的输出结果就是a1,因为只要输出时加上一个字符串那么输出结果肯定是一个新的字符串形式;

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 上官睿鹏 于 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. }
复制代码



评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
第一个‘a’,取出a的acsii码与1相加,得出的结果是98;第二个a是一个变量。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
非常感谢  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马