数组

来源:互联网 发布:苹果电脑c语言编程软件 编辑:程序博客网 时间:2024/06/06 03:25
数组概念:     存储统一数据类型的多个对象,也可以看成一个容器

     可以存储基本类型,也可以存储引用数据类型

数组作用:

     存储多个对象而且保证类型统一。
 数组的理解:
     对于基本类型是在连续的内存单元中存储多个类型相同的基本类型
     对于引用数据类型,在连续的内存单元中存储多个对象的引用。
     对于多维数组是存储了维数减一的数组的引用。知道二维数组是存储了多个一维数组的引用。
 数组的优势:
     Java中遍历和修改的最快的数据容器
 数组的常见问题:
     数组的越界问题
     数组的空指针问题
 数组的定义:
     className[] objectName;
     className objextName[];
 数组的初始化:
     new className[num];
     {data1, data2,……};不能作为参数传递给方法。

     new className[]{data1, data2, ……};


Java数组便利的常用方法有三种:

       a.使用arrayName[index]获取数组元素. 小心越过数组长度.

class CommonIterator {public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };System.out.print(arr[0] + "\t");System.out.print(arr[1] + "\t");System.out.print(arr[2] + "\t");System.out.print(arr[3] + "\t");System.out.print(arr[4] + "\t");System.out.print(arr[5] + "\t");}}

       输出结果为:

1    3    65    45    23    345   

       b.通过for循环遍历数组. 数组的唯一属性是数组元素的个数.通过.length获得 for循环且利用.length可以避免数组越界异常

class ForIterator {public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}}}

          输出结果:

1    3    65    45    23    345


c.使用foreach遍历 不过这个遍历只能获取元素.不能修改和删除

class ForeachIterator {public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };for (int i : arr) {System.out.print(i + "\t");}}}

输出结果:

1    3    65    45    23    345

获取数组中最大值:

class GetMax{/** * 获取数组元素的最值,只演示最大值,最小值的获得只需要更改Boolean操作符就可以了 */public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };//假定第一个元素时最大值,不断与后面元素比较,不断更改为最大值int max = arr[0];//与最大值元素对应的序号int index = 0;for (int i = 1; i < arr.length; i++) {if(arr[i] > max){max = arr[i];index = i;}}//输出最大值和它对应的序号.System.out.println("数组中最大值是:" + max + ".该元素的序号是:" + index);}}
输出结果:

数组中最大值是:345.该元素的序号是:5


反转数字顺序

class Reversal{/** * 只需要再定义一个相同长度和类型的数组.新数组第一个元素存储原来最后一个元素,以此类推. */public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };System.out.println("数组原的顺序:");for(int i : arr){System.out.print(i + "\t");}//输出结果后下一个输出从下一行开始System.out.println();//定义新相同长度和类型的数组int[] newArray = new int[arr.length];//对数组元素进行反转for (int i = 0; i < arr.length; i++) {newArray[arr.length - i -1] = arr[i];}//输出逆序后数组System.out.println("数组逆序后的顺序是:");for(int i : arr){System.out.print(i + "\t");}}}
输出结果:

数组原的顺序:
1    3    65    45    23    345    
数组逆序后的顺序是:
1    3    65    45    23    345   


二维数组的求和

class TwoDimension{/* * 二维数组的求和 */public static void main(String[] args) {int[][] arr = {{1, 2, 3}, {2, 3, 5}, {5, 3, 6}};//初始化多个元素的和int sum = 0;//使用嵌套遍历遍历二维数组元素并且求和for (int i = 0; i < arr.length; i++) {//arr[i].length表示第i个一维元素,通过for再对其遍历for (int j = 0; j < arr[i].length; j++) {//二维数组的某个元素的访问是arr[i][j]sum += arr[i][j];}}//输出二维数组的和System.out.println("二维数组的和:" + sum);}}
输出结果是:

二维数组的和:30

0 0
原创粉丝点击