Java-Day07-二维数组

一、冒泡排序法

在这里插入图片描述

public class Demo01 {
    
    
    public static void main(String[] args) {
    
    
        //1、从前向后遍历
        //2、相邻两数比较,不满足顺序则交换;
        int [] a=new int[5];
        for (int i = 0; i < a.length; i++) {
    
    
            a[i]=(int)(Math.random()*100);
        }
        System.out.println(Arrays.toString(a));
        for (int i = 0; i < a.length-1; i++) {
    
    
            boolean isChanged=false;
            for (int j = 0; j <a.length-1-i ; j++) {
    
    
            //a.length-1 为了抵消 j+1 防止数组越界
                if (a[j]>a[j+1]){
    
    
                    isChanged=true;
                    int tmp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=tmp;
                }
            }
            if (!isChanged){
    
    
                System.out.println("数组本轮没交换,已经有序,不需要继续比较");
                break;
            }
        }
        System.out.println(Arrays.toString(a));
    }
}

在这里插入图片描述

二、使用Arrays类操作数组

使用java.util.Arrays类

java.util包提供的工具类
Arrays类提供操作数组的方法,如:排序、查询
Arrays类的sort()方法: 对数组进行升序排列

  • Arrays.sort(数组名);

Arrays类

方法名称 说明
boolean equals(array1,array2) 比较array1和array2两个数组是否相等
sort(array) 对数组array的元素进行升序排列
String toString(array) 将一个数组array转换成一个字符串
void fill(array,val) 把数组array所有元素都赋值为val
copyOf(array,length) 把数组array复制成一个长度为length的新数组,返回类型与复制的数组一致
int binarySearch(array, val) 查询元素值val在数组array中的下标(要求数组中元素已经按升序排列)

三、二维数组

<数据类型> [ ][ ] 数组名; 或者 <数据类型> 数组名 [ ][ ];
定义二维数组时,要定义最大维数

二维数组与内存

在这里插入图片描述
在这里插入图片描述

二维数组的定义

在这里插入图片描述

遍历二维数组

int [][]a={
    
    1,2,3,4,5,6};
for(int i=0;i<a.length;i++){
    
    
	for(int j=0;j<a[i].length;j++){
    
    
		System.out.print(Arrays.toString(a[i]));
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43901457/article/details/112542903