永发信息网

【JAVA】我创建了一个函数,为什么调用后没有效果?

答案:3  悬赏:0  手机版
解决时间 2021-01-27 18:10
  • 提问者网友:星軌
  • 2021-01-26 21:03
【JAVA】我创建了一个函数,为什么调用后没有效果?
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-01-26 22:00
哥,形参和实参的定义你先好好看看,主函数传过来的只是值,主函数只是把a和b的值传给了change中a和b,但两个方法中a和b不占用同一块地址。
也就是main方法中的a和b和change中的a和b没有关系。两个函数的变量地址都不相同,所以改了一个,另一个不会改变。这部分在c语言中讲的比较清楚(谭浩强版的)。
若想改变a和b:
可以通过返回值,就是把改过的值,再赋给main函数的a和b。

也可以把a和b定义成全局变量,这样改的就是同一块地址的值了。
全部回答
  • 1楼网友:一叶十三刺
  • 2021-01-26 23:58
刚没理解你的意思, 确实是形参和实参的问题
  • 2楼网友:独钓一江月
  • 2021-01-26 22:51
变量的使用范围不对,main方法的a和b和change方法的a和b不是同一个,这都是局部变量,只在同一函数范围内有效。
class Change
{
static int a=1;
satic int b =4;
public static void main(String[] args)
{
System.out.println("a= "+a+" b="+b);
change(a,b);
System.out.println("a= "+a+" b="+b);
}
public static void change()
{
int temp = a;
a = b;
b = temp;
System.out.println("a= "+a+" b="+b);
}
}
这样是全局变量才有效
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