数组加强

数组操作

冒泡排序

引入冒泡排序:比如双色球彩票开奖号码:
在这里插入图片描述

  • 现在有一个数组:
    希望写一段代码:执行完毕之后,上面的数组中的数据变成从小到大的排序,怎么写?
    1.观察手动排序,如果数据量太大,数据值也比较大,就很难去比较大小了
    2.希望有一个严谨的比较规则:先相邻的两个格子进行比较,把较大的放在靠后的位置
    3.代码实现
在这//第一次
if(a[0] > a[1]){
      int t = a[0];
      a[0] = a[1];
       	  a[1] = t;
}
//第二次
if(a[1] > a[2]){
      a[1] = a[2];
      a[2] = t;
}
第三次
第四次
      int t = a[1];里插入代码片
      优化上面代码,使用for 循环

4上面的代码只能排列数组长度为 6 的数组,我们希望是任意数组的长度怎么做
数组变量.length
这就是 冒泡排序

Arrays工具类&API文档的使用

class Tools{
static void print(int[] arr){  ....        }
static void maoPao(int[] arr){  ....        }
static void erFen(int[] arr){  ....        }
}

1.向上面的类似的类,Java已经帮我们写了;比较具有代表性的 Arrays工具类,
2.此类中放类很多Java已经写好的操作数组的工具方法,我们开始的时候直接调用就可以

  • 工具类概念
    Java开发者把经常使用的功能帮我们写好成一个类,这类里面已经实现了提供很多工具方法,供我们使用;

工具类怎么使用

假设自己有一个int数组,希望对数组中的元素进行排序(调用Arrays类中的sort方法)
API中方法的使用流程:
1.通过文档找到我们需要使用的类和方法
2.看这个方法是否有static修饰–》决定调用方式
3.看形参(调用此方法需要什么条件)
4.看结果(有些有返回值,有些没有)

现在如果看排序的结果,需要循环数组进行打印,感觉有点不爽
Arrays类里面已经提供了一个方法,类似之前写的print方法,它可以把数组转换成String 形式 进行返回—Arrays.toString(数组);

增强for循环

增强for循环的特点

1.增强for循环就是类似for循环的结构;我们叫成foreach
2.作用: 主要是用来遍历数组和集合的;
3.缺点: 没有索引,凡是涉及有索引相关操作还是用普通for循环,

增强for循环语法结构

for(源中元素类型 e : 源 ){
直接使用e就可以了
}
源 : 可以是数组或者集合(Iterable接口的实现类)
e : 形式参数,每次从源中遍历的数据,都临时存放在里面,可以在循环内部,通过e使 用到每一个元素
int[] arr = {1,2,3,4,5,6};
应用使用增强for循环 foreach遍历二维数组:
在这里插入图片描述
在这里插入图片描述

可变参数

  • 可变参数是什么?
    方法的形式参数,如果定义成可变参数的形式,
    那么当使方法传递参数的时候,允许可以传递多个! 个数可变,类型不可变
  • 可变参数使用
    在这里插入图片描述
  • 可变参数注意事项
    ①一个方法 可以有可变参数和普通参数,但是可变参数必须放到参数列表的最后;
    ②一个方法 不能有多个可变参数;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值