java学习之路 之 面向对象编程-可变个参数-练习题

本文介绍Java中可变参数的使用方法及其与方法重载的关系,通过具体实例展示了如何定义和调用可变参数的方法,并解释了可变参数在方法重载中的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class VarArgsTest {
	
	/*
	public static int avg(int a, int  b) {
		return (a + b) / 2;
	}
	
	public static int avg(int a, int  b, int c) {
		return (a + b + c) / 3;
	}
	
	public static int avg(int a, int  b, int c, int d) {
		return (a + b + c + d) / 4;
	}*/
	
	/*
	public static int avg(int[] nums) { // 不灵活
		return 0;
	}*/
	
	public static int avg(int... nums) { // 可变参数 0~n个参数, 可变参数只能放在参数列表的最后
		int sum = 0;
		for (int i = 0; i < nums.length; i++) {
			sum += nums[i];
		}
		return sum / nums.length;
	}
	
	public static  void test1(String book){
		System.out.println("****与可变形参方法构成重载的test1方法****");
	}	
	public static void test1(String ... books){
		System.out.println("****形参长度可变的test1方法****");
	}


	public static void main(String... args) {
		System.out.println(avg(10, 15));
		//System.out.println(avg(new int[]{10, 15})); 编译器会自动翻译成这样
		System.out.println(avg(10, 15, 30));
		//System.out.println(avg(new int[]{10, 15, 30}));
		System.out.println(avg(10, 15, 30, 50));
		int[] arr = {3, 8, 9, 10};
		System.out.println(avg(arr));
		
		System.out.println(avg());
		//System.out.println(avg(new int[]{}));
		
		test1("abc"); // 优先匹配一个参数的精确匹配
		
		String[][] arrarr = {{"aaa", "bbb", "ccc"},
							 {"111", "222"},
							 {"你", "他", "我"}};
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值