认识Java 参数传值

在方法中最重要的部分之一就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配空间,并要求调用者向参数传递值,即方法被调用时,参数变量必须有具体的值。

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

对于基本数据类型的参数,向该参数传递的值的级别不能高于该参数的级别。如:不可以向int型的参数传递一个float值,但是可以向double型参数传递一个float值。
在这里插入图片描述

引用类型参数传值

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

在这里插入图片描述

需要注意的是:对于两个相同类型的引用型变量,如果具有同样的引用,就会用同样的实体,因此,如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化(在方法体中修改参数变量指向的数据内容,则会对原变量的数值产生影响);但是,改变参数中存放的“引用”不会影响向其传值的变量中存放的“引用”(在方法体中修改参数变量的指向,此时不会对原变量的数值产生影响,因此两者分别指向不同的堆区),反之亦然。

可变参数

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

可变参数使用 “…”表示若干个参数,这些参数的类型必须相同。

public void f(int ...x)   //第一个到最后一个都是int型

public void g(double y , int ...x)  //第一个参数是double型,第2个到最后一个是参数是int型。

public void h(int ...x , int y)   //错误的使用
								  //可变参数x代表的最后一个参数不是h方法的最后一个参数。

//使用
public int getSum(int ...x){
	int sum = 0;
	for(int i=1;i<x.length;i++{
		sum += x[i];
	}
	return sum;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值