Java学习第十天 Array类的应用和冒泡排序

Array类:

(1)数组的工具类java.util.Arrays
(2)由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
(3)不懂可以查看JDK帮助文档
(4)Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用”而不是“不能")
(5)具有以下常用功能:
        给数组赋值:通过fill方法。
        对数组排序:通过sort方法,按升序。

上代码:

package array;

import java.util.Arrays;

public class Demo06 {
    public static void main(String[] args) {
        int[] a = {1,2,3,454,4,54,54,64,6,484,4,6};
        System.out.println(a);
//        打印数组
        System.out.println(Arrays.toString(a));

//          数组排序
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));

//        填充数组
        Arrays.fill(a,2,4,0);//第二个元素到第四个元素被0填充
        System.out.println(Arrays.toString(a));
    }
}

更多可以了解:

Java基础Arrays类_嘟嘟的程序员铲屎官的博客-CSDN博客_java的array类 

感谢。

冒泡排序 :

先看个动图:

首先、这是一个数组,两个数两个数的进行比较,小的赋值给大的数,依次类推,完成排序,这个就是冒泡排序的原理。

而且,Java中 两个变量值交换是需要一个中间变量的。

冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知。 

我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为0(n2)。

上代码:

package array;

import java.util.Arrays;

public class Demo07 {
    public static void main(String[] args) {
        int [] a ={3,4,5,5,51,51,5,12,31,6};
        int[] sort = sort(a);
//        打印出数组
        System.out.println(Arrays.toString(sort));
    }

//      冒泡排序
    public static int[] sort(int[]arrays){
//        定义一个临时变量
        int  temp = 0;
        boolean flag = false;
        for(int i = 0; i < arrays.length-1; i++) {
            for (int j = 0; j <arrays.length-1-i; j++) {
                if(arrays[j+1]<arrays[j]){
//                    实现两个数值交换,要通过临时变量
//                    1.先将a[j]赋值给临时变量temp
                      temp = arrays[j];
//                      2.再将a[j+1]赋值给a[j]
                    arrays[j] =arrays[j+1];
//                    最后将temp的值(a[j])赋值给a[j+1]
                     arrays[j+1] = temp;
                     flag =true;
                }
                if(flag=false){
                    break;
                }
            }
        }
        return arrays;
    }
}

输出结果:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝麻干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值