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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class lianxi
{
public static void main(String[] args)
{
  System.out.println('a'+1);
  System.out.println(""+'a'+1);
  System.out.println(""+"ab"+1);
  System.out.println(""+"a"+1);
}
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
第一个是将字符a的ASCII码97与1相加,然后再转换成字符串打印。之后的都是空字符串与后面的内容相加,字符串的+是将后面的视为字符串然后进行连接操作打印。结果应该是,98,a1,ab1,a1

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
System.out.println('a'+1);//指向ascii码+1=98
  System.out.println(""+'a'+1);//有个"",先变成了字符串所以是a1,你如果把""放到后面就又会变成98
  System.out.println(""+"ab"+1);
  System.out.println(""+"a"+1);//最后两个都是字符串+字符串+1

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
第一个:由于1它默认为int型,所以是char类型和int型相加,char类型自动转化为int型的值,a对应的ascii值为97,所以最终值为98;
第二个:string类型先和char型相加,得到string型的"a",然后再与1相加,string型和int型使用"+"符号的话,这个符号就是连接符,不是加号。所以值为a1
第三个:值为ab1,原因同上
第四个:a1,原因同上

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
class lianxi
{
public static void main(String[] args)
{
   System.out.println('a'+1);//先将a对应的ASCII码97与1相加,再打印,结果为98
   System.out.println(""+'a'+1);//""相当与一个空的字符串,用+号衔接后边的内容。结果是a1
   System.out.println(""+"ab"+1);//""相当与一个空的字符串,用+号衔接后边的内容。结果为ab1
   System.out.println(""+"a"+1);//""相当与一个空的字符串,用+号衔接后边的内容。结果为a1
}
}

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1

查看全部评分

回复 使用道具 举报
这四个语句其实是关于单引号与双引号的问题。
class lianxi
{
public static void main(String[] args)
{
  System.out.println('a'+1);**********1单引号转换为ascii对应的数字然后参加运算----相加
  System.out.println(""+'a'+1);*******2这个双引号在前后面的就直接参加字符串的运算了----连接
  System.out.println(""+"ab"+1);*****同2
  System.out.println(""+"a"+1);******同3
}
}

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1

查看全部评分

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