数组的相关知识

参考资料 java数组|菜鸟教程
参考视频 狂神说Java

数组的定义

  1. 数组是相同类型数据的有序集合
  2. 数组描述的是相同类型的若干数据,按照一定次序排列组合
  3. 可通过下标来访问数组元素

数组的声明创建

  • 首先应该声明数组变量才能在程序中使用数组
dataType[] arrayRefVar; 
int[]  nums;	

			
dataType arrayRefVar[];  // 效果相同,但不是首选方法
int nums2[];   			    
  • 创建数组,不同于声明数组,声明数组不分配任何内存空间
nums = new int[10];   //
  • 数组变量的声明,和创建数组可以用一条语句完成,如下所示:
dataType[] arrayRefVar = new dataType[arraySize];
int[] nums = new int[10];
  • 给数组元素赋值
nums[0]=1;
nums[1]=2;
nums[2]=3;
nums[3]=4;
nums[4]=5;
nums[5]=6;
nums[6]=7;
nums[7]=8;
nums[8]=9;
nums[9]=10;
 //如果不赋值的话会有一个默认值   0
for(int i :nums){
	System.out.println(nums[i]);
}
  • 获取数组长度 nums.length

初始化

  1. 静态初始化
  2. 动态初始化
//静态初始化,不可改变    创建+赋值
int[] a = {1,2,3,4,5,6,7,8,9};    	

//动态初始化:包含默认初始化
int[] b = new int [10];
b[0] = 10;

数组的基本特点

  1. 长度确定
  2. 元素必须相同类型,不允许混合类型
  3. 数组的元素可以是任何数据类型,包括基本类型和引用类型
  4. 数组变量属于引用类型,数组可以看成对象,数组中的每个对象相当于该对象的成员变量
  5. 数组边界
  6. 数组默认值 数值型基本数据类型的默认值为0,char 默认值为’\u0000’ , boolean 的为false

数组的使用

复制数组

  1. 使用循环语句逐个的复制数组中的元素
  2. 使用System类中的静态方法 arraycopy
System.arraycopy(sourceArray,srcPos,targetArray,tarPos,length)//将sourceArray中的元素全部复制到targetArray中 
																//srcPos表明sourceArray 的起始位置

list 2 =list 1; 不能将list1数组中的值复制到了list2,而是将list的引用值赋值给了list2。下面就说的很清楚了
请添加图片描述

数组作为函数的参数(作为引用变量)

//打印
public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}

数组作为函数的返回值

//反转数组
public static int[] reverse(int[] list) {
  int[] result = new int[list.length];
  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

多维数组

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数

  1. 定义
int[][] a = {{12}{34}{45}};  
/*
1,2         a[0] 保存 1,2
3,4			a[1] 保存 3,4
5,6			a[2] 保存 5,6
*/       


请添加图片描述
其实意思就是,事先不知道不规则数组的值。看第一行,表明有两个一维数组,第二三行表示第一个一维数组长度为2,第二个为3,就是这样,使用这样的语法时,必须指定第一个的下标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值