Java中参数传值(4)

本文详细介绍了Java中方法参数的传值机制,包括基本数据类型参数的传值(不允许级别提升)、引用类型参数的传值(传递引用而非实体)以及可变参数的使用和遍历。强调了在引用类型参数中对实体的改变会影响到原始变量,而对引用的改变则不会。同时,文章提供了一个使用可变参数的示例,展示了如何通过增强的for循环遍历可变参数。
摘要由CSDN通过智能技术生成

持续更新中😬 加个关注,后续上新不错过~

方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数必须有具体的值

1.传值机制

在Java中方法的所有参数都是“传值”的。例如向方法的int型参数x传递一个int值,那么参数x得到的值是传递的值的拷贝。

因此方法中改变参数的值,不会影响向参数“传值”的变量的值。

2.基本数据类型参数的传值

对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。

例如:不能向int型参数传递一个float值,但可以向double型参数传递一个float值。

3.引用类型参数的传值

Java的引用型数据包括数组、对象、接口。
但参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。

对于两个相同类型的引用型变量,如果具有同样的引用,就会用同样的实体,因此,如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化;但是,改变参数中存放的“引用”不会影响向其传值的变量中存放的引用,反之亦然。

一个类如果具有相同的引用,二者就具有完全相同的变量

4.可变参数

可变参数是指在声明方法时,不给出参数列表中从某项开始直至最后一项参数的名字和个数,但这些参数的类型必须完全相同。

可变参数使用“…”表示若干个参数,这些参数的类型必须相同。例如:public void g(double a,int …x),那么,方法g的参数列表中,第1个参数是double型,第二个至最后一个参数是int型,但连续出现的int型参数的个数可变。称x是方法g的参数列表中的可变参数的“参数代表”。

“参数代表”必须是参数列表中的最后一个。特别注意的是,下列方法定义中
public void method(int …x,int y)错误的使用了可变参数x,因为可变参数x代表的最后一个参数不是method方法的最后一个参数。

对于可变参数,Java也提供了增强的for语句,允许按如下方式使用for语句遍历参数代表所代表的参数。

public int getSum(int... x){  // x是可变参数的参数代表
    int sum=o;
    for(int i=0;i<x.length;i++){
        sum=sum+x[i];
    }
    return sum;
}

// 上面的for循环语句可以改为
for(int param:x){
    su=sum+param;
    
}


若有帮助的话,请点个赞吧!😊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值