Java学习5 数组

来源:互联网 发布:西门子plc数据用于联网 编辑:程序博客网 时间:2024/05/29 05:11

声明数组类型变量

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

int[] a;double d[];String[] args;Person p的[];/*注意:java语言中声明数组类型的变量时,不允许指定数组的长度(数组元素的个数)*/int[3] a; //非法

创建并使用数组

int[] s; //局部变量s(数组对象句柄)在栈内存s = new int[10]; //int[]对象在堆内存,每个元素初始值为0MyDate[] m;m = new MyDate[10]; //MyDate[]对象每个元素初始值为null

数组元素缺省初始化

数组是引用类型,它的元素相当于类的成员变量,因此数组对象一经创建,每个元素也被隐式初始化。

数组初始化

  • 动态初始化
// 基本类型int a[];a = new int[3];a[0] = 3;a[1] = 9;a[2] = 8;// 引用数据类型MyDate dates[];dates = new MyDate[3];datas[0] = new MyDate(22,7,1964);datas[1] = new MyDate(1,1,2000);datas[2] = new MyDate(22,12,1964);
  • 静态初始化
// 基本类型int a[] = {3,9,8};// 引用数据类型MyDate dates[] = {   new MyDate(22,7,1964),   new MyDate(1,1,2000),   new MyDate(22,12,1964)};

多维数组

// 二维数组 实际为a[3][4]int a[][] = {{1,2},{3,4,0,9},{5,6,7}};
i、j坐标 j=0 j=1 j=2 j=3 i=0 1 2 i=1 3 4 0 9 i=2 5 6 7
  • 多维数组的声明和初始化应按高维到低维的顺序进行:
int[][] a = new int[3][4];int[][] t = new int[3][];int[][] b = new int[][4]; //非法

数组拷贝

java.lang.System类的arraycopy()方法提供了数组元素复制功能

// 源数组int source[] = {1,2,3,4,5,6};// 目标数组int dest[] = {10,9,8,7,6,5,4,3,2,1};// 复制源数组中从下标0开始的3个元素到目标数组,从下标0开始存储System.arraycopy(source,0,dest,0,3);

数组排序

JDK的java.util包中定义的Arrays类提供了多种数组排序的功能

// 创建样本数组int a[] = {6,23,45,12,-83,94,41};// 数组排序 (内部实现采用快速排序法)Arrays.sort(a);// 排序后数组元素输出for(int i=0; i<a.length; i++){    System.out.print(a[i]+"\t");}
0 0
原创粉丝点击