帮我分析一下这段代码的运行结果吧,谢谢
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类型)则赋予的是一个引用。值会改变了。