当前位置: 首页 > news >正文

数据类型中的可变参数理解

package Day15;/*
 *@author wanghongyuan
 *@Create 2020/12/24 7:57
 */
/*
    可变参数:jdk1.5之后出现的新特性
    使用前提:
        当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数。
    格式:定义方法时使用
    修饰符 返回值类型 方法名(数据类型...变量名){}
    等价于
    修饰符 返回值类型 方法名(可变参数[] 形参名){}
    可变参数的原理:
        可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数
        传递的参数个数可以是0个(不传递)1,2,3...多个
 */
public class ChangeArgs {
    public static void main(String[] args) {
        int i = add(1,2342);
        System.out.println(i);
        method01("abc",3,3.2,32,23,23,23,23);
    }
    /*
        可变参数的注意事项
            1.一个方法的参数列表,只能有一个可变参数
            2.如果方法的参数有多个,那么可变参数必须写在参数列表的末尾
     */
//        public static  void method(int...,String...){}
//        public static  void method(String a,int b,double c ,int... d,int r){}
//        public static  void method(String a,int b,double c ,int... d){}
/*
    可变参数的特殊终极写法

 */
    public static void method01(Object...obj){

    }

    /*
        定义计算(0-n)整数和的方法
        已知:计算整数的和,数据类型已经确定int
        但是参数的个数我们不知道要计算几个整数的和,就可以使用可变参数
     */
    public static int add(int... arr){
//        System.out.println(arr);//[I@10f87f48底层是一个数组
//        System.out.println(arr.length);//长度为0的数组
//        定义一个初始化的变量,记录累加求和
        int sum =0 ;
//        遍历数组获取数组中的元素
        for (int i : arr) {
            //累加
            sum += i;
        }
        return sum;

    }
//    // 定义一个方法,计算三个int类型整数的和
//    private static int add(int a ,int b,int c) {
//        return a+b+c;
//    }
//    // 定义一个方法,计算两个int类型整数的和
//    private static int add(int a ,int b) {
//        return a+b;
//    }

}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • intelliJ idea酷炫代码特效插件
  • Collections中的三个常用方法,addAll,sort,shuffle
  • Map遍历键值对案例练习
  • Hashtable
  • Map练习,统计输入字符串的个数
  • 斗地主综合案例有序版
  • Throwable中Exception/Error异常的分类及处理
  • 异常处理的过程
  • 异常的几个注意事项
  • 如何自定义异常类
  • 2020年年终总结
  • Thread类的使用方法
  • 异常的总结
  • Thread类的获取线程名称和设置线程名称
  • Runnable类
  • 5、React组件事件详解
  • Asm.js的简单介绍
  • EOS是什么
  • hadoop集群管理系统搭建规划说明
  • Hexo+码云+git快速搭建免费的静态Blog
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java教程_软件开发基础
  • MySQL几个简单SQL的优化
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP 的 SAPI 是个什么东西
  • php的插入排序,通过双层for循环
  • Sass Day-01
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • underscore源码剖析之整体架构
  • 分布式任务队列Celery
  • 构建二叉树进行数值数组的去重及优化
  • 回顾 Swift 多平台移植进度 #2
  • 浏览器缓存机制分析
  • 深度学习入门:10门免费线上课程推荐
  • 深入 Nginx 之配置篇
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 微信开放平台全网发布【失败】的几点排查方法
  • Android开发者必备:推荐一款助力开发的开源APP
  • C# - 为值类型重定义相等性
  • Hibernate主键生成策略及选择
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​比特币大跌的 2 个原因
  • # 计算机视觉入门
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • ###C语言程序设计-----C语言学习(6)#
  • #pragam once 和 #ifndef 预编译头
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)测试工具
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (四)React组件、useState、组件样式
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表