标签:
1 /** 2 文件路径:G:\JavaByHands\数组 3 文件名称:ArrayTest.java 4 编写时间:2016/6/13 5 编写说明:学习数组的使用方法~~ 6 知识来源:疯狂java讲义 7 */ 8 9 /* 10 数组是用来储存多个数据的一种数据结构~~ 11 一个数据被成为一个数组元素 12 可以通过数组元素的索引来访问数组元素 13 java要求所有的数组元素具有相同的数据类型 14 一旦数组初始化完成,数组在内存中所占的空间将被固定下来,长度不可变 15 数组既可以储存基本数据类型,也可以储存引用数据类型 16 数组本身就是一种引用类型 17 18 定义数组:type[] arrayName;==> 类型[] 数组名; 19 20 初始化数组 21 1:静态初始化:初始化时,指定每个数组元素的初始值,由系统决定数组长度 22 格式:arrayName = new type[]{element1,element2...}; 23 简化:arrayName = {element1,element2...};{这样会报错...没有初始化...} 24 常用:type[] arrayName = {element1,element2...}; 25 type为数组元素的数据类型,必须与定义数组变量时采用的type相同 26 也可以是定义数组时所使用的type的子类 27 数组元素由花括号括起来,并用逗号隔开 28 29 2:动态初始化:动态初始化是指指定数组的长度,由系统为每个数组元素指定初始值 30 格式:arrayName = new type[length]; 31 length表示数组的长度,即可以容纳数组元素的个数,int型 32 type同静态初始化~~ 33 34 规则: 35 整 形:默认值为0 36 浮 点 型:默认值为0 37 字 符 型:默认值为‘\u0000’ 38 布 尔 型:默认值为false 39 引用类型:默认值为null 40 41 !注意:静态初始化和动态初始化不能同时使用~~ 42 43 使用数组 44 访问数组元素和对数组元素赋值一般都是通过在数组引用变量后面加索引值来实现 45 索引:方括号加int类型的值~~java中索引从0开始 46 String[] arrX = {"1","2","3","4","5"}; String[] arrX = {"赵","钱","孙","李","周"}; 47 | | | | | | | | | | 48 索引值 [0] [1] [2] [3] [4] [0] [1] [2] [3] [4] 49 重要的事情说三遍: 50 索引值一定是从0开始的,最后一个索引值是数组的长度-1 !!! 51 索引值一定是从0开始的,最后一个索引值是数组的长度-1 !!! 52 索引值一定是从0开始的,最后一个索引值是数组的长度-1 !!! 53 54 数组长度:length 55 获取数组中的值,可以利用for循环,对数组进行遍历~~ 56 int[] arr = {1,2,3,4,5,6}; 57 for(int i = 0 ; i < arr.length ; i ++ ){ 58 59 System.out.println(i); 60 61 } 62 63 jdk1.5以上提供了foreach循环 64 int arr2 = {1,3,5,7,9}; 65 for(int i : arr2) { 66 67 System.out.println(i); 68 69 } 70 利用foreach循环迭代循环数组元素时,循环变量相当于是一个临时变量,改变这个变量,不会改变数组中的值~~ 71 72 73 */ 74 75 public class ArrayTest{ 76 77 public static void main(String[] args){ 78 79 //静态初始化数组 80 int[] arr; 81 arr = new int[]{1,2,3,4,5}; 82 83 /*注意:这样写会报错...虽然看书上有这种写法...但实测的时候报错... 84 *用eclipse也测了一下...依然报错 85 *Array constants can only be used in initializers 数组常量只能用于初始化 86 *还是需要实践呀~~ 87 */ 88 //int[] arr1; 89 //arr1 = {1,2,3,4,5}; 90 91 int[] arr1 = {1,2,3,4,5}; 92 93 int[] arr2 = {1,2,3,4,5}; 94 95 //初始化数组,数组元素是定义类型的子类 96 Object[] objArr; 97 objArr = new String[] {"对象","子类"}; 98 99 //动态初始化数组 100 int[] arr3 = new int[5]; 101 //初始化数组,数组元素是定义类型的子类 102 Object[] objArr1 = new String[3]; 103 104 //对动态初始化的数组赋值 105 arr3[0] = 5; 106 arr3[4] = 7; 107 108 //输出单个的数组元素的值 109 int i = arr1[3]; 110 System.out.println(i); 111 112 //循环遍历数组 113 for(int j = 0; j < arr2.length; j ++) { 114 System.out.print("arr2["+ j +"] = " + arr2[j] + ","); 115 } 116118 119 //foreach 循环 120 for(int k : arr1) { 121 System.out.print(k); 122 } 123 124 } 125 }
标签:
原文地址:http://www.cnblogs.com/zhengchenhui/p/5592558.html