栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java数组

数组的声明与创建
  • 数据类型 [] 数组名称 = new 数据类型 [长度]

  • 数据类型 [] 数组名称 = {值,值}

  • 数组名称.length 来取得数组长度

代码分析
public class ArrayDemo01 {
    public static void main(String[] args) {
        //变量的类型   变量的名字 = 变量的值
        int[] nums;//声明一个数组
        nums=new int[10];//创建一个数组(动态初始化)
        //动态初始化   包含默认初始化
        //int[] nums=new int[10];
        //给数组中元素赋值
        nums[0]=1;
        nums[1]=4;
        nums[2]=8;
        //静态初始化   创建+赋值
        int[] a={1,2,3,4};
​
        Man[] mans={ new Man(1,1), new Man(1,3)};//?
    }
​
}
数组的四个基本点

1、其长度是确定的,数组一旦被创建,大小就是不可以改变的 2、其元素必须是相同类型,不允许出现混类型 3、数组中元素可以是任何数据类型,可以是基本数据类型,也可以是引用数据类型 4、数组变量属于引用变量,数组也可以看成是对象,数组中的每个元素可以看成是该对象的成员变 5、数组本身就是对象,数组对象本身就是在堆中。

实例
public class ArrayDemo02 {
    public static void main(String[] args) {
        int[] arr={1,3,4,5,6,7,8,9,10};//定义了一个数组并静态初始化
        //遍历数组元素
        for (int i = 0; i max){
                max=arr[i];
            }
        }
        System.out.println(max);
    }
}
增强for循环
  • 没有下标

  • 适用于打印全部数据

代码分析
public class ArrayDemo03 {
    public static void main(String[] args) {
        //int[] arrays=new int[10];
        int[] arrrays={1,2,3,4,5,6,7,8,9};
        //遍历数组中各元素
        for(int array : arrrays){
            System.out.println(array);
        }
    }
}
反转数组 代码分析
public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] arrays={1,2,3,4,5,6,7,8,9};//创建了一个数组并初始化
        int[] reverse=reverse(arrays);//定义了一个反转数组的方法,用reverse接收,将arrays传给形参
        printArray(arrays);//定义了一个打印数组的方法,实参是数组
        printArray1(reverse);//定义了一个打印反转数组的方法,实参是反转数组
        }
​
    //打印数组元素方法
    public static void printArray(int[] arrays){
        for(int i=0;i 
多维数组 
  • 多维数组,可以看成是数组的数组,比如二维数组就可以看成是一个特殊的一维数组,其每一个元素就是一个一维数组。

代码分析
public class ArrayDemo05 {
    public static void main(String[] args) {
        //多重数组  一层一层分析
        int[][] array={{1,2},{3,4},{4,5}};
        for (int i = 0; i  
Arrays类 
  • Arrays类 数组的工具类java.util.Arrays 查看JDK帮助文档

  • Arrays中的方法都是static修饰的静态方法,使用时直接使用类名进行调用,而“不用”使用对象来调用(能用对象来调用)

  • 常用功能

    1. 给数组赋值:通过fill方法 对数组排序:通过sort方法 按升序

    2. 比较数组:通过equals方法比较数组中元素值是否相等

    3. 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法的操作

    4. 打印数组:toString方法

      代码分析

      public class Demo06 {
          public static void main(String[] args) {
              int[] arr={1,3,5,4,2,6,7};
              System.out.println(Arrays.toString(arr));
              Arrays.sort(arr);//排序
              String ret=Arrays.toString(arr);//遍历数组
              //Arrays.fill();
              System.out.println(ret);
      ​
          }
      }
冒泡

  • 两层循环,外层冒泡轮数, 里层依次比较;

  • 嵌套循环 时间复杂度为O(n2)

  • 比较数组中,两个相邻的元素,如果第一个数比第二个数大,则交换他们的位置

  • 每一次比较中,都会产生 一个最大,或者一个最小的数

  • 下一轮则可以少一次排序

  • 依次循环,直到结束

代码分析
public class ArrayDemo07 {
    public static void main(String[] args) {
        int[] array={2,4,7,3,5,8};
        System.out.println(Arrays.toString(array));//打印原始数组
        int[] ret=sort(array);//调用完我们自己写的排序方法后,返回一个排序后的数组
        System.out.println("===========");
        System.out.println(Arrays.toString(ret));//打印排序后数组
​
    }
    public static int[] sort(int[] array){
        //外层循环,用来判断要走多少次
        for (int i = 0; i  
稀疏数组 
  • 稀疏数组 当一个数组中大部分元素为0,或者为同一值的数组时,就可以使用稀疏数组来保存

  • 处理方式: 记录数组一共有几行几列,有多少个不同值(有效值)

  • 把具有不同值的元素和行列及值记录在一个小规模的数组中

    有几行有几列有多少个值
    第一个元素在第几行在第几列值是多少
代码分析
public class ArrayDemo08 {
    public static void main(String[] args) {
        //1、创建一个二维数组  11*11  0:没有棋子  1:黑棋  2:白棋
        int[][] array1=new int[11][11];
        array1[1][2]=1;//初始化值
        array1[2][3]=2;
        //输出原始的数组
        System.out.println("原始的数组:");
​
        for (int i = 0; i  
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号