您的位置 首页 java

《JavaSE基础》第13篇:数组

Java中数组的定义

 数组是一组相同数据类型的数据的集合,数组中的每一个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致,每个数组元素可以通过一个下标来访问。
    
优点:查询或检索某个下标的元素时,效率极高
缺点:在数组上进行增删操作时,效率低,会涉及到元素向前或向后位移

数组的定义格式:
    数据类型[] 数组名 = new 数据类型[容量];
    数据类型[] 数组名 = {数组元素};  

数组中的注意事项

 关于数组需要注意的几点:
    1.数组属于引用数据类型
    2.数组名是定义的变量名,容量是该数组中可以容纳的数组元素的个数,容量一旦确定不可更改
    3.数组中每个元素都有一个索引,也叫下标,下标从"0"开始,访问数组中的元素可以通过"数组名[下标]"的形式。数组中最小的索引是0,最大的索引是"数组的长度-1",超出范围是无效的
    4.为获得数组的长度,提供一个"length"属性。通过"数组名.length"的方式,获取元素的个数,即数组的长度

如果下标越界会报异常:
    ArrayIndexOfBoundsException
    数组下标越界异常  

数组的内存分析

引用数据类型补充

 开发中引用数据类型
    用于保存其他内存空间的首地址,保存地址之后,CPU可以通过对应的引用数据类型,得到相应的地址,从而访问地址对相应的内存空间  

数组和循环的使用

 /*
获取数组容量的方式:
    数组名.length 属性
*/找出最大值:
public class Demo {
   public static void main(String[] args) {
       //创建一个数组
       int[] arrays = {1,2,3,4,5};
       
       //首先假设数组下标为0的元素最大,再去循环比较
       int max = arrays[0];
       
       for (int i = 1; i < arrays.length; i++) {
           if (arrays[i] > max) {
               max = arrays[i];
          }
       }
       System.out.println("数组中的最大值是:" + max);
  }
}  

数组地址转移问题

 public static void main(String[] args) {
        int[] arr1 = new int[10];
        int[] arr2 = new int[10];
        
        arr1[5] = 100;
        arr2[5] = 500;
        
        System.out.println(arr1[5]);//100
        System.out.println(arr2[5]);//500
        
        arr1 = arr2;
        arr1[5] = 2000;
        
        System.out.println(arr1[5]);//2000
        System.out.println(arr2[5]);//2000
    }  

数组和方法之间的关系

 //Java中如何使用数组成为方法的参数,以及使用方法
public static void main(String[] args) {}

格式:
    public static 返回值类型 方法名(arrayType[] arrayName)
    arrayName是一个数组类型的变量,引用数据类型  
 class Demo {
    public static void main(String[] args) {
        //定义一个int类型的数组
        int[] array = new int[10];
        //给数组赋值
        assginIntArray(array);
        //获取数组中的元素
        printIntArray(array);
    }
    
    /*需求:给一个Int类型的数组赋值
        方法分析:
            public static
            返回值:
                void
            方法名:
                assginIntArray
            形参列表:
                int[] arr
        public static void assginIntArray(int[] arr)
    */    public static void assginIntArray(int[] arr) {
        for(int i = 0; i < arr.length; i++) {
            arr[i] = i + 1;
        }
    }
    
    /*需求:获取一个int类型的数组元素
        方法分析:
            public static
            返回值:
                void
            方法名:
                printIntArray
            形参列表:
                (int[] arr)
        public static void printIntArray(int[] arr)
    */    public static void printIntArray(int[] arr) {
        for(int i = 0; i < arr.length; i++) {
            System.out.println("array[" + i + "]=" + arr[i]);
        }
    }
}  

Arrays类

 在Java中提供了一个数组的工具类"java.util.Arrays",Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用。

常用方法:
   //对数组排序,按照升序,再次遍历数组时,展示为升序排列
   sort(int[] arr)
   
   //打印数组元素
   toString(任何数据类型)
   
   //查找数组元素,能对排序好的数组进行二分查找法操作
   binarySearch(int[] asrr, int find)  

二分查找法

文章来源:智云一二三科技

文章标题:《JavaSE基础》第13篇:数组

文章地址:https://www.zhihuclub.com/174958.shtml

关于作者: 智云科技

热门文章

网站地图