可变参数

package com.qianfeng.test;

public class Demo5 {
	/*
	 * 可变参数:参数的个数是不固定的
	 * 
	 * 作用:简化代码,方便操作
	 */
	public static void main(String[] args) {
		int he1 = sum(2, 4, 1);
		System.out.println(he1);
		// 使用数组---址传递
		int[] arr = { 3, 4, 5, 3, 1 };
		int he2 = sum(arr);
		System.out.println(he2);
		// 可变参数实现求和
		int[] arr1 = { 3, 4, 5, 3, 1 };
		int he3 = sum1(arr1);
		System.out.println(he3);
		// 注意点:
		// 1.给可变参数传值的实参可以直接是多个值
		int he4 = sum(3, 4, 5);
		// 2.当包括可变参数在内有多个参数的时候,可变参数必须放在最后
		int he5 = sum2(3, 4, 5, 6);
		System.out.println("he5=" + he5);// he5=3
		// 3.当可变参数的方法与固定参数的方法是重载关系的调用顺序--固定参数的优先级高于可变参数的优先级
		sum5(2, 4);
	}

	// 求三个数的和
	public static int sum(int a, int b, int c) {
		return a + b + c;
	}

	// 使用数组---址传递
	public static int sum(int[] a) {
		int he = 0;
		for (int i : a) {
			he += 1;
		}
		return he;
	}

	// 可变参数实现求和
	// 构成:数据类型+...,可变参数可以直接看做数组 例如:int... 相当于 int[]
	public static int sum1(int... a) {
		int he = 0;
		for (int i : a) {
			he += 1;
		}
		return he;
	}

	//
	public static int sum2(float b, int... a) {
		System.out.println(b);// 3.0
		int he = 0;
		for (int i : a) {
			he += 1;
		}
		return he;
	}

	// 说明:当可变参数的方法与固定参数的方法是重载关系的调用顺序--固定参数的优先级高于可变参数的优先级
	public static int sum5(int a, int b) {
		System.out.println("固定参数");
		return a + b;
	}

	public static int sum5(int... a) {
		System.out.println("可变参数");
		int he = 0;
		for (int i : a) {
			he += 1;
		}
		return he;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值