数组

一,一维数组

  数组是用来存储一组相同数据类型数据的数据结构。当数组初始化完成后,Java为数组在内存中分配一段连续的空间,此时数组空间固定,长度就不在发生改变。即使数组中没有保存数据,数组所占空间依然存在。

  1,数组声明 数据类型 数组(对象)名;

  2,数组对象创建 对象名=new 数据类型[长度]

  3,数组元素赋值 对象名[下标]=值;

  4,数组使用 遍历

  ★数组声明三方法:

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

    2.数据类型[] 数组名={值,值,值……}

    3.数据类型[] 数组名=new 数据类型[]{值,值,值,……}

  ★遍历的两种方式

    1.for循环

      for(初始量;条件;迭代){

        遍历操作

      }

    2.增强for循环

      for(数据类型 i 变量名:nums数组名){

        System.out.println(i)

      }

    ★,相当于 把数组nums里的元素依次存入变量i 中,再依次遍历打印。

二,排序

  1.冒泡排序

   从第一依次两两相比,最大的右移

    public static void main(String[] args) {

      //聲明數組

      int[] a={2,5,6,3,8,34,23,15,17};

      //外層第幾輪數

      for(int i=1;i<a.length;i++){

      //內層,這輪比幾次,次數

      for(int j=1;j<a.length-i;j++){

        if(a[j]>a[j+1]){

          int temp=a[j+1];

          a[j+1]=a[j];

          a[j]=temp;

        }

      }

    }

      for (int c : a) {

        System.out.print(c+" ");

      }

    }

  2.选择排序

  从每轮第一依次和后面所有相比,最小的左移

    //聲明數組

    int[] a={2,5,6,3,8,34,23,15,17};

    for(int i=1;i<a.length;i++){

      for(int j=i;j<=a.length-1;j++){

        if(a[i-1]>a[j]){

          int temp=a[i-1];

          a[i-1]=a[j];

          a[j]=temp;

        }

      }

    }

三,常用Arrays

  Arrays.equals(a1,a2);        比较两个数组是否相等

  Arrays.sort(a1);          对数组a1元素升序排列

  Arrays.toString(a1);         将数组a1转换成一个字符串

  Arrays.fill(a1,13);        对数组a1所有元素都赋值为13

  Arrays.copyOf(a1,6长度);      把数组a1复制成长度为6的新数组

  Arrays.binarySearch(a1,8);      查询8在数组a1中的下标

四,二维数组

  int[ ][ ] nubs=new int[5][3];

  int[ ][ ]  scores;

  scores=new int [5][3];

  int[ ] [ ] scores=new int [ ] [ ]{{90,87,99,56,74},{57,78,59},{100,93,76}};

    int scores[ ][ ]={{90,87,99,56,74},{57,78,59},{100,93,76}};

原文地址:https://www.cnblogs.com/kide1412/p/10882814.html