您的位置:首页 > 职场人生

java面试题:i=i++和j=i++两句分别输出i=?,j=?

2015-07-28 10:42 387 查看
package 网易校招面试题;

public class Inc {
	public static void main(String[] args) {
		Inc inc = new Inc();
		int i=0;
		int j=0;
	    inc.fermin(i);//调用了fermin方法,虽然把i传递过去了,i++先使用在自增,那么fermin方法执行完成后i变为1,但是这是传值而非传引用,
	    //所以在主函数main方法里面i的值任然为0,那么执行下面的i++,先使用在自增
		i=i++;
		System.out.println("i="+i);//仍然为0因为,i其实就是指向i++
//		System.out.println("i="+i);//仍然为0,因为自增后值还是赋值给本身则不变
		
		j=i++;
		System.out.println("j="+j);//还是0
		System.out.println("i="+i);//i此时为1
	}
	void fermin(int i){
		i++;//i的变化不会返回到调用处
	}
	
}
//output:i=0,j=0,i=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: