这道题结果是什么?为什么?(java)

publicclassTest{publicstaticvoidswap(intnum1,intnum2){inttemp=num1;num1=num2;num2=tem... public class Test{
public static void swap(intnum1,int num2){
int temp=num1;
num1=num2;
num2=temp;
}
public static void main(String[]args){
int n1=20 ;
int n2=30;
swap(n1,n2);
System.out.println(n1+","+n2);
}
}
展开
 我来答
田真久
2015-02-02 · TA获得超过661个赞
知道小有建树答主
回答量:603
采纳率:100%
帮助的人:318万
展开全部
还是20和30。函数是把n1 和n2的值穿给形参,交换的结果在swap函数内部。n1,n2本身没有改变
缄默相依
2015-02-02 · TA获得超过224个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:222万
展开全部
输出结果:20,30
因为你虽然调用了swap方法,但是这个方法没有返回值,所以根本就是白执行了,当然还是上面初始化的值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yc_19880612
2015-02-02 · TA获得超过3509个赞
知道大有可为答主
回答量:5075
采纳率:85%
帮助的人:3819万
展开全部
20,30
java中传递参数时传递的仅仅是参数的拷贝,就好像把参数复制了一遍传过去一样,所以拷贝发生交换了对原来的参数没有任何影响,输出的仍然是原来的n1和n2。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅惜玉sh
2015-02-02 · TA获得超过243个赞
知道小有建树答主
回答量:343
采纳率:100%
帮助的人:298万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
土鳖d8
2015-02-02 · TA获得超过123个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:64.3万
展开全部
这个打印的n1 = 20, n2 =30。如果你把打印放到swap这个方法里面去打印 num1 , num2的话,
num2 = 30, num1 = 20。因为他通过一个临时变量将值调换过来了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式