基本概念
-
数组是编程语言常见的一种数据结构,可以存储多个数据,每个数组只能存储一种类型的数据,包括元素的赋值和取出数组的元素
-
Java中,要求数组中的元素有相同的数据类型。因此,数组中的元素类型是唯一的。
-
数组一旦初始化完成,数组在内存中所占的空间将会被固定下来,因此,数据的长度将不可改变。
-
数组是引用类型,虽然int[] 中int是基本数据类型,但是int[]属于引用数据类型。
-
数组是引用数据类型,定义一个变量的时候,仅仅表示了定义了一个引用变量(也就是一个指针),这个变量未指向任何有效的内存,所以还没有内存空间来存储这些元素,这个数据还不能使用,只有初始化后才可以使用。
- 定义时,不能指定数组长度
- 初始化时,必须指定数组的长度
初始化方式:
(1)静态初始化:
int[] arr={1,2,3,4,5};//指定初始值,不指定长度
(2)动态初始化:
int[] arr=new int[5];//只指定数组的长度
arr[0] = 1;//为数组元素赋值当访问数组的索引超过数组的长度范围时,会产生数组索引越界的错误
java.lang.ArrayIndexOutOfBoundsException
遍历数组:
foreach和for循环相比:- 无需获得数组长度,也无需根据索引来获取数组。
- 无需循环条件,无需循环迭代语句
使用foreach循环时,不能将数据进行赋值操作。没有意义
Eg: item=“java”;
赋值不成功
因为 item相当于一个临时变量,这个临时变量并不是数组元素,它只是保存了数组的值。如果希望改变数组的值,则不能使用foreach循环。
练习:
冒泡排序: