Oracle培训(五)——Core Java第五章知识点总结——数组


Core Java第五章知识点总结——数组


知识点预览

数组的概念

数组的语法

数组排序

数组扩充

二维数组与高维数组

数组的概念

1.什么是数组

2.数组的概念:一次性的定义多个变量

数组的语法

1.数组的声明

a)int [] a;------->项目开发推荐使用

b)int a[];

2.数组的空间分配

a)a = new int[5];

b)先声明、后分配

int [] a;

a = new int[5];

c)声明、分配同时进行

int [] a = new int[5];

3.数组在内存中的表示

a)int [] a = new int[5];


空间连续、挨着,密不可分

4.数组的特点

a)数组所创建的内存空间只能存储相同数据类型的数据

b)数组所分配的内存空间是连续的

c)数组所分配的内存空间是不可扩充的

5.数组存储数据的值

a)数组元素的默认值(各种各样的0

说明:’\u0000’:Unicode编码

局部变量:先赋值后使用

数组元素:未初始化,有默认值

b)数组的显式赋值

6.数组的遍历

a)按照一定的顺序依次操作数组的每一个元素

b)for循环(引入下标)

7.数组的length属性

a)arrayVar.length:用于获得数组长度

8.封装遍历函数

a)经常使用的代码------>进行封装

9.数组创建的其他方式

a)int [] a = {1,2,3};

b)int [] b = new int[]{11,22,33};

c)说明:以上两种方式不可以拆开写int [] b = new int[3]{11,22,33}; 错误

d)补充:C#:int [] b = new int[3]{11,22,33}; 正确

10.数组常见错误

a)开发:语法、思路、设计思想、积累常见错误

b)java.lang.ArrayIndexOutOfBoundsException数组越界异常

如:int [] a = new int[3]; System.out.println(a[4]);

11.思考题

byte b[] = {1,2,3};

byte a [] = b;

a[0] = 10;

System.out.println(b[0]);

先思考……

答案:10


数组排序

1. java.util.Arrays.sort(array);

数组扩充

1.思路

int [] a = new int[3];

a)创建一个新的数组 int [] b = new int[6];

b)把老数组的数据复制到新数组 a---->b(复制)

c)让老数组指向新数组的地址 a = b;

2.第一种方式

int [] a = new int[3];

int [] b = new int[a.length * 2];

for(int i = 0; i < a.length;i ++){

b[i] = a[i];

}

a = b;

3.第二种方式System.arraycopy()

int [] a = new int[3];

int [] b = new int[a.length * 2];

System.arraycopy(a,0,b,0,a.length);

a = b;

4.第三种方式 java.util.Arrays.copyOf

前提:JDK 1.6开始提供这个方法

int [] a = new int[3];

int [] b = java.util.Arrays.copyOf(a,a.length);

a = b;

注意:数组扩充不能在原有基础上

二维数组与高维数组

1.什么是二维数组

int[][] a = new int [2][3];

2:低维度 行

3:高维度 列

2.二维数组的使用

a)二维数组的赋值

i.a[0][0] = 10;……a[1][2] = 22;

ii.int [][] b = {{11,22},{21,22}};

b)二维数组的本质


一维数组的一维数组(Java里的二维数组不是真正意义上的二维数组)

int [][] a = newint [2][3];

c)二维数组的长度

i.a.length ------>外层数组(行)

ii.a[0] .length ------>内层数组(列)

d)二维数组的遍历

int i = 0; i< a.length;i++

int j = 0; j < a[i].length;j++

a[i][j];

e)不规则的二维数组

int [][] a = newint [2][];

a[0] = new int[3];

a[1] = newint[2];

3.高维数组

三维数组: 一维数组的一维数组的一维数组

四维数组: 一维数组的一维数组的一维数组的一维数组

……

注意复习以前知识:接下来学习面向对象

学习面向对象,不仅要学习面向对象的语法,更要注重面向对象的思想和解决问题的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值