007-Java数组

目录

数组的定义

数组的取值和初始化

数组的取值

数组的初始化

二维数组

多维数组


数组的定义

  • 相同的类型数据的集合就叫做数组。定义语法:type[] 变量名/数组名 = new type[length] type为数组类型,length为数组的长度
  • 数组中索引是从0开始的,对数组而言最大的索引为数据的 length - 1。
  • 每个定义的数组都有一个属性length
// 1
int[] a1 = new int[10];
// 2
int a2[] = new int[10];
System.out.println(a1.length);
System.out.println(a2.length);

注:

  1. 上面1和2都是定义一个长度为10的int类型的数组,他们的length属性值都是10. 
  2. 但建议的写法是1.因为int表示int类型,而 int[] 可以直观的看出他是int类型的数组。

数组的取值和初始化

数组的取值

数组通过索引取得对应位置的值:a1[1]表示获取a1数组第1位的值。注意:数组索引是从0开始,所以a1[1]是获取a1数组的第二个值。

int[] a1 = new int[10];
System.out.println(a1[1]);

上面的运行结果我们可以看到a1[1]的值为0,为什么是0呢?而且我们好像没有为a1[1]赋值

数组的初始化

int[] a1 = new int[10];
a1[1] = 15;
System.out.println(a1[0]);// 0
System.out.println(a1[1]);// 15

以上我们是通过数组下标对a1[1]进行了赋值。而a1[0]没有手动赋值,但打印出来其值为0.表示,int类型的数组,如果没有对对应位置进行赋值,那么它默认值为0

总结:

整型类型(byte、short、int、long)的数组默认值为0

浮点型数据(float、double)的数组默认值为0.0

布尔类型的数组默认值为false

chat类型的数组默认值为空字符

byte[] a1 = new byte[10];
System.out.println(a1[1]);// 值为0

short[] a2 = new short[10];
System.out.println(a2[1]);// 值为0

int[] a3 = new int[10];
System.out.println(a3[1]);// 值为0

long[] a4 = new long[10];
System.out.println(a4[1]);// 值为0

float[] a5 = new float[10];
System.out.println(a5[1]);// 值为0.0

double[] a6 = new double[10];
System.out.println(a6[1]);// 值为0.0

char[] a7 = new char[10];
System.out.println(a7[1]);// 值为空字符
boolean[] a8 = new boolean[10];
System.out.println(a8[1]);// 值为0

以上是基本数据类型的数组的初始值,前面我们提到过,java还有一种数据类型,引用类型。引用类型的数据的数组,其默认值为null

String[] a1 = new String[10];
System.out.println(a1[1]);// 值为null

String就是引用数据类型,后续我们会对该类进行详细的讲解

数组本身也是一种引用类型

如果下标与对应的值是有规律的,我们可以使用循环语句来进行赋值,比如初始化一个数组,对应的值为1~100

int[] a1 = new int[100];
for(int i = 0; i < 100; i++){
    a1[i] = i + 1;
}
System.out.println(a1[50]);// 值为51,下标从0开始a1[0] = 1

但是对于不规律的赋值就不好办了,以上的赋值方式就难了。如果不规律,但长度有限的数组初始化,我们可以采用如下的静态初始化方式

// 1
int[] a1 = {1,12,88};
System.out.println(a1[1]);// 值为12
// 2
int[] a2 = new int[]{2,3,99,1,34,55};
System.out.println(a2[2]);// 打印99

此处建议使用1这种赋值方式

注:静态初始化方式我们可以看到没有声明长度,因为长度在你初始化的时候就定了,a1的长度是3.

二维数组

二维数组是一种平面的二维结构,本质上是数组的数组。二维数组的定义方式:type[][] a = new type[2][3];2行3列

int[][] h = new int[2][3];
h[0][0] = 11;
h[0][1] = 12;
h[0][2] = 13;
h[1][0] = 21;
h[1][1] = 22;
h[1][2] = 23;
System.out.println(h[0][0]);

int[][] i = new int[2][];//定义一个2行的二维数组
i[0] = new int[1];//第一行1列
i[1] = new int[2];//第二行2列

//      int[][] i = new int[][3];//此处是错误的,编译错误

// 静态定义
int[][] j = new int[][]{{1,2},{3,4},{5,6}};

多维数组

  • 三维数组。type[][][] a = new type[2][3][4];//三维数组还是比较少见的。其定义等依此类推。

上一篇:006-Java控制语句

下一篇:008-Java方法(函数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值