Java基础(六):数组

一、数组

数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。

(一)、初始化

  1. 动态初始化
    (1)数据类型[] 数组名 = new 数据类型[数组大小];
    (2)
    第一步(声明):数据类型[] 数组名 / 数据类型 数组名[];
    第二步(分配空间):数组名 = new 数据类型[数组大小];
//创建长度为5的数组
//方法一:
int[] nums1 = new int[5];
//方法二:
int nums2[];
nums2 = new int[5];
  1. 静态初始化
    数据类型[] 数组名 = new 数据类型[]{元素值, 元素值…};
int[] nums3 = new int[]{1, 2, 3};

(二)、数组赋值与拷贝

  1. 数组赋值:数组在默认下是引用传递,赋的是地址。
  2. 拷贝:数组传的是值,地址不同。
//1.数组赋值
//arr2的变化会引起arr1的变化
int[] arr1 = {1, 2, 3};
int[] arr2 = arr1;//arr2与arr1的地址相同
arr2[0] = 10;
System.out.println(arr1[0]);//arr1变成了{10, 2, 3}
//2.数组拷贝
//arr4的变化不会引起arr3的变化
int[] arr3 = {1, 2, 3};
int[] arr4 = new int[arr3.length];//arr4开辟新的地址
for(int i = 0; i < arr3.length; i++){
	arr4[i] = arr3[i];//完成拷贝
}

(三)、常用方法

  1. length:数组长度
char[] chars = new char[26];
for( int i = 0; i < chars.length; i++){
	chars[i] = (char)('A' + i);//'A' + i 是int,需要强转
}

说明
定义一个长度为n的数组,数组元素为a[0], a[1] …a[n-1],注意数组元素a[n]越界不存在。

二、二维数组

(一)、初始化

  1. 动态初始化
    (1)数据类型[][] 数组名 = new 数据类型[大小][大小];
    (2)
    第一步:数据类型[][] 数组名;
    第二步:数组名 = new 数据类型[大小][大小];
    (3)列数不确定
    数据类型[][] 数组名 = new 数据类型[大小][];
    数组名[行下标] = new 数据类型[列大小];
//方法一:  表示3行4列的二维数组
int[][] nums1 = new int[3][4];
//方法二:  表示3行4列的二维数组
int[][] nums2;
nums2 = new int[3][4];
//方法三:
int[][] nums3 = new int[3][];
nums3[0] = new int[3];
nums3[1] = new int[2];
nums3[2] = new int[3];
/* 数组形式
0 0 0
0 0 
0 0 0
*/
  1. 静态初始化
    数据类型[][] 数组名 = {{值1,值2…},{值1,值2…},{值1,值2…}};
int[][] nums = {{1,2,3},{4,5},{6,7}};
/*
1 2 3
4 5
6 7
*/

(二)、遍历

//遍历
for(int i = 0; i < nums.length; i++){
	for(int j = 0; j < nums[i].length; j++){
		System.out.print(nums[i][j] + " ");
	}
	System.out.println();
}

说明
二维数组的声明方式有3种:(1)int[][] nums;(2)int[] nums[];(3)int nums[][];

特别说明
本文章是个人整理的学习笔记,参考b站韩顺平老师的课程(【零基础 快速学Java】韩顺平 零基础30天学会Java)。老师讲的非常好,有兴趣的可以去看一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值