A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

郑明君

  • 黑马币:0

  • 帖子:34

  • 精华:0

© 郑明君   /  2012-7-20 17:13  /  3610 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

苑占丽 发表于 2012-7-20 18:20
那好吧,看到楼上的好多回复,我还想再补充一点:
代码稍微改动了一点
public class TestP {

但是我输出的是 a 而不是 带返回值的swap(int a, int b);  你醒 了吗?
回复 使用道具 举报
本帖最后由 苑占丽 于 2012-7-20 18:36 编辑
郑明君 发表于 2012-7-20 18:33
但是我输出的是 a 而不是 带返回值的swap(int a, int b);  你醒 了吗?

返回值也是a的值呀

返回值都没有,你怎么可能输出方法里改变的值

其实根本就没有他们说的那么复杂
回复 使用道具 举报
苑占丽 发表于 2012-7-20 18:34
返回值也是a的值呀

返回值都没有,你怎么可能输出方法里改变的值

咱QQ说吧。我Q252544239
回复 使用道具 举报
可以试着这样编写。
class HuHuan
{
        public static void main(String[] args)
        {               int a=22;
                int b=33;
                jiaoHuan(a,b);
               
        }
        public static void jiaoHuan(int a,int b)
        {
             
               
                int temp=a;
                a=b;
                b=temp;
                System.out.println(a+"  "+b);
        }
}
回复 使用道具 举报
苑占丽 发表于 2012-7-20 17:55
不见得把,传参也可以不用有返回值呀,直接void,写一条输出语句,输出交换后的值,然后调用者调用这个方 ...

是,我明白你的意思,那样输出可以严重是否传参是否传过去了,但是这样是让他多学习是是返回值,以后不能什么都这样直接输出的。你说对不,但是他告诉我理论对,呵呵,我说的她都不懂,我真无语了。
回复 使用道具 举报
韩爽 发表于 2012-7-21 19:54
是,我明白你的意思,那样输出可以严重是否传参是否传过去了,但是这样是让他多学习是是返回值,以后不能 ...

呵呵,对。我也表示很无语呀。。。。
回复 使用道具 举报
苑占丽 发表于 2012-7-21 19:57
呵呵,对。我也表示很无语呀。。。。

他估计是本科生,还是零基础,这个就的这样写,我Q549444333 你也女孩子么?
回复 使用道具 举报
韩爽 发表于 2012-7-21 20:01
他估计是本科生,还是零基础,这个就的这样写,我Q549444333 你也女孩子么? ...

是呀,我是女生
回复 使用道具 举报
public class TestPrimitiveTransfer {
    public static void swap (int a, int b){
        int tmp = a;
        a = b;
        b = tmp;
    }
    publicstatic void main(String[] args){
        int a = 6;
        int b = 9;
        swap(a, b);
        System.out.println("交换结束后,参a的值是" + a + ": 参b的值是" + b);
    }
}

为什么输出: 参a的值是6;  参b的值是 9
因为在swap方法中定义了两个局部变量用于计算传入的值,计算后交换的是这两个局部变量的值,所以在main函数中定义的两个变量是没有变的
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马