day17数组特点 数组边界 数组应用 遍历数组 多维数组创建和遍历 Arrays操作数组 冒泡排序

本文解析了Java数组的四个核心特点:固定长度、同类型元素、对象性质与内存位置。介绍了数组边界、遍历方式、多参数操作、多维数组实例,以及Arrays类提供的排序、打印和填充功能。重点讲解了冒泡排序算法和数组在实际开发中的应用场景。

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

数组的四个基本特点

  1. 长度一旦被确定创建,他的大小就是不可以改变的。
  2. 数组中的元素必须是相同类型,不能使混合型
  3. 数组类型可以是任何数据类型,包括基本类型和引用类型
  4. 数组变量属于引用类型,数组也可以看成对象。数组中每个对象i相当于该对象的成员变量。

数组本身就是对象,JAVA中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的

总结:只要是用new做标示符的,都是存在于堆中。

数组边界

下下标合法区间:[0,length-1]

数组应用

遍历数组的两种方式

for (int i = 0; i < nubs.length; i++) {
            System.out.println(nubs[i]);}
//1.5版本后才有的,但是没有下标不能操作,纯粹遍历而已
for(int nub:nubs){
            System.out.println(nub);}

多参数遍历

public static int[] fz(int[] nubs){
        //反转一个数组
        int[] nubs2 =new int[nubs.length];
        for (int i = 0,j=nubs.length-1; i < nubs.length; i++,j--) {
            nubs2[j]=nubs[i];
        }
        return nubs2;

多维数组

相当于一个数组里的元素还是数组。

创建二维数组

int[][] array_2d = {{1,2},{2,3},{34,23}}
int[][] array_2d = new int[3][2]

遍历数组

public class arraymay01 {
    public static void main(String[] args) {
        //多维数组
        int[][] array=new int[2][4];
        array[0][0]=21;
        array[0][1]=32;
        for (int i = 0; i <array.length ; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.println(array[i][j]);
            }
     }
    }
}

数组 的表示图

在这里插入图片描述

Arrays类操作数组

参考文档

排序

Arrays.sort(array) //排序

打印输出

Arrays.toString(array) //打印输出数组

填充

Array.fill(array,8);

比对数组

Arrays.equals(array,array_1)

冒泡排序

通过一轮一轮比较两个两个数的大小进行排序。

在这里插入图片描述

代码,当前一个比后一个小的时候,调整顺序。

代码表示:

package com.ckw.blog.arrays;

import java.util.Arrays;

public class arraymaopao {
    public static short[] sort(short[] nubs){
        // 拟定多少轮排序
        for (int i = 0; i < nubs.length-1; i++) {
            //开始对比两数之间的大小,然后交换顺序
            for (int j = 0; j < nubs.length-1-i; j++) {
                if(nubs[j+1]<nubs[j]){
                    short temp = nubs[j+1];
                    nubs[j+1] =nubs[j];
                    nubs[j]=temp;
                }
            }
        }return nubs;
    }

    public static void main(String[] args) {
        short[] nub= {2,123,41,321,124,12,42,32,23,21,135,34,34};
        sort(nub);
        //Arrays.sort(nub); //Arrays中也有排序的类。
        System.out.println(Arrays.toString(nub));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值