Java可变参数与数组

手机软件开发 2024-9-20 12:01:18 39 0 来自 中国
1. 可变参数


  • 可吸收多个同类型实参,本质是一个数组
  • 语法:数据类型... 形参名
  • 必须界说在参数列表的末了,且一个方法只能有一个可变参数
Class<?>... parameterTypesClass<?>[] types可变参数和数组作为方法参数时的区别:

  • 可变参数只能有一个,数组可以有多个
  • 可变参数只能界说在参数列表的末端,数组可以在任何位置
  • 可变参数可以传数组、null、0个参数、一到多个参数;数组可以传数组引用、数组对象、null
2. 数组


  • 特点:一段一连的内存空间,雷同数据类型,可根据索引查询
  • 数组创建
  • 数组扩容
  • 数组复制
2.1 数组内存分析

数组属于引用类型,存储在堆中,栈中存储的是堆中数组的引用(所在)
2.2 数组创建

方式一:先声明,再分配空间
int[] values;values = new int[10];方式二:声明并分配空间
int[] values = new int[10];values[0] = 1;方式三:声明并赋值(简 / 繁)
int[] values = {1, 2};int[] values = new int[] {1, 2};2.3 数组的复制

int[] values = {11, 22, 3, 4, 5};// more是升序Arrays.sort(values);System.out.println(Arrays.toString(values));System.arraycopy(array, 0, array2, 2, 2);2.5 数组倒置

/** * 数组倒置: *  第一个数与倒数第一个数互换 *  第二个数与倒数第二个数互换 *  以此类推 * *  互换的次数看数量是奇数照旧偶数 */public void inverse() {    int[] nums = {1, 2, 3, 4, 5};    for (int i = 0; i < nums.length / 2; i++) {        int temp = nums;        nums = nums[nums.length - 1 - i];        nums[nums.length - 1 -i] = temp;    }    System.out.println(Arrays.toString(nums));}2.6 main()


  • 自 JDK1.5 引入动态参数后,String[] 数组也可以使用String... args来实现
3. 二维数组

概念:一维数组中的一维数组;数组中的元素照旧数组
查找元素必要两个下标, X[n][m] 第 n 行 第 m 列
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-25 09:07, Processed in 0.450891 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表