• java初级之数组详解


    
    

    一,数组的概念:

      数组是为了存储同一种数据多个元素的集合,也可以看成是一个容器,数组既可以存储基本数据类型,也可以存储引用数据类型,数组是为了存储同种数据类型的多个值。

    1.1.1,一维数组重点:      

      数组的定义 

      数组的初始值       

      初始化数组  

      数组遍历

      数组操作常见的俩异常

      Arrays类介绍

    1.1.2,数组的定义(一维数组)java中一维数组定义有两种格式:

    数据类型[] 数组名 = new 数据类型[数组的长度];

    数组类型 数组名[]=new 数组类型[数组长度];

    1.1.3,基本类型的数组的初始值:  

    数组元素属性 默认值
    float、double   0.0
    byte、short、int、long  0
    char 'u0000'
    boolean false
    引用数据类型 ull

    1.1.4.什么是数组初始化:

    就是为数组开辟连续的内存空间,并为每个数组元素赋予值,(数组初始化分为动态初始化以及静态初始化)

    a.动态初始化 只指定长度,由系统给出初始化值

    格式:

    数据类型[] 数组名 = new 数据类型[数组长度];

      b.静态初始化 给出初始化值,由系统决定长度

      格式:

        数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};

      简化格式:

            数据类型[] 数组名 = {元素1,元素2,…};

    1.2.1,数组遍历:

         A:数组遍历案例演示
      * 数组遍历:就是依次输出数组中的每一个元素。
      * 数组的属性:arr.length数组的长度
      * 数组的最大索引:arr.length - 1;

    	     //定义数组
    		int [] arr={10,30,20,40};
    		//对数组进行for循环
    		for (int i = 0; i < arr.length; i++) {
    			//打印数组信息并且输出
    			System.out.println(arr[i]);
    		}
    

    二,数组常见的两大异常:

        * a:ArrayIndexOutOfBoundsException:数组索引越界异常
          * 原因:你访问了不存在的索引。
        * b:NullPointerException:空指针异常
          * 原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
          * int[] arr = {1,2,3};
          * arr = null;
          * System.out.println(arr[0]);


    1.3.1,二维数组的重点:

      数位数组的定义

      二维数组遍历

    1.3.2,二维数组的定义:

    Java中定义和操作多维数组的语法与一维数组类似。在实际应用中,三维及以上的数组很少使用,主要使用二维数组。
    语法:

      数组类型 [][] 数组名;  

      数组类型 数组 [][];

    需要强调的是,虽然从语法上看,Java支持多维数组,但从内存分配原理的角度讲,Java中只有一维数组,没有多维数组。或者说,表面上是多维数组,实质上都是一维数组。

    1.3.3,初始化二维数组:

      二维数组也可以进行初始化操作,与一维数组类似,同样采用如下两种方式,要注意大括号的结构及书写顺序。
      例:
      

      int[][] score=new int[][]{{90,32,43,43,23},{42,32,44},{67}};

        int score[][]={{90,32,43,43,23},{42,32,44},{67}};

    1.3.4,二维数组的遍历的方法

    	//定义二维数组
    	int [][] arr={{10,52,13,61},{10,52,13,61},{10,52,13,61},{10,52,13,61},{10,52,13,61}};
    	//外for循环每个数组
    	for (int i = 0; i < arr.length; i++) {
    	  //内for循环每个数组中的数
    	  for (int j = 0; j < arr[i].length; j++) {
    		System.out.print(arr[i][j]+"");
    	  }
    	System.out.println();
         }
    

    1.3.5,Arrays类及其常用方法:

    JDK中提供了一个专门用于操作数组的工具类,即Arrays类,位于java.util包中。该类提供了一系列方法来操作数组,如排列、复制、比较、填充等,用户直接调用这些方法即可,不需要自己编写实现,降低了开发难度。
                                 Arrays类常用方法:
    返回类型   方法  说明
    boolean  equals(array1,array2) 比较两个数组是否相等
    void   shrt(array) 对数组array的元素进行升序排列
    String toString() 将一个数组array转换成一个字符串
    void  fill(array,val) 把数组array的所有元素都赋值为val
    与array数组类型一致 copyOf(array,length) 把数组array复制成一个长度为length的新数组
    int binarySearch(array,val) 查询元素值val在数组array中的下标
     

    1.4.1,总结:

    • 数组是可以再内存中连续存储多个元素的结构。数组中的所有元素必须属于相同的数据类型。
    • 数组中的元素通过数组下标进行访问,数组下标从0开始。
    • 二维数组实际上是一个一维数组,它的每个元素又是一个一维数组。
    • 使用Array类提供的方法可以方便地对数组中的元素进行排序、查询等操作。
    • JDK1.5之后提供了增强for循环,可以用来实现对数组和集合中数据的访问。
  • 相关阅读:
    剑指 Offer 50. 第一个只出现一次的字符
    剑指 Offer 42. 连续子数组的最大和
    剑指 Offer 41. 数据流中的中位数
    剑指 Offer 40. 最小的k个数
    剑指 Offer 39. 数组中出现次数超过一半的数字
    剑指 Offer 38. 字符串的排列
    MySQL更改密码
    WPF中的MySQLHelper
    WPF多线程
    mysql-5.7.28-winx64(压缩包)安装教程
  • 原文地址:https://www.cnblogs.com/joeyJss/p/9381800.html
Copyright © 2020-2023  润新知