读书人

Oracle培训(5)Core Java第五章知

发布时间: 2012-08-26 16:48:06 作者: rapoo

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];

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

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

4. 数组的特点

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

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

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

5. 数组存储数据的值

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

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

说明:’\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. 什么是二维数组

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

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) 二维数组的本质

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

一维数组的一维数组(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) 不规则的二维数组

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

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

a[0] = new int[3];

a[1] = newint[2];

3. 高维数组

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

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

……

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

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

读书人网 >编程

热点推荐