黑马程序员技术交流社区
标题: 程序的结果 [打印本页]
作者: 邢义敏 时间: 2013-3-4 20:07
标题: 程序的结果
- public class AccessProperty {
- static int i = 47;
- public void call() {
- System.out.println("调用call方法");
- for (i = 0; i < 3; i++) {
- System.out.print(i + " ");
- if (i == 2)
- System.out.println("\n");
- }
- }
- public AccessProperty() {
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- AccessProperty t1 = new AccessProperty();
- AccessProperty t2 = new AccessProperty();
- t2.i = 60;
- System.out.println("第一个实例对象调用i的结果" + t1.i++);
- t1.call();
- System.out.println("第二个实例对象调用i的结果" + t2.i);
- t2.call();
- }
- }
复制代码
运行后的结果为:
第一个实例对象调用i的结果60
调用call方法
0 1 2
第二个实例对象调用i的结果3
调用call方法
0 1 2
第一个实例对象调用i的结果是60,此时i=61,调用了t1.call();后不应该是2么,为什么第二个实例对象调用i的结果会是3?
好吧,我脑子短路了,忽然想起来是怎么回事了。
作者: 罗威 时间: 2013-3-4 20:59
哥们,当t1.call();的时候就开始循环,当i=3的时候虽然没能进入循环体,但是 i 的值已经改变成3了 啊,所以当你对象调用的时候 i 是3啊
for(int x =0;x<3;x++){执行语句;}当运行完一次执行语句,就先将x值加1,然后才去和3比啊 ,true就再循环,false就退出循环,可你是否进入循环体i的值都已经变成3了
作者: 邢义敏 时间: 2013-3-4 21:36
罗威 发表于 2013-3-4 20:59
哥们,当t1.call();的时候就开始循环,当i=3的时候虽然没能进入循环体,但是 i 的值已经改变成3了 啊,所 ...
首先我要说哥们,我是女的;其次,我要谢谢你的讲解;最后我要告诉你一个不幸的消息,我帖子发了后我就已经想起来是怎么回事了。所以我给改成已解决了……不过还是要谢谢你的帮助!!^_^
作者: 罗威 时间: 2013-3-4 22:06
邢义敏 发表于 2013-3-4 21:36
首先我要说哥们,我是女的;其次,我要谢谢你的讲解;最后我要告诉你一个不幸的消息,我帖子发了后我就已 ...
额 我没看性别~ 不好意思啊! 别见怪啊!!
作者: 邢义敏 时间: 2013-3-4 22:11
罗威 发表于 2013-3-4 22:06
额 我没看性别~ 不好意思啊! 别见怪啊!!
木关系~~木关系,我还要谢谢你滴回答捏~~~~~~~
作者: 罗威 时间: 2013-3-4 22:14
邢义敏 发表于 2013-3-4 22:11
木关系~~木关系,我还要谢谢你滴回答捏~~~~~~~
嘿嘿 我脑袋也很容易短路 学习就是需要互相探讨和帮助的嘛
作者: 罗威 时间: 2013-3-4 22:27
邢义敏 发表于 2013-3-4 21:36
首先我要说哥们,我是女的;其次,我要谢谢你的讲解;最后我要告诉你一个不幸的消息,我帖子发了后我就已 ...
问你个操作性的问题,怎么把自己提的问题改成已解决啊!??
作者: 邢义敏 时间: 2013-3-4 23:07
就是点击你所发帖子下面的编辑,
然后在选择主题分类选项
里面选择已解决
这一项,然后保存,就可以了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |