可变参数基础 (运算赋值表达式)

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){

    }*/

}

おすすめ

転載: blog.csdn.net/nanyangnongye/article/details/120468915
おすすめ