首页 > 其他分享 >可变参数

可变参数

时间:2024-03-07 22:35:02浏览次数:11  
标签:return int sum static 可变 println 参数 public

可变参数

可变参数:指的是方法将来调用时,可以传入若干个指定类型的参数

注意:

1、一个方法定义中只能有一个可变参数

2、可变参数必须在参数列表中的最后一个定义

这是有限的值的情况

package com.shujia.day13;

public class KeBianCanShuDemo1 {
    public static void main(String[] args) {
        //需求1:定义一个方法,求两个int类型的和
        System.out.println(sum(1,2));
        //需求2:定义一个方法,求两个int类型的和
        System.out.println(sum(1,2,3));

    }
    public static int sum(int a,int b){
        return a+b;
    }
    public static int sum(int a,int b,int c){
        return a+b+c;
    }

}

当有很多个的时候就不能用上面的方法了,得使用可变参数和循环进行求和

package com.shujia.day13;

public class KeBianCanShuDemo1 {
    public static void main(String[] args) {
        //需求1:定义一个方法,求两个int类型的和
        System.out.println(sum(1,2));
        //需求2:定义一个方法,求两个int类型的和
        System.out.println(sum(1,2,3));
        //求多个int的和
        System.out.println(sum(1,2,3,4,1,2,123,1,21,1));
    }
    public static int sum(int a,int b){
        return a+b;
    }
    public static int sum(int a,int b,int c){
        return a+b+c;
    }
    //将来传入若干个int类型的值,JVM将其封装到一个数组中,这个数组名字叫arr
    public static int sum(int...arr){
        int sumNum=0;
        for (int i:arr){
            sumNum+=i;
        }//这时候得用增强for循环遍历数组进行求和
        return sumNum;
    }
}

下方图片中的红框的 ... 可以接收任意数量int类型的值

image-20240307214210826

但是当输入的不再完全是int类型的时候,情况就不一样了

package com.shujia.day13;
import java.util.Arrays;
import java.util.List;

public class KeBianCanShuDemo1 {
    public static void main(String[] args) {
        //需求1:定义一个方法,求两个int类型的和
        System.out.println(sum(1,2));
        //需求2:定义一个方法,求两个int类型的和
        System.out.println(sum(1,2,3));
        //需求3:定义一个方法,求多个int的和
        System.out.println(sum(1,2,3,4,1,2,123,1,21,1));
        //需求4:有一个学生,姓名是字符串类型叫做"小花",考了三门试:98,99,60
        //求该学生的总成绩,姓名:xxx, 总分:xxx
        System.out.println(sumScore("小花", 98, 99, 60));

        
        
        //Arrays工具类中的一个方法
        //public static <T> List<T> asList(T... a)
        List<String> list = Arrays.asList("java", "hadoop", "hive"); // 底层实际上是创建一个ArrayList集合


    }
    public static int sum(int a,int b){
        return a+b;
    }
    public static int sum(int a,int b,int c){
        return a+b+c;
    }
    //将来传入若干个int类型的值,JVM将其封装到一个数组中,这个数组名字叫arr
    public static int sum(int...arr){
        int sumNum=0;
        for (int i:arr){
            sumNum+=i;
        }//这时候得用增强for循环遍历数组进行求和
        return sumNum;
    }

    public static String sumScore(String name,int...score){
        int sumScore=0;
        for (int i:score){
            sumScore+=i;
        }//这时候得用增强for循环遍历数组进行求和
        return "姓名:"+name+", 总分:"+sumScore;
    }
}

注意!!

这里的可变参数一定放在最后,若是以后遇到有多种值的,可变参数一定是放在最后面的

标签:return,int,sum,static,可变,println,参数,public
From: https://www.cnblogs.com/peculiar/p/18059938

相关文章

  • python函数参数检查
    参数检查调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError:>>>my_abs(1,2)Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:my_abs()takes1positionalargumentbut2weregiven但是如果参数类型不对,Python......
  • spring-HandlerMethodArgumentResolver-参数解析器
    1,参数解析器介绍  HandlerMehtodArgumentResolver,中文成为方法参数解析器,是SpringMvc组件的众多解析器之一,主要用来对Controller的方法参数进行处理。2,参数解析器的使用1,实现HandlerMethodArgumentResolver,自定义解析器publicclassMyHandlerMethodArgumentResolver......
  • Spring-@Validated-参数校验
    1.什么是javax.validationJSR303是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面(面向注解编程的时代),就可以在需要校验的时候进行校验了,在SpringBoot中已经包含在starter-web中,再其他项目中可以引用依赖,并自行......
  • 记录一个使用mysql查询表单,多个参数.
    publicDataTableQueryData(SearchViewModelmodel){DataTabledt=newDataTable();/把'删除掉,在编写文档时,不加个',MySqlParameter显示不出来/List<'MySqlParameter>param=newList<'MySqlParameter>();model.inputMonths=model.inputMonth......
  • 无参数RCE
    无参rce,就是说在无法传入参数的情况下,仅仅依靠传入没有参数的函数套娃就可以达到命令执行的效果1.获取根目录下文件print_r(scandir(chr(ord(strrev(crypt(serialize(array()))))))); //查看if(chdir(chr(ord(strrev(crypt(serialize(array())))))))show_source(array_rand(ar......
  • nginx rewrite参数详解
    Nginx的rewrite指令用于重写URL,它有几个参数,这些参数定义了如何匹配和重写请求的URL。以下是rewrite指令的常见参数及其说明:Regex:这是一个正则表达式,用于匹配请求的URI。Nginx将使用这个正则表达式来查找与请求URI相匹配的模式。Replacement:这是重写后的URI,可以包含正则表达式......
  • ChromeOptions 参数介绍
    在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。1.chromeOptions......
  • js 时间数组如何url传参 和接收参数
    在JavaScript中,如果你想通过URL传递一个时间数组,你需要先将数组转换成字符串格式,因为URL参数只能传输字符串。有多种方式可以实现这个转换,例如使用JSON.stringify()将数组转换成JSON字符串。下面是一个示例,展示了如何将时间数组转换成URL参数,并在另一个页面接收这些参数:发送时间......
  • 实战3-cookie参数acw_sc_v2
    目标网站aHR0cHM6Ly93d3cubHlkaC5jb20vaml0dWFuLw==1.分析网站在网站中看到两个请求,我们想要的数据在第二个请求中分析第二个请求,发现在第二个请求中需要携带两个cookie值分别是acw_tc和acw_sc__v2往上看第一个请求,在第一个请求中发现,服务器会返回cookie值中的acw_tc2.......
  • 记录一次WPF命令参数报错,InvalidCastException: T for DelegateCommand<T> is not an
    在使用WPF的时候对int或者bool类型进行绑定出现InvalidCastException:TforDelegateCommandisnotanobjectnorNullable.<ButtonWidth="200"Height="30"Content="按钮"Command="{BindingOpenCommand}"CommandParameter="{Binding......