练习题第一道

练习题第一道

char c='c';

         int i=10;

         long l=1;

         String s="Hello";

         int a=2;

     c=c+i;这个不相当于c=c+10吗?为什么这个不对?

        s+=i;这个不相当于s=s+i 即Hello=Hello+10吗?为什么这个就对而上一个就不对?还有Hello不是一个单词吗?它怎么还可以被赋值。。


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

c=c+i;c为字符型数据,i为int型数据不可以直接转化为字符型数据;

i+=s;i为int型数据,s为String型数据,String类型不可以转化为int型

c+=s;c是字符型数据,s为String型数据,String类型数据不可以转化为字符型数据

s是一个字符串类型的变量,这个变量的值是Hello,同学可以在自己环境中敲下这些代码试一下。祝学习愉快~

  • happy琳 提问者 #1
    c=c+i;c为字符型数据,i为int型数据不可以转化为字符型数据; 那为什么int类型的数据就能转换成字符串类型的变量?。。有点懵
    2018-01-23 18:11:56
  • 一叶知秋519 回复 提问者 happy琳 #2
    字符型属于基本数据类型,基本数据类型之间是可以进行转化的;int转化为char需要进行强制类型转化,就是这样c=(char) (c+1);所以这个地方说不可以转化为字符型数据;而String是字符串,不属于基本数据类型,这个地方的加号是连接符号不是运算符,进行的字符串拼接,是可以的。祝学习愉快~
    2018-01-23 18:42:35
  • 呆呆的小蚂蚁 回复 提问者 happy琳 #3
    String有字符串拼接效果,后面学到字符串,慢慢就懂啦。java语言是慢慢悟的,我在学校学了两年,出来没从事java,感觉难,现在从头从新过一遍,感觉就不一样。程序媛啊~~~~呜呜呜
    2018-01-24 18:30:05
李小扬 2018-01-30 11:30:18

i+=s;i为int型数据,s为String型数据,String类型不可以转化为int型

int型可以转成String型

Holmes0821 2018-01-24 12:59:34

变量和常数运算时不一样的,你给变量先赋值,再进行运算和没赋值之前是一样的

慕娘823153 2018-01-23 10:37:59

觉得应该和string 和 char 的类型有关,应该是有的类型不能赋值数字,有的类型不能赋值字母,string 好像是字符串,应该都可以,可以看成字符连接,我也不大确定,不过还是提下我的看法,抛砖引玉

  • 提问者 happy琳 #1
    恩恩 谢谢!
    2018-01-23 18:10:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师