2019.10.8数组反转(就是元素的对调)

数组反转(就是元素的对调)

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);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值