读书人

帮小弟我分析一下这段代码的运行结果吧

发布时间: 2012-01-24 23:11:55 作者: rapoo

帮我分析一下这段代码的运行结果吧,谢谢
public class Test {
public static void main(String[] args) {
int a=99;

oper(a);
System.out.print(a);
}
static void oper(int b){

b=b+100;

}
}


运行 结果为什么是99?

[解决办法]
因为这个是int类型的值赋予,而非对象类型的引用赋予。
如果程序改为:

public class Test {
public static void main(String[] args) {
int a=99;
a=oper(a);
System.out.print(a);
}
static int oper(int b){
b=b+100;
return b;
}
}
则输出是199。

但如果a是对象类型的(例如String类型)则赋予的是一个引用。值会改变了。

读书人网 >J2SE开发

热点推荐