Java数组

    xiaoxiao2021-03-25  125

    数组是多个相同类型数据的组合,实现对这些数据的统一管理

    数组中的元素可以是任何类型,包括基本类型和仅用类型

    数组属于仅用类型,可以理解为对象(object),数组中的每个元素相当于这个元素的成员变量

    数组的长度是不变的

    声明数组的格式

           *1. 数据类型[] 数组名String [] args

           *2. 数据类型数组名[]  

    java 中的数组必须先初始化,然后才能使用。

    所谓 初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

    使用new关键字来进行初始化

    初始化分类:

    动态初始化:初始化只指定数组长度,由系统为数组分配初始值   

    静态初始化;初始化时指定每个数组元素的初始值,由系统确定数组长度

    int[]arr4= new int[5];

     //左侧:int→数据类型   []→一维数组    arr4→数组名

     //右侧:new→在内存中分配空间 int→数据类型  []→一维数组   5→长度(元素个数)

    数组属性 length ,指明了数组的长度

    * int  默认初始值 0

    * double float  默认初始值 0.0

    * char    默认初始值  " " 空格

    * String  默认初始值 null  空值

    * boolean 默认初始值 flase

    数组常见问题:

           * 1.数组下标越界异常

             java.lang.ArrayIndexOutOfBoundsException

             下标不再取值范围内

           * 2.空指针异常

             NullPointerException

             数组引用没有指向实体,却在操作实体中的元素时

    数组遍历

         

    int []arr8={2,4,6,8,10,234,23,3,2,9,0,-18,98}; /*System.out.println(arr8[0]); System.out.println(arr8[1]); System.out.println(arr8[2]); System.out.println(arr8[3]); System.out.println(arr8[4]);

          方式1: for循环

       

    for(int i=0;i<arr8.length;i++) { System.out.println(arr8[i]); }

          方式2:增强for循环

       

    for(int x:arr8) { System.out.println(x); } String[]arr9={"zhangsan","lisi","wangwu","zhaoliu"}; for(int i=0;i<arr9.length;i++) { System.out.println(arr9[i]); } for(String x:arr9) { System.out.println(x); }

    二维数组

     Java中多维数组可以理解为数组的数组

       

    Java中多维数组的声明和初始化应按从高维到低维的顺序进行

    Java中多维数组可以不是规则的矩阵形式

    int [] arr2=new int [7]; int[][] arr3=new int[3][];//二维数组arr3有3行,第一个维数不空即可 arr3[0]=new int[2];//第一行是一个有2个元素的一维数组 arr3[1]=new int[3];//第二行是一个有3个元素的一维数组 arr3[2]=new int[2];//第三行是一个有2个元素的一维数组

    冒泡排序法

             *比较相邻的元素。如果第一个比第二个大,就交换他们两个。

             *对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

             *针对所有的元素重复以上的步骤,除了最后一个。

            *持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    for(int i=0;i<arr.length-1;i++)//执行的轮数length { for(int j=0;j<arr.length-1-i;j++)//每轮执行的次数 { //比较相邻的元素。如果第一个比第二个大就交换他们两个 if(arr[j]>arr[j+1]) { int temp=0; temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } for(int x:arr)//加强for循环 { System.out.println(x); }

      

    转载请注明原文地址: https://ju.6miu.com/read-3912.html

    最新回复(0)