黑马程序员技术交流社区
标题:
一个小问题
[打印本页]
作者:
爱上这格调
时间:
2013-10-11 14:08
标题:
一个小问题
class Test
{
public static void main(String[] args)
{
int x = 4;
changeString(x);
System.out.println(x);
}
public static void changeInt(int x)
{
x = 5;
}
}
函数changInt改变x的值 x应该变成5的啊 怎么输出结果还是4那?
作者:
ixiangfeng
时间:
2013-10-11 14:22
你确定这能编译通过?changeString(x);这行代码有问题吧
作者:
lihaotian_120
时间:
2013-10-11 14:23
class Test
{
public static void main(String[] args)
{
int x = 4;
x=changeInt(x);
System.out.println(x);
}
public static int changeInt(int x)
{
return 5;
}
}
复制代码
你的函数名写错了,另外,你如果要修改一个值,直接可以定义一个你要修改值类型的一个方法
比如public static int changeInt(int x);
如果你要用无返回值的方法的话,局部变量的有效性仅仅在这个方法体之中,这个方法调用完了之后就自动释放了
另外,如果你想用void来改变一个值的话,可以吧X设置成为一个成员变量,然后就可以修改x的值比如:
class Test
{
private static int x=4;
public static void main(String[] args)
{
//int x = 4;
changeInt(5);
System.out.println(x);
}
public static void changeInt(int n)
{
x=n;
}
}
复制代码
作者:
爱上这格调
时间:
2013-10-11 15:01
lihaotian_120 发表于 2013-10-11 14:23
你的函数名写错了,另外,你如果要修改一个值,直接可以定义一个你要修改值类型的一个方法
比如public stat ...
嗯啊啊 谢了 题目抄错了
作者:
spiderman
时间:
2013-10-11 17:19
很简单啊,你定义的 changeInt(int x)方法中,x是局部变量,函数一运行完就释放了,跟你在main中定义的x变量指向的不是同一地址。
作者:
乔兵
时间:
2013-10-11 18:32
安卓26、27板块已开,老版块加分可能会不及时。去新板块交流吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2