冒泡排序
如何实现数字升序排序?
每次比较相邻两数
小的交换到前面
每轮结束后最大的数交换到最后
用二重循环将5个数字升序排序
5个数字如何存放
数组,数组.length = 5
控制比较多少轮
外层循环,循环变量 i
控制每轮比较多少次
内层循环,循环变量 j
交换数据
使用Arrays为数组排序
java.util包提供的工具类
Arrays类提供操作数组的方法,如:排序、查询
Arrays类的sort()方法: 对数组进行升序排列
Arrays.sort(数组名);
方法名称 | 说明 |
---|---|
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中的下标(要求数组中元素已经按升序排列) |
多维数组
三维及以上的数组很少使用
主要使用二维数组
从语法上Java支持多维数组
从内存分配原理的角度讲,只有一维数组
二维数组
<数据类型>
[][]
数组名; 或者 <数据类型> 数组名[ ][ ]
;
语法
int [ ][ ] scores; //定义二维数组 scores=new int[5][50]; //分配内存空间 //或者 int [ ][ ] scores = new int[5][50]; //定义二维数组时,要定义最大维数 //二维数组实际上是一个以一维数组做为元素的一维数组
二维数组定义
写法一:
int scores=new int{ { 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 }};
写法二:
int scores = {{ 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 } };