数组:存储一组相同数据类型的数据单元。
语法:
int i[] ; char c[]; boolean b[];
数组的初始化的形式:
静态初始化:在定义数组的同时给数组开辟空间并且给数组中的每个元素赋值。
动态初始化:在定义数组的同时给数组开辟空间,但是不给数组中的元素赋值。
package com.boc; public class JavaDemo14 { public static void main(String[] args) { int i[] = {9,30,3,4,5} ;//定义了一个int 类型的数组,开辟了5个空间,并且给5个元素赋值了,静态数组初始化 int x[] = new int[10];//定义了一个数组,并给数组开辟了10个空间 } }
那么现在问题来了,动态初始化的数组已经开辟了空间,那么我们怎么给开辟的空间赋值?
int x[] = new int[10];//定义了一个数组,并给数组开辟了10个空间 for (int j = 0; j < x.length; j++) {//x.length表示的是数组的长度 x[j] = 10+j;//表示给数组的第j个元素赋值 }
现在已经可以给数组赋值了,那么现在又有一个问题,数组的元素内容怎么进行输出呢?
package com.boc; public class JavaDemo14 { public static void main(String[] args) { int i[] = {9,30,3,4,5} ;//定义了一个int 类型的数组,开辟了5个空间,并且给5个元素赋值了,静态数组初始化 int x[] = new int[10];//定义了一个数组,并给数组开辟了10个空间 for (int j = 0; j < x.length; j++) {//x.length表示的是数组的长度 x[j] = 10+j;//表示给数组的第j个元素赋值 } //通过循环对数组进行输出 for (int j = 0; j < x.length; j++) {//x.length表示的是数组的长度 System.out.print(x[j]+"\t"); } System.out.println(); for (int j = 0; j < i.length; j++) {//x.length表示的是数组的长度 System.out.print(i[j]+"\t"); } } }
数组的引用传递问题:
package com.boc; public class JavaDemo15 { public static void main(String[] args) { int x[] = {1,2,3,4,5}; int y[] = x;//将x数组的内容赋值给y数组 for (int i = 0; i < x.length; i++) { System.out.print(x[i]+"\t"); } for (int i = 0; i < y.length; i++) {//从新给y数组设置内容 y[i] = 10+i; } System.out.println(); for (int i = 0; i < x.length; i++) { System.out.print(x[i]+"\t"); } } }
其实对于初学者来说,引用传递是比较难以理解的内容,记住一点就可以,引用的就是内存地址的使用权。
下一篇主要说说数组的排序。