小问题 对不起,我写错了。 第四行中的是int x=5 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不知道楼主有没有亲自去运行这个程序。这个程序肯定是编译不能够通过的。public static void main(){这一行是不对的,至少少了String args[]还有public static void change(x){这一行中应该是change(int X)修改后的程序是:class Ex1{ public static void main(String args[]){ int x=3; change(x); System.out.println(x); } public static void change(int x){ x=5; }}不过我在你的原来的程序中没有发现5。int类型的参数是行参。 现在我告诉大家完整的class Ex1{ public static void main(String args[]){ int x=5; change(x); System.out.println(x); } public static void change(int x){ x=3; }} 第2个问题,没有返回。只是把在方法CHANGE里的X 附值。如果有返回,用RETURN的。结果是5,因为在JAVA里,基本类型,int,double,char什么的 都是传值的。就是在你的MAIN函数里运行的 change(x);这个x 是5,这个x 把值给了 public static void change(int x)这里的x,只是值,这两个X除了值相同以外,没有任何关系。所以你把x= 3;改了。不影响MAIN函数里的X。 java语言总是使用传值调用要区别传引用调用 第一个问题:int x = 5;public void change(int a){ System.out.println(a);}这里的x是一个实参,而a是一个形参.实参你可以理解成是一个发送者,就像x是被发送给了change方法一个形参你可以理解成是一个接收者,就像a是接一个发送过来的值.第二个问题:你的理解错误了,所谓返回其实是一个指方法所代表的值,如下public string a(){ return "abc";}这才叫做返回,你可以如下使用这个返回值string text;text = a();第三个问题:这是因为在java里基本数据类型的传递方式是按值传递的.如你写的程序一样,外部的x变量从来就没有改变过的.而你改变的只是在change函数里的x变量.而且在你调用完change方法后,在基方法中的x的生命周期也就结束了,所以在change外的x从来就没有改变过! 在java中没有指针,要用对象的引用在函数中的传递才可以达到无返回值时对数值的改变我也是刚好学到这,不过这里的值传递就学C语言的经验而言是行不通的。如果定义一个类,在类中有这么一个方法,也许可以改变变量的值,但形参和实形同名的话,需决定是否用this.来标明是哪个参数才行。 高分!socket编程的问题!!!!急急!懂网络的高手来! java监听WM_COPYDATA消息 java+access2003数据库一些语句看不明白,请指教 如何将从JTextField中得到的字符串写到数据库中的日期型列里 最最初级的问题 打开的问题?在线 关于Socke发送无符号数据的问题! 各位又没有碰到过这种情况:jbuilder5用jdbc.odbc桥连接sql server2000数据库出错。 怎么重绘啊? 利用java实现UDP(二) 谁给我讲一下void的用法呢? 关于java数据库开发的书
public static void main(){
这一行是不对的,至少少了String args[]
还有public static void change(x){
这一行中应该是change(int X)修改后的程序是:
class Ex1
{
public static void main(String args[]){
int x=3;
change(x);
System.out.println(x);
}
public static void change(int x){
x=5;
}}不过我在你的原来的程序中没有发现5。int类型的参数是行参。
class Ex1
{
public static void main(String args[]){
int x=5;
change(x);
System.out.println(x);
}
public static void change(int x){
x=3;
}}
在你的MAIN函数里运行的 change(x);这个x 是5,这个x 把值给了
public static void change(int x)这里的x,只是值,这两个X除了值相同以外,没有任何关系。
所以你把x= 3;改了。不影响MAIN函数里的X。
要区别传引用调用
int x = 5;
public void change(int a){
System.out.println(a);
}
这里的x是一个实参,而a是一个形参.
实参你可以理解成是一个发送者,就像x是被发送给了change方法一个
形参你可以理解成是一个接收者,就像a是接一个发送过来的值.第二个问题:
你的理解错误了,所谓返回其实是一个指方法所代表的值,如下
public string a(){
return "abc";
}
这才叫做返回,你可以如下使用这个返回值
string text;
text = a();第三个问题:
这是因为在java里基本数据类型的传递方式是按值传递的.
如你写的程序一样,外部的x变量从来就没有改变过的.而你改变的只是在change函数里的x变量.
而且在你调用完change方法后,在基方法中的x的生命周期也就结束了,所以在change外的x从来就没有改变过!