注册 登录
编程论坛 JAVA论坛

变量输出问题

zt815082858 发布于 2017-11-11 09:56, 2363 次点击
public class TransferProperty {                        
    int i=47;                                                
    public void call() {                        
        System.out.println("调用call()方法");
        for(i=0;i<3;i++) {
            System.out.print(i+" ");————————————————》1、为什么这里以i和+i都可以输出呢?
            if(i==2) {
                System.out.println("\n");
            }
        }
    }
public TransferProperty() {//构造方法
}
public static void main(String args[]) {//主方法
    TransferProperty t1=new TransferProperty();
    TransferProperty t2=new TransferProperty();
    t2.i=60;
    System.out.println("第一个实例对象调用变量i的结果:"+t1.i++);——————————>这里的++有什么作用?
    t1.call();
    System.out.println("第二个实例对象调用变量i的结果:"+t2.i);
    t2.call();
}

}

第一个实例对象调用变量i的结果:47
调用call()方法
0 1 2

第二个实例对象调用变量i的结果:60
调用call()方法
0 1 2

4 回复
#2
不吃狼的羊2018-06-19 15:12
应该是第一个输出默认++为链接符号,第二个输出默认为运算符
#3
liaohs2018-06-19 17:13
for中每次循环i都被赋值和输出。
其他地方如何修改,当然没有作用。
这样的程序没有意义,不知道你想做什么
#4
不落夕阳2018-06-19 21:12
i=47
system.out.printnln(i++);输出的是i的值47,但是这一步执行后i=47;i++也就是先执行程序后执行i+1;++i则是先i+1再执行程序。
system.out.printnln(i);此时的输出的i就是48.
#5
wzj7654562912018-06-21 13:21
这里的i定义为了成员变量,也就是与实例相关联,调用t1.i++, 会输出t1的i变量,输出结束之后i自增,如果没有后续输出,没什么实际用途,t2.i与t1.i无关
1