java基础(数组篇)

                                          (一维数组)

数组:可以存储多个元素并且多个元素是 同一种类型的容器

 数组的定义:
  数据类型[] 数组名;
  数据类型 数组名[];
            举例:
  int[] a; 定义了一个int类型的数组变量a
  int a[] ;       定义了一个int类型 变量a数组
          这两种方式的定义:虽然写法不一样,并且读法不一样,但是表达的效果一样,都是在定义一个数组,推荐使用第一种方式;
  数组的初始化:
  1)动态初始化:  给数组指定长度,数组中的元素值由系统默认给定
  2)静态初始化:  给定数组中元素的值,数组的长度由系统给定;  
  动态初始化:
   数据类型[] 数组名 = new 数据类型[数组长度] ;
                   举例:

         int[] arr = new int[3] ;

                  没有被初始化的数组是不能使用的  

 获取数组中的元素:通过数组名称获取
    格式:

  数组名称[索引值],数组的索引值从0开始,最大的索引=数组长度-1  

  数组中经常会出现的异常:
  ArrayIndexOutOfBoundsException:数组角标越界异常
  出现的原因:访问了数组中不存在的索引值;
  解决方案:观察数组中到底有索引值到多少;  数组长度-1
  NullPointerException:空指针异常 (在实际开发中该异常是最多的)
  出现的原因:对象为null,而开发者还要去使用对象,就会出现问题
  解决方案:给某个对象进行非空判断,防止程序程序空指针异常
 
  对于异常:
  把从头到尾,将遇见到的异常建立文档,
  出现该异常的原因
  如何解决异常 
               OOM异常:OutOfMemory:内存溢出   Android 解决加载大量图片的问题:图片加载器:ImageLoader等等

数组中的应用:

最值:  

     自定义一个数组,静态初始化,求数组中的最大值或者最小值;

      分析: 最大值:
  1)定义一个数组,静态初始化
  2)定义一个参照物,分别和数组中的其他元素进行比较,如果后面的元素都大于参照物,将后面作为参照物作为最大值
  3)输出

元素逆序:

分析:

  定义一个数组,静态初始化
  将数组中0索引对应的元素和arr.length-1索引对应的元素进行互换
  将1索引对应的元素和arr.length-1-1索引对应的元素进行互换
  ....
  只要保证数组的长度arr.length/2


数组中的元素基本查找法:  ----->数值中的元素的查找,查找的是该元素在数组中的索引

                                           (二维数组)

二维数组:

     数据类型[] [] 数组名 = new 数据类型[m][n] ;

     m:代表当前二维数组中有多少个一维数组

     n:代表每一个一维数组中的长度

    定义的方式还有以下两种情况

数据类型[]  数组名[] = new 数据类型[m][n]

数据类型 数组名[][] = new 数据类型[m][n]

 二维数组定义的第二种格式:

   数据类型[][] 数组名 = new 数据类型[m][] ;

    只给定有m个一维数组,每一个一维数组长度动态给定

二维数组的格式:

  静态初始化

   数据类型[][] 数组名称 = {{元素1,元素2,元素3},{....}}

二维数组的遍历:

public static void printArray2(int[][] arr) {

for(int x = 0 ; x < arr.length ; x ++) {

for(int y = 0 ; y < arr[x].length ; y++) {

System.err.print(arr[x][y]+" ");

}

}

}

猜你喜欢

转载自blog.csdn.net/m0_37167369/article/details/79854066