程序员社区

JAVA数组

数组

一维数组

在这里插入图片描述

1、数组初始化

正确的赋值只有以下两种情况:
1、静态初始化
2、动态初始化
在这里插入图片描述

2、数组元素的调用

在这里插入图片描述

3、数组的长度和遍历

数组的长度
在这里插入图片描述
数组的遍历
在这里插入图片描述

4、数组元素的初始化值

  char类型数组默认值是ascll码为0的字符,不是  '0’ , ('0'表示的是数字0,其ascll码值是48)

在这里插入图片描述
引用数据类型String举例:
在这里插入图片描述
输出北京天气不错!

5、数组的内存解析

在这里插入图片描述
new String[3]赋给arr1后,就不指向原来的new String[4]了
在这里插入图片描述

多维数组

在这里插入图片描述

1、二维数组的初始化

一种简写方式,类型推断,需要声明和赋值在一个式子,即int[ ]arr4和{1,2,3,4,5}要写在一起,即int[ ]arr4={1,2,3,4,5},而不能int[ ]arr4,
arr4={1,2,3,4,5}.
在这里插入图片描述
在这里插入图片描述


赋值就不要有长度,有长度就不要赋值
在这里插入图片描述

2、二维数组元素的调用

在这里插入图片描述

3、二维数组的长度和遍历

二维数组的长度
在这里插入图片描述
二维数组的遍历
在这里插入图片描述

4、数组的默认初始化值

在这里插入图片描述
示例:
在这里插入图片描述
在这里插入图片描述

5、二维数组的内存解析

在这里插入图片描述

一些练习

在这里插入图片描述
x的地址有 [ ,y的地址是 [ [ 。

数组的一些算法

1、数组赋值

在这里插入图片描述
此时
改array1就是改array2,
改array2就是改array1。

2、数组的复制、反转、查找

复制
在这里插入图片描述
反转
在这里插入图片描述
查找-线性查找
在这里插入图片描述
查找-二分查找
二分法搜索的前提是起始状态要有序。
在这里插入图片描述

3、算法

衡量排序算法的优劣。
在这里插入图片描述
内部和外部排序定义
在这里插入图片描述

冒泡排序

冒泡过程
在这里插入图片描述
程序实现
在这里插入图片描述

排序算法性能对比

在这里插入图片描述
在这里插入图片描述

Arrays工具类的使用

在这里插入图片描述
示例:
1、比较相等
在这里插入图片描述
2、输出数组信息
在这里插入图片描述
3、所有值都赋值为 10
在这里插入图片描述
在这里插入图片描述
4、对数组进行排序
在这里插入图片描述
5、返回要找的数的数组下标,没找到就返回负数,比如-10.
在这里插入图片描述
其他方法详见API arrays包。

数组的一些异常情况

1、角标越界
角标不能大于等于5,不能是负的。
在这里插入图片描述
2、空指针异常
情况一:

空指针后,通过arr1找不到数组内数据1、2、3、了。

在这里插入图片描述

情况二:

因arr2[i]内容是null,故不能找到arr2[i][j]的内容,故为空指针异常。
在这里插入图片描述
情况三:

toString方法的前面那个对象arr3[0]是null
在这里插入图片描述
小总结
在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » JAVA数组

一个分享Java & Python知识的社区