JAVA中实参传递给形参调用方法后,实参为什么不改变?
比如这个小程序publicclassJava{publicstaticvoidmain(String[]args){intb=4;changeInt(b);System....
比如这个小程序
public class Java{
public static void main(String[] args)
{
int b =4;
changeInt(b);
System.out.println(b);
}
public static int changeInt(int a){
a =2;
System.out.println(a);
return a;
}
}
为什么changeInt(b)之后输出的是4?
把b传到changeInt方法中之后为什么b的值没改变? 展开
public class Java{
public static void main(String[] args)
{
int b =4;
changeInt(b);
System.out.println(b);
}
public static int changeInt(int a){
a =2;
System.out.println(a);
return a;
}
}
为什么changeInt(b)之后输出的是4?
把b传到changeInt方法中之后为什么b的值没改变? 展开
2个回答
展开全部
因为 你的changeInt()方法虽然把b的值改变了 但是没有重新赋值给b
你把程序改成这样试试
public class Java{
public static void main(String[] args)
{
int b =4;
b = changeInt(b);
System.out.println(b);
}
public static int changeInt(int a){
a =2;
System.out.println(a);
return a;
}
}
你把程序改成这样试试
public class Java{
public static void main(String[] args)
{
int b =4;
b = changeInt(b);
System.out.println(b);
}
public static int changeInt(int a){
a =2;
System.out.println(a);
return a;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询