一、数组的定义
数组是一种数据结构,用来存储固定长度的、同类数据类型的数据容器集合。
二、数组的优缺点
优点:
代码优化:可以轻松地检索或排序数据。
随机性:可以获取任何位于索引位置的数据。
缺点:
大小限制,只能在数组中存储固定大小的元素。
三、数组的类型
一维数组
多维数组
四、数组的声明
1 dataType[] arr; 2 dataType []arr; 3 dataType arr[];
五、定义格式
数据类型[] 变量名 = new 数据类型[长度];
分析数组:
左边: int[] arr 声明了一个int类型的的数组变量,变量名为arr。
int : 表示该数组容器只能存储int类型的数据。
[] : 这是一个数组类型。
arr : 变量名.
右边:new int[50]; 创建了一个长度为50的int类型数组对象。
new : 创建数组对象的关键字。
int: 表示该数组对象只能存储int类型数据。
[]: 表示是数组类型。
50 : 该数组最多能存储50个数据。数组的容量。超过数据长度,会报错。
六、单个数据访问
1 int[] arr = new int[5]; 2 arr[0] = 1; 3 arr[1] = 2; 4 arr[2] = 3; 5 arr[3] = 4; 6 arr[4] = 5; 7 System.out.println("数组的第二个元素是:"+arr[1]); 8 System.out.println("数组的长度:"+arr.length);
七、循环遍历数组
有三种方式:基本循环、增强for循环、Arrays工具类中toString静态方法遍历
基本循环:
1 int[] arr = {1,2,3,4,5}; 2 for (int i = 0; i < arr.length; i++) { 3 System.out.println("数组的第"+(i+1)+"元素是:"+arr[i]); 4 }
增强for循环(或叫foreach循环)
1 int[] arr = {1,2,3,4,5}; 2 for (int i = 0; i < arr.length; i++) { 3 System.out.println("数组的第"+(i+1)+"元素是:"+arr[i]); 4 }
Arrays工具类中toString静态方法遍历
import java.util.Arrays; public class Demo6 { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; System.out.println(Arrays.toString(arr)); } }
八、多维数组的声明
dataType[][] arrayRefVar;
dataType [][]arrayRefVar;
dataType arrayRefVar[][];
dataType []arrayRefVar[];
九、实例化多维数组的示例
int[][] arr=new int[3][3];//3 row and 3 column
十、初始化多为数组
arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; arr[1][0]=4; arr[1][1]=5; arr[1][2]=6; arr[2][0]=7; arr[2][1]=8; arr[2][2]=9;
十一、多维数组演示
class Testarray3 { public static void main(String args[]) { // declaring and initializing 2D array int arr[][] = { { 1, 2, 3 }, { 2, 4, 5 }, { 4, 4, 5 } }; // printing 2D array for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); } } }
十二、一维数组复制
public class Demo6 { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); System.arraycopy(copyFrom, 0, copyTo, 0, 4); System.out.println(new String(copyTo)); } } ######如下为运行结果######## caffein decaein