数组的学习心得 1.定义数组 java里面支持两种方式来定义数组。 例:type[] arrayName; 或type arrayName[]; 对于type[] arrayName类型来说,很容易知道定义的是type[]的类型,区别于type类型。第二种的可读性较差,在 java语言中已不常用。 在java中,数组只是一种引用类型的变量,它并没有指向任何有效的内存。因此定义数组时不能定义数组的长度。所以 也并没有有效的内存来处理数组元素。只有对这个数组进行初始化才可以进行使用。 2.数组的初始化 数组的初始化有两种方式:静态初始化和动态初始化 1、静态初始化 arrayName = new type[]{element1,element2,element3,element4}; 例:将数组的定义,与初始化同时完成 int[] intArr; intArr =new int[]{5,6,8,20}; 2、动态初始化 arrayName = new type[length]; 例:将定义数组与数组的初始化同时完成 int[] prices = new int[5]; 3.使用数组 例:for(int i = 0;i<prices.length;i++) { System.out.println(prices); } 4.foreach 循环 for(type variableName:array|collection) { System.out.println(variableName); } 5.深入数组理解 (1)内存中的数组 数组只是一种引用数组类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的。只有该引用变量指向一段有效的内存时,才可以访问对应数组元素。
实际的数组对象被存储在堆(heap)内存中,而数组引用变量是一个局部变量,它被存在栈(stack)内存中。 所有的方法中定义的局部变量都是放在栈内存中的。必须牢记的是,定义并初始化一个数组以后,在内存中分配的两个空间,一个用于存放数组的引用变量,另一个用于存放数组本身。 (2)基本类型数组的初始化 public class PrimitiveArrayTest { public static void main(String[] args) { int[] iArr; iArr = new int[5]; for(int i = 0;i<iArr.length;i++) { iArr=i+10; } } } 我知道数组一定还有更多用途,可是基于我所学的现在只能写出这些。因为之
前基本上没有学过数组,这两天开始接触,通过问老师和同学,加之自己上网搜也有一
些体会,可是实际上很多用途还不是很清楚,现在写感触也不是很深。所以等我在使用
中产生问题,不懂,易混,有感触的时候会再来补充。
|