已有101人关注
下面程序,,我不懂倒数第四行的 +t1.i++ 为什么要i++
发表在Java图书答疑 2013-12-02
是否精华
版块置顶:
 public class Accessproperly{
          static int i=47;
          public void call(){
              System.out.println("调用call方法");
          for( i=0;i<3;i++){
            System.out.println(i+" ");
            if(i==2)
          System.out.printn("\n ");     
}
}
}
public Accessproperly{
}
public static void main(String[] args){
       Accessproperly t1=new Accessproperly();
        Accessproperly t2=new Accessproperly();
            t2.i=60;
       System.out.println("第一个调用实列i的结果为:+t1.i++);
       t1.call();
           System.out.println("调用第二个实列i结果为:"+t2.i);
           t2.call();
   



}
分享到:
精彩评论 4
无语_mrkj
学分:3155 LV11
2013-12-02
沙发
这里的i++采用的是自增运算符,意思是先输出属性i的值,然后再将其加1,当然这里用与不用++运算符,程序的运行结果是一样的。
如果在这条语句的下面,再调用t1.i,那么输出结果将是48。
ZLB2001
学分:0 LV1
TA的每日心情
.
2020-06-27 19:36:47
2013-12-03
板凳
老师,,能解释一下整个程序的运行结果吗,拜托了
ZLB2001
学分:0 LV1
TA的每日心情
.
2020-06-27 19:36:47
2013-12-03
地板
还有这个程序的运行结果为什么是:     
 第一个实列对象调用i的结果为:60
   调用call()方法
   0 1 2
 第二个实列对象调用i的结果为:3
 调用call()方法
 0 1 2
上面的 60和3不懂啊
无语_mrkj
学分:3155 LV11
2013-12-04
4L
程序的运行结果应该是:
第一个实列对象调用i的结果为:47
调用call()方法
0 1 2
第二个实列对象调用i的结果为:60
调用call()方法
0 1 2

这是因为在执行t1.i++时,i的值为int i=47;语句赋的值;而由于在调用t2.i之前,先执行了t2.i=60,所以此时属性i的值变为了60,所以会有上面的结果。
另外,for循环语句中的i已经重新赋值为0。
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照