JAVA参数传值

来源:互联网 发布:python cipher aescbc 编辑:程序博客网 时间:2024/06/15 23:07
//新建一个类,命名为Calcpackage com.zlm;public class Calc {//构造一个方法,方法名为add    void add(int x){    //定义了一个int类型的参数x        x += 1;         //表示x = x + 1        System.out.println("x=" +x);//输出x的值    }}********************************************************************************************************************
package com.zlm;public class Main {    public static void main(String[] args) {        int a = 2;       //新建一个int类型的变量a,给a赋值为2        Calc c = new Calc();//新建一个Calc类型的变量c,给c赋值new Calc()                c.add(a);        /*因为addCalc类中的方法,所以要返回到Calc中,                           并把a的值传给x,执行add方法,输出x   */        System.out.println("a=" +a);//输出a的值//    }}输出结果: 
自我分析:一开始一直在想:为什么x的值和a不相等?为什么a=2而不是a=3?
老师讲解后,有了很清晰的认识,c.add(a)这一步只是a把它本身的值传给了x.
x只在Calc类中执行运算,在add方法中执行x+=1之后,x的值变成了3,最后输出x的值.
a只给x进行了传值,它俩没有其他的联系,所以a的值还是原来的2,没有任何的变化。
0 0