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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 〃FelayMan。 中级黑马   /  2014-2-8 18:20  /  1280 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        import org.junit.Test;
        public class TestDemo {
        public void change(int number){
                number*=3;
        }
        @Test
        public void test(){
                int num=100;
                change(num);
                System.out.println(num);
        }
}

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
在这里如果我如何将在另外一个方法中修改num的值呢?
回复 使用道具 举报
无道 来自手机 中级黑马 2014-2-8 19:18:49
藤椅
这是传值运算,,,传址运算可以改变其结果。个人理解。
回复 使用道具 举报
class Test
{
        public static void main(String[] args)
        {
                A te=new A();
                te.test();
        }
       
}
class A
{
        public void  test()
        {
                int num=100;
                 num =change(num);
                System.out.println(num);
        }
         public int change(int number)
        {
              return number*=3;
         }
}
java中的基本数据类型保存在堆内存中,要改变test()中num存储的是常量100的地址,改变num的值就改变其引用的地址,让它指向其他常量数据例如change()返回的数值300

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
这还不简单,直接在自定义的方法中打印即可,代码如下:

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;


public class JiShuFen13 {
        public static void change(int number){
                number*=3;
                System.out.println(number);
        }
        public static void main(String[] args){
                int num=100;
                change(num);
        }
}
希望可以帮到你

-------手打,请勿copy、更勿paste、可以照写-------

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马