请问一下怎么用,谢谢
解决方案 »
- 在JPanel上drawImage一副图片为什么不能马上显示出来啊?
- volatile 关键字 除了修饰基本类型外 ,可以修饰InputStream之类的吗
- 求几个回溯,贪心,分治,分支限界法的简介算法
- 向各位大大门请教,JAVA
- 有关JCombox的奇怪问题!
- 关于继承的问题??????????????
- rmiregistry如何正确运行?
- 超菜问题:如何把int类型的数据转换成String类型?
- 请问想实现电子白版怎么办?
- : baitianhai(hong) 来拿分!
- 求教:利用org.apache.tools.zip.ZipFile在UNIX下解压1M的ZIP文件为何无法解压?
- 在企业开发中应该怎样合理的建立javabean??
注意:如果你熟悉C/C++,请注意, Java数组的工作原理与它们不同。 1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用,而不是对象本身。 2、数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。 3、数组声明的两种形式:一、int[] arr; 二、int arr[]; 推荐使用前者,这符合Sun的命名规范,而且容易了解到关键点,这是一个int数组对象,而不是一个int原始类型。 4、在数组声明中包含数组长度永远是不合法的!如:int[5] arr; 。因为,声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。 5、在数组构造的时候必须指定长度,因为JVM要知道需要在堆上分配多少空间。反例:int[] arr = new int[]; 6、多维数组的声明。int[][][] arr; 是三维int型数组。 7、一维数组的构造。形如:String[] sa = new String[5]; 或者分成两句:String[] sa; sa = new String[5]; 8、原始类型数组元素的默认值。对于原始类型数组,在用new构造完成而没有初始化时,JVM自动对其进行初始化。默认值:byte、short、 int、long--0 float--0.0f double--0.0 boolean--false char--'"u0000'。(无论该数组是成员变量还是局部变量) 9、对象类型数组中的引用被默认初始化为null。如:Car[] myCar = new Car[10]; 相当于从myCar[0]到myCar[9]都这样被自动初始化为myCar[i] = null; 10、对象类型的数组虽然被默认初始化了,但是并没有调用其构造函数。也就是说:Car[] myCar = new Car[10];只创建了一个myCar数组对象!并没有创建Car对象的任何实例! 11、多维数组的构造。float[][] ratings = new float[9][]; 第一维的长度必须给出,其余的可以不写,因为JVM只需要知道赋给变量ratings的对象的长度。 12、数组索引的范围。数组中各个元素的索引是从0开始的,到length-1。每个数组对象都有一个length属性,它保存了该数组对象的长度。(注意和String对象的length()方法区分开来,这两者没有统一起来是很遗憾的。) 13、Java有数组下标检查,当访问超出索引范围时,将产生ArrayIndexOutOfBoundsException运行时异常。注意,这种下标检查不是在编译时刻进行的,而是在运行时!也就是说int[] arr = new int[10]; arr[100] = 100; 这么明显的错误可以通过编译,但在运行时抛出! Java的数组下标检查是需要额外开销的,但是出于安全的权衡还是值得的,因为很多语言在使用数组时是不安全的,可以任意访问自身内存块外的数组,编译运行都不会报错,产生难以预料的后果!
http://www.cn-java.com/www1/?action-viewnews-itemid-3731
1、java中一维数组在定义的时候是不能够分配空间的,例:
int num[];//中括号中不能写大小
只有在定义完成之后为数组分配大小
num = new int[3];
java中数组定义建议采取下面的形式:
int[] num;
数组可以在定义时进行初始化:
int[] num = {1, 2, 3};
或者
int[] num = new int[]{1, 2, 3};
注意不要写为:
int[] num = new int[3]{1, 2, 3};
2、java中的二维数组
定义:
int[][] num;
分配空间:
num = new int[1][2];
3、java中二维数组每行的列数可以不相同:
int[][] num;
num = new int[3][];
num[0] = new int[1];
num[1] = new int[2];
num[2] = new int[3];
有些像c/c++中的指针数组
4、java中定义一个数值型数组的时候,会自动将数组的元素全部赋值为0
5、当用初始值填充数组时,不要在中括号中填写大小,例:
int[][] num = new int[2][]{{1, 2, 3}, {4, 5, 6}}; //error
6、java支持不规则数组元素
int[][] num = {{1, 2, 3}, {4, 5}, {6}};
public static void main(String[] args){
int[] arr = new int[10];
for(int i=0; i<10; i++)
arr[i] = i;
for(int j=0; j<10; j++)
System.out.println(arr[i]);
}
}
public class TestArr{