java基础[可变参数]

280 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

package com.hzy.javase.array;

public class VarargsTest {
 
	//可变参数,参数个数可变,个数任意且可以接收数组对象
	//可以为空,可以为null
	//可变参数只允许有一个
	public static int avg(int... values) {
		int sum = 0;
		for(int i = 0; i < values.length; i++) {
			sum += values[i];
		}
		return sum / values.length;
	}
	
	public static int max(int... values) {
		int max = 0x80000000;   //整数最小值,防止不传元素出现越界
		for(int i = 1; i < values.length; i++) {
			if(max < values[i]) {
				max = values[i];
			}
		}
		return max;
	}
	
	public static void main(String[] args) {
		
		System.out.println(avg(1,3));  //编译器执行avg(new int[]{1,3})
		System.out.println(avg(1,3,5));
		System.out.println(avg(1,3,5,7));
		int[] arr = {1,3,5,7};
		System.out.println(avg(arr));  //编译器不作处理
	
		System.out.println(max(1,3,5,7));
	}
}