关于java的可变参数

【Java】Java反射调用可变参数的方法 1.概述 因为要Java反射调用可变参数的方法,所以参考了这篇文章:https://www.cnblogs.com/huqingchen/p/5979936.html 但是测试过程中,有一点我不明白,就是反射调用可变参数的方法时,为什么一定要保证传入的参数数组长度为1, 然后如下 package com.java.reflect.demo; public class BaseObject { public void getObjectName() { System.out.p. 阅读详情

关于java的可变参数

在前面的文章中,我们了解了方法的定义,方法的引用,方法的重载等知识,这篇文章中主要学习一下方法中的可变参数😀

我们在学习可变参数之前,先来回顾一下方法,就拿加法为例子。

public class Demo
{
    public static void main(String[] args)
    {
        int sum=add(2,3);
        System.out.println()
    }
    
    //加法
    public static int add(int num1,int num2)
    {
        return=num1+num2;
    }
}

这里输出的结果是,这个方法是两个参数相加。

5
    
进程结束......

如果我们要三个数相加,就要再重载一个方法,用来匹配三个参数的时候,如果4个参数的时候,就要写4个,就很麻烦。

public class Demo
{
    public static void main(String[] args)
    {
        int sum=add(2,3);
        System.out.println()
    }
    
    //加法
    public static int add(int num1,int num2)
    {
        return=num1+num2;
    }
    //三个数相加
     public static int add(int num1,int num2,int num3)
    {
        return=num1+num2+num3;
    }
    //四个数相加
     public static int add(int num1,int num2,int num3,int num4)
     {
         ....
     }
}

所以,我们可以用可变参数来定义方法😀!

可变参数

  • 可变参数,又叫做不定项参数。

  • 在定义一个方法的时候,在指定参数类型后边加一个省略号… ,即可代表是可变参数,就是可以变化数量。

public class Demo
{
    public static void main(String[] args)
    {
		Demo demo =new Demo();
		demo.add();
    }
    
    //可变参数
    public void add(int...num1)
    {
        System.out.println(num1);
    }
}

1、我们在这里调用不用static静态修饰符了,了解一下创建对象式调用。

创建对象调用方法,就是有点像我们之前学习过的Scanner调用,因为我们刚刚定义的方法包含于这个类的里面,所以我们创建一个这个类的对象,也就是Demo这个类,Demo 对象名 = new Demo(); 这样我们就可以通过对象点 的方式,来调用这个方法。

2、可变参数,必须是在方法中的最后一个参数,任何普通参数必须在它之前声明。

public class Demo
{
    public static void main(String[] args)
    {
		Demo demo =new Demo();
		demo.add();
    }
    
    //可变参数
    public void add(int num0,int...num1)//可变参数在后,普通参数在前
    {
        System.out.println(num1);
    }
}

我们可以执行一下代码,可以看到我们看不懂的东西🤔

