猿问

麻烦JAVA哥们姐们来看看这段代码怎么是这么输出的

class lianXi2{
	int num1;
	int num2;
	int num3;
	
	//创建构造函数
	lianXi2(){
		num1=5;                    
		}
		
	//创建成员方法
	void disPlay(){
		System.out.println("num:"+num1);
		//前缀
		num2=++num1;
		System.out.println("++num:"+num2);
		//后缀
		num3=num1++;
		System.out.println("num++:"+num3);
		}
		
	public static void main(String[] args){
		lianXi2 lx2=new lianXi2();
		lx2.disPlay();
		}
	}
	/*问题:我觉得输出应该分别是num1:5    num2:6    num3:5,把前缀后缀位置交换的话输出又不同,这是为什么呢?num1的值应该一直是5没变啊?希望理解的帮我分析一下哦,谢谢!!*/


surpasswei
浏览 1254回答 3
3回答

lymo

num2=++num1; //num1=6, num2=6, num3=num1++; //num1=7, num3=6

jety雨涵

5,6,6,楼上的分析没错,你在disPlay最后再输出一次num1试试,其实它现在是7了!
随时随地看视频慕课网APP

相关分类

Java
我要回答