6.一维数组与二维数组

本文详细介绍了Java中的数组概念、特点、声明、创建、访问及操作,包括默认值、冒泡排序、查找最大值和最小值。还探讨了二维数组的创建和遍历方法,为初学者提供了清晰的教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组的概念:
    用于存储 操纵数据的集合

数组的特点:
    1.数组类型可以是任意类型(基本和引用数据类型)
     2.数组一旦创建 就必须指定类型 
    那么该数组只能存指定类型的元素
     3.数组一旦创建 其长度就已经确定 不可以改变

数组的声明:
    数组类型[]  数组名;//符合java书写习惯
     数组类型    数组名[];//符合c书写习惯

*数组的创建:

    *1.创建数组的同时初始化数组
         数组类型[] 数组名={数组元素1,...,数组元素n};
     *2.通过new关键字创建数组 同时指定数组长度
         数组类型[] 数组名=new 数组类型[长度];

        数组名[下标]=value;//动态数组赋值
     3.通过new关键字创建数组 同时初始化数组
     数组类型[] 数组名=
    new 数组类型[]{数组元素1,...,数组元素n};

*数组的访问:

        数组都是靠下标完成操作:
        最小下标:0
         最大下标: 长度-1(length())
 
         访问数组中单个元素:
                 数组名[下标]
         *遍历数组:
             通过循环将数组下标全部找到 
            根据下标获取数组中元素
 
         每个数组都要Length属性 
        获取数组元素长度 即元素的个数

默认值:

        整数都是 0     long 0L
         浮点都是 0.0      float 0.0f
         char:\u0000 空白
         boolean: false
         所有引用数据的默认值:null
        

*冒泡排序:
    冒泡排序的原理:
         每一组相邻的两个元素依次进行比较
         如果第一个元素大于第二个元素 那么交换位置
         直到没有相邻元素需要比较
    
//冒泡排序
for(int j=0;j<arr.length-1;j++){//比较趟数
    for (int i = 0; i < arr.length-j-1; i++) {//每趟比较的次数
    //相邻两个元素进行比较
    if(arr[i]>arr[i+1]){
        //交换位置
        int c=arr[i];
        arr[i]=arr[i+1];
        arr[i+1]=c;
    }
     }
}

*最大值和最小值:
    int[] arr={90,34,23,18,120};
        //假设第一个元素是最大值
        int max=arr[0];
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            //数组元素挨个和假设最大值比较
            if(max<arr[i]){
                max=arr[i];
            }
        }
        System.out.println(max);

二维数组:
    二维数组通过数组一个特点:
        数组类型可以是任意类型 数组类型本身也是数组

        二维数组也是由多个一维数组构成

    int[][] ar=new int[3][4]//三代表有三个一维数组,4代表每个一维数组中有4个元素

    创建:

        int[][] arr={{10,20},{30},{40}};
    int[][] arr=new int[二维数组长度][数组元素的长度];

    //创建二维数组
    int[][] arr={{10,20,30},{40,50},{60,70}};
    //遍历二维数组
    for (int i = 0; i < arr.length; i++) {//将二维数组拆分为一维数组获取数量
        for (int j = 0; j < arr[i].length; j++) {//将已分解的一维数组进行遍历,通过length获取单个一维数组中的元素
            System.out.println(arr[i][j]);
        }
    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值