数组的基本应用
1.数组的遍历
一维数组的遍历:
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
2.数组的最值
//方法
public static int getMin(int[] arr){
//参照物
int min = arr[0] ;//假设第一个元素是最小值
//从角标1开始遍历其他元素
for(int x =1 ; x < arr.length ; x ++){
//比较
if(arr[x] < min){
min = arr[x] ;
}
}
return min ;
}
//定义一个方法
//明确返回值类型:int
//明确参数类型以及参数个数: int[] arr
public static int getMax(int[] arr){
//定义一个参照物
int max = arr[0] ;
//从角标1开始遍历其他元素
for(int x = 1 ; x < arr.length ; x ++){
//获取出来了
//分别将当前遍历的元素依次和最大值进行比较
if(arr[x] > max){
max = arr[x] ;
}
}
return max ;
}
3.数组元素逆序
//方式1:
public static void reverse2(int[] arr){
for(int start = 0 ,end = arr.length-1 ; start<end ; start ++,end --){
//start = 0 arr[start] :13 start = 1 arr[start] 87
//end = arr.length-1 arr[end] 57 end = arr.length-1-1 arr[end] :24
//中间变量互换
int temp = arr[start] ;
arr[start] = arr[end] ;
arr[end] = temp ;
}
}
//方式2:
public static void reverse(int[] arr){
int temp = arr[0];//遍历
//遍历数组:保证角标值小于数组长度/2
for(int x = 0 ; x < arr.length/2 ; x ++){
//中间变量方式互换
int temp = arr[x] ;
arr[x] = arr[arr.length-1-x] ; //后面的元素和前面的互换
arr[arr.length-1-x] = temp ;
}
}
4.数组元素查表法
import java.util.Scanner ;
class ArrayTest4{
public static void main(String[] args){
//字符串数组
String[] strs = {"星期一","星期二",
"星期三","星期四","星期五","星期 六","星期天"} ;
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//提示并录入数据
System.out.println("请您输入一个数据(0-6):") ;
int index = sc.nextInt() ;
System.out.println("你要查询的是:"+strs[index]) ;
}
}
5.,数组基本查找
public static int getIndex2(int[] arr,int key){
//假设找不到
int index = -1 ;
//遍历arr数组
for(int x = 0 ; x < arr.length ; x ++){
//获取到每一个元素
//和key进行比较
if(arr[x] == key){
//找到了,改变index的值
index = x ;
break ;
}
}
return index ;
}
数组的高级排序(冒泡排序)
两两比较,大的往后放,第一次比较完毕后,最大值就出现在最大索引处
二维数组
就是一个包含多个一维数组的数组
二维数组定义格式
数据类型[] 数组名称[];
数据类型[] [] 数组名称[][];
二维数组初始化
动态初始化:
数据类型[] [] 数组名称=new 数据类型[m] [n];
数据类型 数组名称[] []=new 数据类型[m] [n];
数据类型[] [] 数组名称=new 数据类型[m] [];
数据类型 数组名称[] []=new 数据类型[m] [];
标准格式:
数据类型[] [] 数组名称=new 数据类型[] []={{元素1,元素2…},{元素1,元素2,…},{元素1,元素2…},{元素1,元素2…},{元素1,元素2,…},{元素1,元素2…},{元素1,元素2…}…};