[I@75b84c92

这个结果就是把对象输出出来了,我们这时候,要把它的值取出来,可以通过下标取出。

public class Demo
{
    public static void main(String[] args)
    {
		Demo demo =new Demo();
		demo.add(1,2);
    }
    
    //可变参数
    public void add(int...num1)
    {
        System.out.println(num1[0]);
        System.out.println(num1[1]);
    }
}

这样我们再执行一下,输出的结果就是

1
2
    
进程结束......

可变参数的本质就是数组,等我们了解到数组的时候,会结合一起再次向大家说明😀。

练习

我们来定义一个方法,输出最大值🤔

public class Demo
{
	public static void main(String[] args)
    {
     	printMax(1,2,3,4.5,88,99);
        printMax(25,35,48);
        println(new double[]{1,2,3})
    }
    
    //输出最大值方法
    public static void printMax(double...numbers)
    {
        if(num.length==0)
        {
            System.out.println("Dont pass");
            return;
        }
        
        double result=numbers[0];
        for(int i=1;i<numbers.length;i++)
        {
            if(numbers[i]>result)
            {
                result=numbers[i];
            }
        }
        System.out.println("最大值是:"+result)
    }
}

我们先不用理解代码里面数组的含义,主要是给看一下可变参数的用途!我们执行上述的代码,就会得到以下结果。

最大值是:99.0
最大值是:48.0
最大值是:3.0
    
进程结束......
计算机控制液压同步顶升系统,PLC四点多点同步顶升系统,同步液压顶升系统 PLC同步顶升系统系统可分为5个部分:液压泵站、PLC计算机控制系统、液压终端、位移压力检测与人机界面操作系统,位移同步精度1mm,同步控制点数:4,8,12,16,20,40,80,99;产品特点:高速置零、低速顶升,升降速度可以任意控制;液压千斤顶内置式(或外置)位移、压力传感器、均载阀,保证了顶升系统在恶劣工作环境下的高可靠性;均载阀的过载保护功能,避免了多缸顶升时常见的胀缸事故;先进的进油... 阅读详情

相关推荐

离线安装ambari 更换spark版本 集成carbondate文档

1、Linux系统环境配置 1.1 配置IP地址 vim /etc/sysconfig/network-script/ifcfg-eth0 “DEVICE”:网卡对应的设备别名,如ifcfg-eth0第一块网卡; “HWADDR”:网卡物理地址; “BOOTPROTO”:网卡获得ip地址的方式,Static(静态 ip地址)dhcp(通过dhcp协议获取ip)bootip通过boot...

weixin_44742962的博客 3036

java的可变参数

在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数。使用...表示可变长参数,例如在具有可变长参数的方法中可以把参数当成数组使用,例如可以循环输出所有的参数值。{{System.out.println("可变参数:" + string);}}{{System.out.println(test + ",新的可变参数:" + string);}}{{System.out.println(test + ",新的可变参数:" + string);

TimeFriends 1641

基于Simulink的前馈解耦SVPWM整流器仿真

本文提出了一种基于Simulink的前馈解耦SVPWM整流器仿真方案,针对传统双闭环控制存在的耦合严重、电压利用率低等问题进行优化。通过前馈补偿dq轴耦合项(ωLiq和ωLid)结合SVPWM调制算法,实现了电流跟踪误差<3%、电压利用率达0.99、THD<3%的性能指标。文章详细阐述了系统架构设计,包括前馈解耦原理推导、SVPWM算法实现步骤,并提供了完整的Simulink建模方法。仿真结果表明,该方案在动态响应速度(25ms)和直流电压纹波(1.1%)方面显著优于传统SPWM控制。同时给出了

MHD0815的博客 162

java可变参数

java可变参数 前言:函数是指定义在类中的一段可以独立运行的小程序,如方法,构造器等。 1.java可变参数是指在调用方法时传入不定长度的参数,本质上是基于数组实现的。 //参数为可变参数 public static void element(Integer... args){ } //参数为数组 public static void element(Integer[] args){ } 2.在定义方法时,在最后一个形参上加"…"就表示该形参可以接受多个参数值,多个参数值

zh123456_789的博客 6959

SpringAi 通过大模型来实现调用自己的Api

摘要 本文介绍了如何利用Spring AI的Tools机制扩展大模型能力,实现业务系统集成。通过@Tool和@ToolParam注解定义工具方法,将订单查询和关闭功能暴露给大模型调用。关键实现包括:1)使用详细描述标注工具方法和参数;2)在ChatClient中注册工具服务;3)集成对话记忆保持上下文。该方法使AI具备操作业务系统的能力,形成"认知-决策-执行"闭环,大幅提升了模型在实际业务场景中的应用价值。

又要搬砖了 836

基于Python的京东商品价格监控与降价提醒系统设计与实现

本文详细介绍了如何使用Python构建一个完整的京东商品价格监控与降价提醒系统。系统通过爬虫技术实时抓取京东商品价格信息,结合数据存储与分析,实现价格波动监控和智能降价提醒功能。文章涵盖了系统设计、技术选型、代码实现以及部署方案,为电子商务价格监控领域提供了一个实用的解决方案。关键词:Python爬虫、京东API、价格监控、降价提醒、自动化。

2201_76125261的博客 404

java 可变参数

Java 可变参数详解

weixin_43413307的博客 1万+

QEMU源码全解析 —— virtio(3)

QEMU源码全解析 —— virtio(3)

phmatthaus的专栏 1847

Java可变参数

什么是可变参数 在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数。变长参数是Java的一个语法糖,本质上还是基于数组的实现 void foo(String... args); void foo(String[] args); //方法签名 ([Ljava/lang/String;)V // public void foo(String[] args) 定义方法在定义方

戎码人生 2万+

芒果YOLO11改进44:主干Backbone篇之MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

包括YOLOv5、YOLOv7、YOLOv8等模型改进 369

【零基础学习CAPL】——弹窗信息提示

不用手动制作Panel窗口,直接使用CAPL脚本实现弹窗提示。//没有wait超时,等待测试人员确认//有wait超时,对话框在超时后自动终止//有wait超时,可以显示一个资源,即对话框可以显示额外的信息。/*参数说明text:显示在弹窗中的内容,长度限制在4096字符timeout:弹窗自动结束的时间,单位:ms。若为0,则无超时控制heading:对话框文本上方的标题。字符串最大长度限制在256个字符。resource:URL或文件路径。字符串的最大长度是有限的(512个字符)。

