大家也都知道i++是先使用再自增,++i是先自增再使用,但实际中遇到看似简单的面试题还是会出错,下面是两个面试题:

/***** test.java*******/

public class test {

 static {int x=5;}//局部变量,不影响后面的x值

 static int x,y;//初始化x=0,y=0

 public static void main(String[] args){

  System.out.println(x);//这里输出是0,即第二次使用static声明x的时候x被默认赋值为0  

 x--;  

 myMethod();

  System.out.println(x + y++ +x);//x是1,y是0,结果是2

 }  

private static void myMethod()

{

  y = x++ + ++x;   

 }

}

 

/***** test1.java*******/

public class test1 {  

public static void main(String[] args){  

 int j=0;

  for(int i=0;i<100;i++)

{    j=j++; //   相当于temp=j;j=j+1;

j=temp

  }  

 System.out.print(j);//j=0 ,反正我是算成100了……

 }

}