/***
*输出结果是多少?
*/
public class Inc{
public static void main(String argv[]){
Inc inc = new Inc();
int i =0;
inc.fermin(i);
i = i++;
System.out.println(i);
}
void fermin(int i){
i++;
}
}
答案是0
/***
*输出结果是多少?
*/
public class Inc{
public static void main(String argv[]){
Inc inc = new Inc();
int i =0;
inc.fermin(i);//传值,变量i本身值不变
i = i++;//分两步,首先i++,变量i的值变为1,但是表达式i++的值是i原来的值0;
//第二步,将表达式i++的值0赋给变量i,这时变量i的值还是为0。
System.out.println(i);//理所当然输出的值是0咯
}
void fermin(int i){
i++;
}
}
如上面所讲,两个知识点
1 java中的方法都是值传递
2 i = i++的值为0(原因见注释)