LOVE135149的博客 264

Java中可变参数方法

Java中可变参数方法 J2SE 1.5中提供了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。 Varargs的含义 大体说来,“Varargs”是“variable number of arguments”的意思。有时候也被简单的称为“variable arguments”,不过因为这一种叫法没有说明是什么东西可变,所以意义稍...

Mr.Phoebe的专栏 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java 可变参数_Java可变参数

Java可变参数(varargs)是在Java 1.5中引入的。Java可变参数也称为java变量参数。java中的可变参数使方法能够接受可变数量的参数。在方法签名中使用三个点(...)也称为省略号,以使其接受变量参数。例如 -public static int sum(int i, int...js ){//do something}关于java中可变参数的要点 -在方法中只能有一个可变参数。只...

weixin_34966346的博客 336

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java——可变参数

Java的可变参数(Varargs)是一种语法特性,允许一个方法接受不定数量的参数。可变参数的使用通过在参数类型后面添加省略号()实现。这使得方法在调用时可以传入不同数量的参数,而不需要为每种情况分别定义方法。可变参数的具体语法: 3、内部具体原理 在方法内部,可变参数实际上被当作一个数组来处理。如果你定义了一个可变参数类型为,在方法内部它将被视为一个数组。因此,你可以使用数组的方式来遍历和操作这些参数。 4、可变参数的规则和注意事项 1)一个方法只能有一个可变参数: 2)可变参数可以与其他

Stewie Lee的博客 3336

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java+list可变参数_Java 可变参数

众所周知, Java可以通过... 来给一个方法定义一个可变长度的参数.例如// 返回可变参数的个数public void method(int ... i){System.out.println(i.length);}其中注意点一共有两个只能设定一个可变参数, 并且这个参数必须在最后//Vararg parameter must be the last in the listpublic voi...

weixin_30290131的博客 4026

Java中的可变参数

Java在1.5之后允许方法使用可变参数,可变参数的好处在于:它允许传递0个或者多个参数。比如原来有一段代码如下:   public class Test { public static void main(String[] args) { test(); test(new String[]{"a"}); test(new String...

义臻的博客 1万+

Java 可变参数传递

1.JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。    方法的可变参数的声明如下所示:typeName... parameterName    在方法声明中,在指定参数类型后加一个省略号(...) 。    一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。 2.示例:public void show(int... a) {};   ...

程序员学习圈 7478

Java的可变参数列表

先写例子,再解释: private static void printVariableArgs(Object... args) { System.out.print(&amp;amp;amp;amp;amp;amp;amp;quot;argsLength: &amp;amp;amp;amp;amp;amp;amp;quot; + args.length + &amp;amp;amp;amp;amp;amp;amp;quot;; args: &amp;amp;amp;am

markMe1024的博客 854

Java中可变参数

最近在读《clean code》,想规范一下自己的编码。有一些概念重新回顾一下,遂在此作为记录。 一、什么是可变参数 可变参数:本质就是动态 创建的数组。 // 可变参数,形参列表可以接受0个值,也可以接受n个值。 修饰符 返回值类型 方法名(数据类型…变量名){ 方法体...

Evan's Blog ٩(๑❛ᴗ❛๑)۶ 2580

java 可变参数列表_java中可变参数列表的实现方法

我们在对可变参数有一定的认识后,可以引申一下它的使用范围。在数组中也会需要参数的传入,那么结合参数的数量不固定,我们在参数类型上也得到了增加,这就是本篇所要讲的可变参数列表。下面我们就java可变参数列表的概念、使用规则、以及代码示例分别带来介绍。1.可变参数列表概念从java5开始,java支持一种参数写法:Java类型后面三个点(如String…),叫可变参数列表。向其中传入参数时,它支持传入...

weixin_31813357的博客 1667

java可变参数总结

今天总结一下java中可变参数这个知识点。还是来看一个例子,现在我想写个方法来计算两个整形的和并且输出,这个方法很简单:public class KeBian { public static void main(String[] args) { sum(5,9); } public static void sum(int a,int b) { i

伟大的程序员的博客 2211

java学习之可变参数

可变参数,数组

wjkqq0921的博客 1220
上一篇: 关于java命令行传参
下一篇: 关于java的递归
落满樱花的羊
博客等级 码龄5年 1021粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值