初学JavaDay06——数组

初学JavaDay06——数组

一、数组的基础知识

数组用是来存储数据的集合
数组在内存中是如干个大小一致,类型一样,地址连续的存储空间
如何访问数组中的元素?
直接使用角标、数组、下标访问元素
java中内存的分布情况

寄存器
本地方法区:存储操作系统的部分代码
方法区:存储应用程序的代码
栈内存:运行函数代码
堆内存:存储对象的

二、创建数组

格式

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

例如:new sanner中的new是创建对象

三、数组的定义

数据类型[] 数组名=new 数据类型[lenght]
创建一个指定长度的数组,里面没有数据,是默认值(但凡在堆内存中的数据都有默认初始化数值)
eg:int[] arr=new int[5];

//创建一个整形数组(int)且长度为5 然后将这个对象的地址给变量arr arr的

//[]指的一维数组

//arr中存放的第一数字的地址(拿到第一个的地址就可以找到后续的)

四、数组的大小和默认值

当创建数组后,它的元素被赋予默认值。

数值型的基本数据类型为0

char默认值是‘\u0000’

boolean默认值为false

五、如何访问数组?

数组元素可以通过下标访问。数组下标是基于 0的,也就是说,其范围从 0 开始到 数组的长度-1结束。
基本格式:
数组引用交量[下标];
创建数组后,下标变量与正常变童的使用方法相同。

六、数组的初始化语法

Java 有一个简捷的标记,称作数组初始化语法,它使用下面的语法将声明数组、创建数 组和初始化数组结合到一条语句中:
元索类型[] 数进引用变量={值 0,值1, …,值 k}
数组初始化语法中不使用操作符 new。使用数组初始化语法时,必须将声明、创建和 初始化数组都放在一条语句中。将它们分开会产生语法错误。

七、数组的常见处理

1.数组的遍历

public static void bianli(){
        System.out.println("数组的遍历");
        int arr[]={1,2,3,4,5,6};
        for(int i=0;i=0;i--){ //逆向的遍历
            System.out.print(arr[i]+" ");
        }
        System.out.println();

2.数组的查找

2.1线性查找

public static void find(){
        System.out.println("数组的查找");
        int arr[]={6,4,8,2,3,1,9,7,5};
        int key=3;
        int index=-1;
        for(int i=0;i

2.2二分查找

 arr=new int[]{1,2,3,4,5,6,7,8,9};//二分查找
        key=8;
        int minIndex=0;
        int maxIndex=arr.length-1;
        int midIndex=(minIndex+maxIndex)/2;
        index=-1;
        while(true){
            if(arr[midIndex]>key){
                maxIndex=midIndex-1;
            }else if(arr[midIndex]maxIndex){  //当最小的大于最大的时退出(没有相应的数字)
                break;
            }
        }
        System.out.print(index);
    }  

3.数组的扩容

public static void resize(){
        System.out.println("数组的扩容");
        int[] arr=new int[]{1,2,3,4,5};
        int deitSize=-2;//-缩 +扩
        int[] newArr=new int[arr.lenght+deitSize];
        //将原先的数据放入到新数组中
        for(int i=0;i

4.数组的排序

4.1选择排序

 public static void selectedSort(){
        int[] arr={5,1,3,2,7,4,9,8,6};
        for(int i=0;iarr[j]){
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
            }
        }
        for(int i=0;i

4.2冒泡排序

 public static void bubbleSort(){
        int[] arr={5,1,3,2,7,4,9,8,6};
        //i仅仅表示轮数
        for(int i=0;iarr[j+1]){
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        for(int i=0;i

4.3插入排序

public static void insertSort(){
        int[] arr={5,1,3,2,7,4,9,8,6};
        for(int i=1;i=0&&arr[j]>e){
                arr[j+1]=arr[j];
                j--;
            }
            arr[j+1]=e;
        }
        for(int i=0;i

你可能感兴趣的:(java基础)