JavaSE总结 (7)

示例:

package com.wmwx.array; public class Demo01 { public static void main(String[] args) { int[] numbers; //数组的声明 numbers = new int[5]; //数组的创建 } } 数组的赋值

数组可以通过使用下标来执行赋值操作。数组的下标从0开始,到length-1结束(length为数组长度)。

如果下标超过length-1,就会报错:ArraylndexOutOfBoundsException ,即数组下标越界异常。

示例:

package com.wmwx.array; public class Demo01 { public static void main(String[] args) { int[] numbers = new int[5]; numbers[0] = 1; //下标从0开始 numbers[1] = 2; numbers[2] = 3; numbers[3] = 4; numbers[4] = 5; System.out.println(numbers[0]); //输出1 System.out.println(numbers[1]); //输出2 System.out.println(numbers[2]); //输出3 System.out.println(numbers[3]); //输出4 System.out.println(numbers[4]); //输出5 System.out.println(numbers[5]); //报错:越界异常 } } 数组的遍历

数组的元素类型和数组的大小都是确定的。所以当处理数组元素时候,我们通常使用循环结构

示例:

package com.wmwx.array; public class Demo01 { public static void main(String[] args) { int[] numbers = new int[5]; //声明和创建 numbers[0] = 1; //赋值 numbers[1] = 2; numbers[2] = 3; numbers[3] = 4; numbers[4] = 5; int sum = 0; //通过array.length可以得到数组的长度 for (int i = 0; i < numbers.length; i++) { sum = sum + numbers[i]; } System.out.println(sum); //输出15 } } 数组的初始化

数组的初始化有以下三种方式:

静态初始化

动态初始化

默认初始化

示例:

package com.wmwx.array; public class Demo02 { public static void main(String[] args) { //静态初始化:创建+赋值 int[] a = {1, 2, 3, 4}; System.out.println(a[0]); //输出1 //动态初始化(包含默认初始化) int[] b = new int[4]; b[0] = 5; System.out.println(b[0]); //输出5 //默认初始化 System.out.println(b[1]); //输出0 System.out.println(b[2]); //输出0 System.out.println(b[3]); //输出0 } } 数组的基本特点

其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。其元素必须是相同类型,不允许出现混合类型。

数组中的元素可以是任何数据类型,包括基本类型和引用类型。

数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。

数组本身就是对象,而Java中的对象是在堆中的。因此数组无论保存原始类型还是其他对象类型,数组对象本身是在中的。

For-Each循环

Java5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。

其语法格式如下:

for(type element: array) { System.out.println(element); }

示例:

package com.wmwx.array; public class Demo03 { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; //输出数组的所有元素 //for循环 for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } //for-each循环 for (int i: array) { System.out.println(i); } } } 数组作为参数和返回值

示例:

package com.wmwx.array; public class Demo04 { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; int[] new_array = reverse(array); for (int i: new_array) { System.out.println(i); //输出5、4、3、2、1 } } //数组作为返回值 public static int[] reverse(int[] array){ //数组作为参数 int[] result = new int[array.length]; //反转整个数组 for (int i=0, j=array.length-1;i<array.length;i++,j--){ result[j] = array[i]; } return result; } } 多维数组

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。

示例:

package com.wmwx.array; public class Demo05 { public static void main(String[] args) { //二维数组 int[][] array = {{1, 2, 3}, {2, 3, 4}, {3, 4, 5}, {4, 5, 6}}; System.out.println(array[0][1]); //输出2 System.out.println(array[1][2]); //输出4 System.out.println(array[2][0]); //输出3 //遍历二维数组 for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.println(array[i][j]); } } } } Arrays类

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

具有以下功能:

打印数组:通过 toString 方法

给数组赋值:通过 fill 方法。

对数组排序:通过 sort 方法,按升序。

比较数组:通过 equals 方法比较数组中元素值是否相等。

查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssssz.html