package day13;
public class lianxi2
{
public static void main(String[] args)
{
System.out.println(sum(22,3));
// int[] arr1 = new int[0];
// System.out.println("0个元素的累加和:" + sum(arr1));
//
// int[] arr2 = {1,2,3,4,5};//可变参数部分,传入了对应类型的数组对象
// System.out.println("5个元素的累加和:" + sum(arr2));//可变参数部分,传入了对应类型的数组对象
System.out.println("0个元素的累加和: " + sum());//可变参数部分,传入了0个实参的int值
System.out.println("5个元素的累加和: " + sum(2,1,5,6,7));//可变参数部分,传入了5个实参的int值
System.out.println("3个元素的累加和: " + sum(37,5,1));//可变参数部分,传入了3个实参的int值
System.out.println("-----------------------------------");
//System.out.println("0个元素的最大值: " + max());//错误,因为max方法有一个非可变参数形参,必须传值
System.out.println("5个元素的最大值: " + max(2,3,4,4,7));//2赋值给了非可变参数的形参,剩下的给了可变参数
}
//声明一个方法,功能:可以求两个整数的和
public static int sum(int a,int b)
{
return a+b;
}
//声明一个方法,功能:可以求0~n个整数的累加和
//该方法不能与下面的(int... nums)同时存在
// public static int sum(int[] nums)
// {
// int sum = 0;
// for(int i=0; i<nums.length; i++)
// sum += nums[i];
// return sum;
// }
public static int sum(int... nums)
{
//nums当数组用
//此写法为上个写法的升级版,两个方法不能同时存在
int sum = 0;
for(int i=0; i<nums.length; i++)
sum += nums[i];
return sum;
}
//声明一个方法,功能:可以求1~n个整数的最大值
//int num1就是非可变参数的部分
//int... nums是可变参数
public static int max(int num1,int... nums)
{
int max = num1;
for(int i=0;i <nums.length; i++)
if(nums[i] > max)
max = nums[i];
return max;
}
}
/*
运行结果:
25
0个元素的累加和: 0
5个元素的累加和: 21
3个元素的累加和: 43
-----------------------------------
5个元素的最大值: 7
进程已结束,退出代码0
*/
42.可变参数
最新推荐文章于 2023-01-28 21:41:50 发布