package cn.itcast.day12.demo02;
/**
* @author admin
* @version 1.0.0
* @ClassName Demo08.java
* @Description TODO
* @createTime 2021年09月25日 10:30:00
*/
/**
* 可变参数 是JDK1.5之后出现的新特性
* 使用前提:
* 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数
* 使用格式:定义方法时使用
* 修饰符 返回值类型 方法名(数据类型...变量名)
* 可变参数的原理:
* 可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数
* 传递的参数个数。可以试0个(不传递),1,2,..多个
*/
public class Demo08 {
public static void main(String[] args) {
int add = add(10, 20, 10);
System.out.println("add = " + add);
}
/**
* 定义计算(0-n)的整数和方法
* 已知:计算整数的和 数据类型已经确定int
* 但是参数的个数不确定 不知道要计算几个整数的和就可以使用可变参数
* <p>
* add();就会创建一个长度为0的数组 new int [0]
* add(10);就会创建一个长度为1的数组,存储传递过来的参数 new int[] (10);
* add(10,20);就会创建一个长度为2的数组 ,存储传递过来的参数 new int [10,20]
*/
public static int add(int... arr) {
// System.out.println("arr = " + arr);//arr = [I@1b6d3586
// System.out.println(arr.length);//2
// 定义一个初始化的变量 记录累加求和
int sum = 0;
// 遍历数组 获取数组中的每一个元素
for (int i : arr) {
sum += i;//这个运算赋值表达式等同于 sum = sum + i;
/**
* += 加赋值
* -= 减赋值
* *= 乘赋值
* /= 除赋值
* %= 求余赋值
* &= 按位与赋值
* | = 按位或赋值
* ^= 按位异或赋值
* <<= 左移位赋值
* >>= 右移位赋值
*/
}
// 把求和结果返回
return sum;
}
// 需求一直在变 就是数据类型已经确定 但是参数个数不确定
/* private static int add( int a, int b,int c) {
return a+b;
}
private static int add( int a, int b) {
return a+b;
}*/
/**
* 可变参数的注意事项:
* 1.一个方法的参数列表,只能有一个可变参数
* 2.如果方法的参数有多个,那么可变参数必须写在参数列表的末尾
*/
/* public static void method(int... arr, String... lis) {
}*/
/*public void method(String b, double c, int d, int... arr) {
}*/
// 可变参数的特殊(终极)写法
/*public static void method(Object ... obj){
}*/
}
可变参数基础 (运算赋值表达式)
Guess you like
Origin blog.csdn.net/nanyangnongye/article/details/120468915
Recommended
Ranking