Java——数组(一维数组和二维数组)

目录

一维数组

创建,初始化,赋值

注意

一些数组的便捷使用方法

使用 .length得到数组长度

Arrays相关的使用

二维数组


文章某些地方会出现java与c语言的比较

文章内容参考韩顺平老师的课堂笔记

一维数组

创建,初始化,赋值

可以先创建再初始化,也可以创建的时候直接初始化。但是,如果选择先创建再初始化,就不能够整体赋值,只能一个一个赋值;如果选择创建的同时直接初始化,就可以直接整体赋值。

//首先,我们需要知道,以下两句话是相同的效果。平常写的时候就看个人习惯
int[] a;
int a[];

/*—————————————————动态初始化:只规定数组长度,不做初始化赋值—————————————————*/
//只有一种方式: 元素个数必须写在new后面的方括号里,不能写在等号前面方括号里
int a[] = new int[6];

/*—————————————————静态初始化:创建的同时确定内容—————————————————*/
//第一种
int a[]={6,6,6};
//第二种
int a[]=new int[]{6,6,6};
//第三种
int a[]=new int[3];
a[0]=a[1]=a[2]=6;    //当然也可以通过循环来初始化赋值
  • 一点个人总结的的小技巧:方括号里的数字,整体初始化赋值,这两者必须有且只有一个。如果要整体初始化,那么方括号里就不能写具体的数字;如果方括号里写了具体的数字,就不能整体初始化赋值。

如果不做初始化,那么将自动初始化为:

整型数组都默认初始化为 0(byte,short,int,long)

浮点型数组,默认初始化为 0.0(float,double)

char默认初始化为 \u0000 

布尔型数组初始化为 false

String初始化为null

注意

  1. 创建数组的时候,元素个数是可以写变量的哦。但是c语言就只能是常量,所以java在这里相对灵活了一点点。
int n=6;
int a[]=new int[n];

     2.元素个数确定后无法更改(跟c语言一样不是动态的),使用的时候也不能越界。

     3.凡是有new关键字出现,jvm就会在堆内存中为其开辟一块新的空间。我们做动态初始化的时候,那个等号其实就是把开辟的空间地址赋给数组变量。

一些数组的便捷使用方法

使用 .length得到数组长度

int a[]={1,2,3,4,5};
System.out.println(a.length);
//运行结果为:5

Arrays相关的使用

Arrays.fill 快速初始化 / 填充一个数组

int a[]=new int[6];
Arrays.fill(a , 6);
//现在数组a每个元素都是 6

 Arrays.toString 以字符串形式输出一个数组

int a[]=new int[6];
Arrays.fill(a , 6);
System.out.println(Arrays.toString(a));
//输出结果:[6, 6, 6, 6, 6, 6]

Arrays.sort 将数组按照升序排列

int a[]={5,4,3,2,1};
Arrays.sort(a);
System.out.println(Arrays.toString);
//输出结果:[1,2,3,4,5]

二维数组

描述:二维数组可以抽象的看做是一个表格,每个格子都有对应的行数和列数。在二维数组里,每个格子就是数组中的一个元素,数组的两个下标就是该元素的坐标。

定义:二维数组是指以一维数组作为元素的数组。

语法:数据类型   数组名[行数][列数];

初始化 

静态初始化

int[][] a = {{1,1,1}{2,2,2}{3,3,3}};
//注意每行元素之间没有逗号隔开

动态初始化

//第一种:定义同时初始化
int[][] a = new int[6][6];
//如果不确定数组大小,默认不分配空间,后面无法使用该数组

//第二种:先定义,再初始化
int[][] a;
a = new int[6][6];

不规律初始化

int[][] a = new int[3][];
a[0] = new int[2];
a[1] = new int[6];
a[2] = new int[4];
/*
还记得定义吗:二维数组是以一维数组为元素的数组
不规律定义中,先初始化了行数
下面把每一行看做是一个元素,初始化列数
整个数组共三行,第一行2个元素,第二行6个,第三行4个
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值