数组:是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组。一维数组:存储相同数据类型的数据集合。
声明:①常用 A[] arr = null; ②少用 A arr[] = null.
定义:①动态 arr = new A[length]; ②静态常用 arr = {a,b,c...}; ③静态少用 arr = new A[]{a,b,c...}.
二维数组:描述行和列的数据的数据结构(从元素组成的部分来讲:二维数组的元素就是一个一位数组)。
声明:①常用 B[][] arr = null; ②少用 B arr[][] = null.
定义:①动态 arr = new B[length][num]; (num可不写); ②静态常用 arr = {{a,b},{c,d,e}...}; ③静态少用 arr = new B[][]{{a,b},{c,d,e}...};
一维数组求最大值、最小值,并打印出对应的索引值,采用冒泡排序法。
package lesson_arr;
public class Task {
public static void main(String[] args) {
int[] arr = {84,96,53,62,77,32,5,8,96,62,96,5,24};
getMin(arr);
System.out.println();
getMax(arr);
System.out.println();
bubbleSort(arr);
}
//
求最小值
public static void getMin(int[] arr) {
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if (min > arr[i]) {//判断
min = arr[i];
}
}
System.out.println("最小值为:"+min);
System.out.print("最小值的索引值为:");
getIndex(arr, min);
}
//
求最大值
public static void getMax(int[] arr) {
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (max < arr[i]) {
//判断
max = arr[i];
}
}
System.out.println("最大值为:"+max);
System.out.print("最大值的索引值为:");
getIndex(arr, max);
}
//
求索引值
public static void getIndex(int[] arr,int num){
for (int i = 0; i < arr.length; i++) {
if (num == arr[i]) {
System.out.print(i+"
");
}
}
}
//
冒泡排序
public static void bubbleSort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {//决定排序的次数
for (int j = 0; j < arr.length-1-i; j++) {//决定每一轮比较的次数
if (arr[j]>arr[j+1]) {//判断元素大小以及交换位置
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
System.out.println("第"+(i+1)+"轮排序结果为:");
listArr(arr);
System.out.println();
}
}
//
遍历数组
public static void listArr(int[] arr) {
for(int num:arr){//增强for循环
System.out.print(num+" ");
}
}
}