Java数组

来源:互联网 发布:超星尔雅网络课程答案 编辑:程序博客网 时间:2024/05/16 09:58

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

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

数组属于仅用类型,可以理解为对象(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);}


  




0 0
原创粉丝点击