【JavaSE】Java基础语法(三十一):可变参数

简介: 1. 可变参数可变参数介绍可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了方法的参数类型已经确定,个数不确定,我们可以使用可变参数

1. 可变参数

  • 可变参数介绍
  • 可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了
  • 方法的参数类型已经确定,个数不确定,我们可以使用可变参数

可变参数定义格式

修饰符 返回值类型 方法名(数据类型… 变量名) { }
  • 可变参数的注意事项
  • 这里的变量其实是一个数组
  • 如果一个方法有多个参数,包含可变参数,可变参数要放在最后

可变参数的基本使用

public class ArgsDemo01 {
  public static void main(String[] args) {
    System.out.println(sum(10, 20));
    System.out.println(sum(10, 20, 30));
    System.out.println(sum(10, 20, 30, 40));
    System.out.println(sum(10,20,30,40,50,60,70,80,90,100));
  }
  // public static int sum(int b,int... a) {
  // return 0;
  // }
  public static int sum(int... a) {
    int sum = 0;
    for(int i : a) {
      sum += i;
    }
    return sum;
  }
}

2. 创建不可变集合

  • 方法介绍

在List、Set、Map接口中,都存在of方法,可以创建一个不可变的集合

这个集合不能添加,不能删除,不能修改

但是可以结合集合的带参构造,实现集合的批量添加

在Map接口中,还有一个ofEntries方法可以提高代码的阅读性

首先会把键值对封装成一个Entry对象,再把这个Entry对象添加到集合当中

  • 示例代码
public class MyVariableParameter4 {
  public static void main(String[] args) {
    // static <E> List<E> of(E…elements) 创建一个具有指定元素的List集合对
    //static <E> Set<E> of(E…elements) 创建一个具有指定元素的Set集合对象
    //static <K , V> Map<K,V> of(E…elements) 创建一个具有指定元素的Map集
    合对象
    //method1();
    //method2();
    //method3();
    //method4();
  }
  private static void method4() {
    Map<String, String> map = Map.ofEntries(
    Map.entry("zhangsan", "江苏"),
    Map.entry("lisi", "北京"));
    System.out.println(map);
  }
  private static void method3() {
    Map<String, String> map = Map.of("zhangsan", "江苏", "lisi", "北京",
    "wangwu", "天津");
    System.out.println(map);
  }
  private static void method2() {
    //传递的参数当中,不能存在重复的元素。
    Set<String> set = Set.of("a", "b", "c", "d","a");
    System.out.println(set);
  }
  private static void method1() {
    List<String> list = List.of("a", "b", "c", "d");
    System.out.println(list);
    //list.add("Q");
    //list.remove("a");
    //list.set(0,"A");
    //System.out.println(list);
    // ArrayList<String> list2 = new ArrayList<>();
    // list2.add("aaa");
    // list2.add("aaa");
    // list2.add("aaa");
    // list2.add("aaa");
    //集合的批量添加。
    //首先是通过调用List.of方法来创建一个不可变的集合,of方法的形参就是一个可变参
    数。
    //再创建一个ArrayList集合,并把这个不可变的集合中所有的数据,都添加到ArrayList
    中。
    ArrayList<String> list3 = new ArrayList<>(List.of("a", "b", "c",
    "d"));
    System.out.println(list3);
  }
}

相关文章
|
1月前
|
Java Apache Maven
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
56 6
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
|
14天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
29 1
|
15天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
26 2
|
14天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
13 1
|
14天前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
14 1
|
15天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
19 2
|
20天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
41 3
|
15天前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
25 0
|
2月前
|
Java 数据安全/隐私保护
java之基本语法
java之基本语法
24 6
|
2月前
|
存储 Java 容器
Java 基础语法
Java是一种面向对象的编程语言,其基础语法包括类和对象、方法、变量、控制流语句、继承和多态以及异常处理。代码需写在类中,`main()`方法是程序入口,变量用于存储数据,控制流语句控制程序执行流程,继承和多态增强代码灵活性,异常处理保证程序稳定性。掌握这些知识可帮助您编写简单的Java程序。