数组反转(就是元素的对调)
int [] arr = {11,22,33,44,55,66};
进行三次对调,11和66,22和55,33和44.
数组长度/2=进行的次数
数组的反转
1.明确返回类型void 直接操作数组,不需要返回值
2.明确参数列表 int 【】arr
public class Arry {
public static void main(String[]args){
int []arr = {11,22,33,44,55,66};
reverArray(arr);
print(arr);
}
public static void reverArray(int []arr){
for(int i=0;i<arr.length/2;i++){
//arr[0]和arr[arr.length-1-0]进行交换
//arr[1]和arr[arr.length-1-1]进行交换
//arr[2]和arr[arr.length-1-2]进行交换
//。。。。。。可以看出交换的索引都为-1-i
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
}
//没有打印,进行数组遍历
public static void print(int []arr){
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
数组查表法(根据键盘录入索引,查找对应星期)
根据索引返回对应的星期
1.返回值类型char
2.明确参数列表 int week
public static char getWeek(int week){
char[]arr = ('_','一','二','三','四','五','六','日');
return arr[week];
}//其中'_'为空索引,从0开头,为了使文字和所以对应
Scanner sc = new Scanner(System.in);
int week = sc.nextInt();
System.out.println("星期"+getWeek(week));
数组元素查找(查找指定元素第一次在数组中出现的索引)
案例:
查找元素索引:
1.返回值类型
2.明确参数列表int 【】arr,int value
public static int getIndex(int []arr,int value){
for(int i =1;i<arr.length;i++){ //数组的遍历
if(arr[i]==value){ //如果数组中的元素与查找的元素匹配
reutrn i;
}
}
return -1; //如果在for循环中报错,for循环为满足条件执行,有不满足条件情况,就不会执行,就会没有返回值。
}
int []arr = {};
int index = getIndex(arr,88);
System.out.println(intdex);
二维数组:
B:int[][]arr = new int[][];
C:二维数组格式1的解释
D:注意事项
a:以下格式也可以表示二维数组
1.数据类型 数组名[][] = new 数据类型[m][n];
2.数据类型 [] 数组名[] = new 数据类型[m][n];
B:注意下面定义区别
int x;
int y;
int x,y;
int []x;
int []y[];
int []x,y[];
E:案例演示
定义二维数组,输出二维数组名称,一维数组名称,一个元素
int [] []arr = new int[3][2];
//有3个一维数组,每个一维数组有2个元素
System.out.println(arr);
System.out.println(arr[0]); //第一个一维数组
System.out.println(arr[0][0]); //第一个一维数组这种的第一个元素
画图表示(二维数组内存图)
略
int [][]arr = new int[3][];//三个一维数组都没有被赋值
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
arr[0]=new int[3];//第一个一维数组可以存3个int值
arr[1]=new int[5];//第二个一维数组可以存五个int值
arr[2]=new int[4];//第三个一维数组可以存4个int值
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
int [] [] arr = {{1,2,3},{4,5},{6,7,8,9}};
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[0][0]);
二维数组遍历:
int [][] arr = {{1,2,3},{4,5},{6,7,8,9}};
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
A:案例演示:
需求:公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
int [][] arr = {{22,44,66},{77,33,88},{11,66,99}};
int sum=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum = sum+arr[i][j];
}
}
System.out.println(sum);