为了账号安全,请及时绑定邮箱和手机立即绑定

【下面代码黑体有标出】为什么初始化three等于0之后,只能显示“three=one+two==>30”但是更改为int three=one+two 之后就可以全部都显示出来了?

 int one = 10 ;
        int two = 20 ;
        int three=one+two;//这样子是可以的,但是改成两步:int three=0;three=one+two;就不对了,请各位大佬解答一下,谢谢了。
        System.out.println("three = one + two ==> "+three);
        three+=one;
        System.out.println("three += one ==> "+three);
        three*=one;
        System.out.println("three *= one ==> "+three);
        three/=one;
        System.out.println("three /= one ==> "+three);
        three%=one;
        System.out.println("three %= one ==> "+three);
   



正在回答

5 回答

你的第一种写法int three=one+two,这样写虽然能够实现出来,在慕课网的编辑器中看不出来问题。但在eclipse中会有警告提示。所以这种写法是不对的,这样写的话变量three的值是不被使用的,这样就没有意义了。

1 回复 有任何疑惑可以回复我~
#1

大饼蓝 回复 才不是蠢鱼 提问者

可以是可以,但是要根据程序要求的情况来,至少在这篇代码中是没有意义的。第二种写法也不对,你这样写的话就是对three连续赋值了,同一个变量不能被连续赋值。 只能将three先初始化为零,因为这样写符合这篇程序的逻辑。你那两种写法都不符合这篇程序的逻辑。
2017-08-28 回复 有任何疑惑可以回复我~
#2

大饼蓝 回复 大饼蓝

兄弟,抱歉,没搞清楚情况,说错了。你的两种写法都是对的,可以实现的,在Eclipse中都可以实现出来而且没有警告提示,注意把该加的符号加上,仔细检查符号状态是不是英文输入的就行。
2017-08-28 回复 有任何疑惑可以回复我~

我重新按照你的来弄了一遍,得到的输出是这样的

three = one + two ==>30<br/>three += one ==>40<br/>three -= one ==>30<br/>three *= one ==>300<br/>three /= one ==>30<br/>three %= one ==>0<br/>

应该要怎么样才能去掉<br/>呢?

1 回复 有任何疑惑可以回复我~
#1

慕工程3574245

<br/>是换行符,是慕课网的网页编辑器给予编辑者的提示。 就是说在eclipse里面的格式慕课网的编辑器有时候不会正确反映出来,但是逻辑上没有错误,系统会自动反映出来显示为<br/>,相当于换行了,这是网页的HTML格式,不必想深究。 直接在eclipse里就可以看到真实的格式。
2017-08-27 回复 有任何疑惑可以回复我~
#2

才不是蠢鱼 提问者 回复 慕工程3574245

好的,谢谢(。・ω・。)ノ♡
2017-09-08 回复 有任何疑惑可以回复我~

我这样写的,是没问题的。

public class HelloWorld{
    public static void main(String[] args) {
        int one = 10 ;
        int two = 20 ;
        int three = 0 ;
        
        three = one + two ;
        System.out.println("three = one + two ==>"+three);
        
        three += one ;
        System.out.println("three += one ==>"+three);
        
        three -= one ;
        System.out.println("three -= one ==>"+three);
        
        three *= one ;
        System.out.println("three *= one ==>"+three);
        
        three /= one ;
        System.out.println("three /= one ==>"+three);
        
        three %= one ;
        System.out.println("three %= one ==>"+three);

1 回复 有任何疑惑可以回复我~
#1

才不是蠢鱼 提问者

我回去再试一遍看看(๑• . •๑)
2017-08-26 回复 有任何疑惑可以回复我~
#2

才不是蠢鱼 提问者

我重新按照你的来弄了一遍,得到的输出是这样的 three = one + two ==>30<br/>three += one ==>40<br/>three -= one ==>30<br/>three *= one ==>300<br/>three /= one ==>30<br/>three %= one ==>0<br/> 应该要怎么样才能去掉<br/>呢?
2017-08-26 回复 有任何疑惑可以回复我~
#3

qq_Getoverit_0 回复 才不是蠢鱼 提问者

这个我也不太清楚
2017-08-26 回复 有任何疑惑可以回复我~

貌似同一个类型&&同一个变量,不能被连续分别赋值。

1 回复 有任何疑惑可以回复我~

我试过了这么写也没错,不行你就试着不要改动他原来的代码,把three的运算写在println后面的括号里面。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

【下面代码黑体有标出】为什么初始化three等于0之后,只能显示“three=one+two==>30”但是更改为int three=one+two 之后就可以全部都显示出来了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信