一、在使用二维数组对象时,length代表长度。数组名后直接加上length(array.length),表示的是数组有几行,在指定的索引后加上length(array[0].length),表示的是该行拥有多少个元素,也就是列数。
二、使用二维数组实现打印一组数据中的最大值与最小值。
public class ArrayMaxMin {
int grades[][] = {{77,68,86,73},{96,87,89,81},{70,90,86,81}};
public int miniGrade(){
int lowGrade = grades[0][0];
for(int row = 0;row < grades.length;row++){
for(int column = 0;column < grades[row].length;column++){
if(grades[row][column] < lowGrade){
lowGrade = grades[row][column];
}
}
}
return lowGrade;
}
public int maxiGrade(){
int highGrade = grades[0][0];
for(int row = 0;row < grades.length;row++){
for(int column = 0;column < grades[row].length;column++){
if(grades[row][column] > highGrade){
highGrade = grades[row][column];
}
}
}
return highGrade;
}
public static void main(String[] args){
ArrayMaxMin a = new ArrayMaxMin();
System.out.println("最高分是: " + a.maxiGrade());
System.out.println("最低分是: " +a.miniGrade());
}
}
打印出来的结果是 最高分是:96
最低分是:68
三、操作数组的主要方法简介
1、复制数组(方法名是arraycopy()),应用实例如下:
import java.util.*;
public class ArrayCopy {
public static void main(String[] args){
int[] arr1 = {1,2,3,4,5,6};
int[] arr2 = new int[6];
System.arraycopy(arr1, 0, arr2, 0, 6);
for(int i = 0;i < arr2.length;i++){
System.out.println("arr2["+i+"] = "+arr2[i]);
}
}
}
输出结果如下:
arr2[0] = 1
arr2[1] = 2
arr2[2] = 3
arr2[3] = 4
arr2[4] = 5
arr2[5] = 6
通过结果可以发现arr2[]数组成功复制了arr1[]数组
2、排序数组(方法名sort()),Array.sort(a); a:排序数组的名称
实例如下:
import java.util.*;
public class Arraysort {
public static void main(String[] args){
String[] arr1 = new String[]{"ba","aeiq","EJI","133"};
Arrays.sort(arr1);
System.out.println(Arrays.asList(arr1));
}
}
输出的结果是:[133, EJI, aeiq, ba],Java中的String排序算法是根据字典编排顺序排序的,所有数字排在字母前面,大写字母排在小写字母前面。
3、比较数组(方法名equals()),Array.equals(arrayA,arrayB); 其中arrayA:待比较的数组名称,arrayB:待比较的数组名称;
此方法的返回值类型为boolean类型,此方法比较的内容包括数组的长度和内容,如果有一项不满足,则返回false,否则,返回true
4、搜索数组(采用方法binarySearch()方法),int i = binarySearch(a, "abc"); 其中a:搜索数组的名称,abc:需要在数组中查找的内容,此方法有一点需要注意,就是被查找的数组必须是已经排序好的,如果查到了所需的元素,则返回该元素所在数组中的位置,否则返回一个“负数”,实例如下:
import java.util.Arrays;
public class BinarySearch {
public static void main(String[] args){
String[] arrStr = {"桐柏路","西流湖","化工路","中原路"};
//byte arr[] = Arrays.sort(arrStr[],new comparator());
/*public int compare(){
}*/
int location = Arrays.binarySearch(arrStr, "西流湖");
System.out.println("西流湖是在第 " + (location + 1) + "站");
}
}
结果是:西流湖是在第 2站
5、填充数组(方法名Array.fill())
int array[] = new int[10]; Array.fill(array,11); //array:将被填充数组的名称, 上述代码实现了将数值11填充到数组a中。
实例如下:
import java.util.Arrays;
public class Arrayfill {
public static void main(String[] args){
int array[] = new int[6];
//System.out.println("输出数组元素依次是: "+"");
for(int i = 0;i < 6;i++){
Arrays.fill(array, i);
System.out.println("array["+i+"] = "+ array[i]);
}
}
}
输出结果是:
array[0] = 0
array[1] = 1
array[2] = 2
array[3] = 3
array[4] = 4
array[5] = 5
6、传递数组(实质上就是传递引用)
实例如下:
import java.util.*;
public class ModifyArray {
public static int array1[] = {1,2,3,4,5};
public static void main(String[] args){
for(int i = 0;i < array1.length;i++){
System.out.println("输出没有传值之前的数组是 " + array1[i]);
}
ModifyArray.modifyArray(array1);
//midify(array1);
}
public static void modifyArray(int array1[]){
for(int i = 0;i < array1.length;i++){
array1[i] *= 2;
System.out.println("输出传值之后的数组是" + array1[i]);
}
}
}
输出结果是:
输出没有传值之前的数组是 2
输出没有传值之前的数组是 3
输出没有传值之前的数组是 4
输出没有传值之前的数组是 5
输出传值之后的数组是2
输出传值之后的数组是4
输出传值之后的数组是6
输出传值之后的数组是8
输出传值之后的数组是10
7、冒泡法
实例如下(利用冒泡法对数组内的数字进行排序,从大到小的顺序进行输出):
public class Mopaofa {
public static void main(String[] args){
int num[] = {123,345,111,789,254};
int tem;
for(int i = 0;i < num.length-1;i++){
for(int j = 0;j < num.length-1-i;j++){
if(num[j] < num[j+1]){
tem = num[j];
num[j] = num[j+1];
num[j+1] = tem;
}
}
}
for(int i = 0;i < num.length;i++){
System.out.println("输出排序后的的数组 " + num[i]);
}
}
}
输出的结果是:
输出排序后的的数组 789
输出排序后的的数组 345
输出排序后的的数组 254
输出排序后的的数组 123
输出排序后的的数组 111
8、选择排序法(利用选择排序法对数组内的数字进行排序,从小到大的顺序进行输出)
public class xuanZePaiXu {
public static void main(String[] args) {
int[] a = { 2, 6, 4, 5, 1, 7, 3 };
for (int i = 0; i < a.length; i++) {
int temp = 0;
for (int j = i + 1; j < a.length; j++) {
if (a[i] > a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (int t : a) {
System.out.print(t + ",");
}
}
}
输出结果是:
1,2,3,4,5,6,7,