int [] num=new int[3]{1,2,3}; //error;软件开发网 www.mscto.com
2)可以这样定义二维数组。
int [][] num;
//or
num=new int[3][];
num[0]=new int[5];
num[1]=new int[3];
num[2]=new int[2];
3)二维数组赋初值。
int [][] num=new int[][]{1,2,3,4,5,5}; //error int [][] num=new int[][]{{1,2,3},{4,5,5}}; //ok int [][] num=new int[2][]{{1,2,3},{4,5,5}}; //error int [][] num={{1,2,3},{4,5,6}}; //ok
public class Arrays { public static void main(String[] args) { int[] a1 = { 1, 2, 3, 4, 5 }; for (int i = 0; i < a1.length; i ) System.out.println("a1[" i "] = " a1[i]); int[] a2; a2 = a1; for (int i = 0; i < a2.length; i ) a2[i] ; System.out.println("-----after change a2------"); for (int i = 0; i < a1.length; i ) System.out.println("a1[" i "] = " a1[i]); System.out.println("-----after change a2[0]------"); a2[0] = 333; System.out.println("a2[0]=" a2[0]); System.out.println("a1[0]=" a1[0]); System.out.println("----- a2------"); for (int i = 0; i < a2.length; i ) System.out.println("a2[" i "] = " a2[i]); } }
结果:
a1[0] = 1
a1[1] = 2
a1[2] = 3
a1[3] = 4
a1[4] = 5
-----after change a2------
a1[0] = 2
a1[1] = 3
a1[2] = 4
a1[3] = 5
a1[4] = 6
-----after change a2[0]------软件开发网 www.mscto.com
a2[0]=333
a1[0]=333
----- a2------
a2[0] = 333
a2[1] = 3
a2[2] = 4
a2[3] = 5
a2[4] = 6软件开发网 www.mscto.com
数组a1和a2始终在操作同一个对象。
5.关于数组的相关操作
1)在Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数。
2)数组的复制:System.arraycopy()。
3)数组的排序:Arrays.sort()。
4)在已排序的数组中查找某个元素:Arrays.binarySearch()。
6.关于数组的排序操作
1)对象数组排序,必须实现Comparable接口。
软件开发网 www.mscto.com
import java.util.Arrays; class Student implements Comparable { int num; String name; Student(int num, String name) { this.num = num; this.name = name; } public String toString()// 重写toString()方法,以便main:System.out.println(ss[i]); { return "number=" num "," "name=" name; } public int compareTo(Object o) { Student s = (Student) o; return num > s.num ? 1 : (num == s.num ? 0 : -1); } } class ArrayTest { public static void main(String[] args) { Student[] ss = new Student[] { new Student(1, "zhangsan"), new Student(2, "lisi"), new Student(3, "wangwu") }; Arrays.sort(ss); for (int i = 0; i < ss.length; i ) { System.out.println(ss[i]); } } }
软件开发网 www.mscto.com
结果:
number=1,name=zhangsan
number=2,name=lisi软件开发网 www.mscto.com
number=3,name=wangwu
2)以num为第一关键字,name为第二关键字排序
import java.util.Arrays; class Student implements Comparable { int num; String name; Student(int num, String name) { this.num = num; this.name = name; } public String toString() { return "number=" num "," "name=" name; } public int compareTo(Object o) { Student s = (Student) o; int result = num > s.num ? 1 : (num == s.num ? 0 : -1); if (0 == result) { result = name.compareTo(s.name); } return result; } } class ArrayTest { public static void main(String[] args) { Student[] ss = new Student[] { new Student(1, "zhangsan"), new Student(2, "lisi"), new Student(3, "wangwu"), new Student(3, "mybole") }; Arrays.sort(ss); for (int i = 0; i < ss.length; i ) { System.out.println(ss[i]); } } }
金桥博客>> ﹎貓. >> 日志
Java数组特点及基本使用技巧
上一篇 / 下一篇 2008-09-09 14:24:33
相关阅读:
导入论坛 收藏 分享给好友 推荐到圈子 管理 举报
TAG: 特点 java 技巧 Java