JavaSE学习笔记——数组

数组

一维数组

1. 一维数组声明

  • 一维数组的声明方式:
    type var[ ];type[ ] var;

2. 一维数组初始化

  • 动态初始化: 数组声明(为数组元素分配内存空间)与赋值操作分开进行。
    int[ ] arr = new int[3];
    arr[0] = 3;
    arr[1] = 9;
    arr[2] = 8;

  • 静态初始化: 在定义数组(分配内存空间)的同时就为数组元素赋值。
    int a[ ] = new int[ ] {3, 9, 8};
    int[ ] a = {3, 9, 8};

3. 数组元素的引用

  • 定义并用new分配空间后,才可以引用数组中的每个元素;
  • 数组元素的引用方式:
    (1) 使用整型常量或整型表达式;
    (2) 数组元素下标从 0 开始,长度为 n 的数组下标的取值范围为[0, n-1],例如 int[] a = new int[3],则可引用的数组元素为a[0]、a[1]、a[2]。
  • 每个数组都有一个属性 length 指明它的长度, 例如:a.length 指明数组 a 的长度(数组 a 中元素个数)。
  • 数组一旦初始化,其长度是不可变的。

4. 注意

  • 使用动态初始化时,数组元素有默认值,数值类型的默认值是 0,对象类型的默认值是 null。

多维数组

二维数组[ ][ ]: 数组中的数组
格式1(动态初始化):int[ ][ ] arr = new int[3][2];
定义了名称为 arr 的二维数组,二维数组 arr 中有3个一维数组,每一个一维数组中有2个元素,一维数组的名称分别为 arr[0],arr[1],arr[2],给第一个一维数组中脚标为1的元素赋值为78的写法是 arr[0][1] = 78;
格式2(动态初始化):int[ ][ ] arr = new int[3][ ];
二维数组 arr 中有3个一维数组,每一个一维数组中有多少个元素不确定,每一个一维数组都是默认初始化值 null,可以对这3个一维数组分别初始化 arr[0] = new int[3];arr[1] = new int[1]; arr[2] = new int[2];
注意:int[ ][ ] arr = new int[ ][3]; //非法
格式3(静态初始化):int[ ][ ] arr = new int[ ][ ]{{3, 8, 2},{2, 7},{9, 0, 1, 6}};
定义了名称为 arr 的二维数组,二维数组 arr 中有3个一维数组,每一个一维数组中具体元素都已初始化,第一个一维数组 arr[0] = {3, 8, 2},第二个一维数组 arr[1] = {2, 7},第三个一维数组 arr[2] = {9, 0, 1, 6},第三个一维数组的长度表示方法为 arr[2].length;
注意:int[ ] x, y[ ] arr; x是一维数组,y是二维数组;Java中多维数组不必都是规则形式,例如格式3中的数组。
		//一维数组中每一个元素都是一个数组,这样的数组就是二维数组
		int arr[][] = new int[][] {
			{1, 2},
			{4, 2}
		};
		int arr1[][] = new int[2][3];//第一维部分的长度为2,第二维也就是第一维中每个元素的长度为3

例题

在这里插入图片描述

public class TestArray {
	public static void main(String[] args) {
		
		int k = 0;
		int[] array1 = new int[] {2, 3, 5, 7, 11, 13, 17, 19};
		int[] array2 = new int[array1.length];
		
		//打印array1的内容
		for(int i = 0; i < array1.length; i++) {
			System.out.print(array1[i] + " ");
		}
		System.out.println();
		
		//将array1的值赋给array2,并打印array2
		for(int i = 0; i < array1.length; i++) {
			array2[k] = array1[i];
			k++;
		}
		for(int i = 0; i < array1.length; i++) {
			System.out.print(array2[i] + " ");
		}
		System.out.println();
		
		//修改array2的偶索引元素,使其等于索引值,并打印修改后的array2
		for(int i = 0; i < array2.length; i++) {
			if(i % 2 == 0) {
				array2[i] = i;
			}
		}
		for(int i = 0; i < array1.length; i++) {
			System.out.print(array2[i] + " ");
		}
		System.out.println();
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值