1、求和

  1 int[] arr = {3,2,5,1,4};
  2
  3 int sum = 0;
  4 for(int i=0; i<arr.length; i++){
  5 	sum += arr[i];
  6 }

2、求平均值

  1 int[] arr = {3,2,5,1,4};
  2
  3 double sum = 0;
  4 for(int i=0; i<arr.length; i++){
  5 	sum += arr[i];
  6 }
  7
  8 double avg = sum / arr.length;

3、统计偶数/奇数个数

  1 int[] arr = {3,2,5,1,4};
  2
  3 int odd = 0;
  4 int even = 0;
  5 for(int i=0; i<arr.length; i++){
  6 	if(arr[i] % 2==0 ){
  7 		even++;
  8 	}else{
  9 		odd++;
 10 	}
 11 }

4、查找

  1 int[] arr = {3,2,5,1,4};
  2
  3 int findValue = ?;
  4
  5 int index = -1;
  6 for(int i=0; i<arr.length; i++){
  7     if(arr[i] == findValue){
  8         index = i;
  9         break;
 10     }
 11 }
 12 if(index==-1){
 13     System.out.println("不存在");
 14 }else{
 15     System.out.println(findValue + "的下标是" + index);
 16 }
  1 String[] names = {"张三","李四","王五"};
  2
  3 String findValue = ?;
  4
  5 int index = -1;
  6 for(int i=0; i<arr.length; i++){
  7     if(arr[i].equals(findValue)){
  8         index = i;
  9         break;
 10     }
 11 }
 12 if(index==-1){
 13     System.out.println("不存在");
 14 }else{
 15     System.out.println(findValue + "的下标是" + index);
 16 }

5、找最值

  1 int[] arr = {3,2,5,1,4};
  2
  3 int max = arr[0];//假设第一个最大
  4 //和后面的元素一一比较
  5 for(int i=1; i<arr.length; i++){
  6 	if(arr[i] > max){
  7 		max = arr[i];
  8 	}
  9 }

6、找最值下标

  1 int[] arr = {3,2,5,1,4};
  2
  3 int max = arr[0];//假设第一个最大
  4 int index = 0;
  5 //和后面的元素一一比较
  6 for(int i=1; i<arr.length; i++){
  7 	if(arr[i] > max){
  8 		max = arr[i];
  9         index = i;
 10 	}
 11 }
  1 int[] arr = {3,2,5,1,4};
  2
  3 int index = 0;//假设第一个最大
  4 //和后面的元素一一比较
  5 for(int i=1; i<arr.length; i++){
  6 	if(arr[i] > arr[index]){
  7         index = i;
  8 	}
  9 }
 10
 11 System.out.println("最大值是:" + arr[index]);

7、排序

冒泡排序:

结果:从小到大排序

(1)从左边开始把大的往右边移动

  1 int[] arr = {3,2,5,1,4};
  2
  3 for(int i=1; i<arr.length; i++){
  4     /*
  5     因为每一轮从最左边开始,int j=0;起始值
  6     i=1, j=0,1,2,3
  7     i=2, j=0,1,2
  8     i=3, j=0,1
  9     i=4, j=0
 10     j<arr.length-i
 11     */
 12     for(int j=0; j<arr.length-i ; j++){
 13         //前面的元素 > 后面的元素
 14         /*
 15         前后元素:arr[j]与[j+1]
 16         前后元素:arr[j-1]与arr[j]  因为我这里j=0开始,arr[j-1]当j=0的时候会越界
 17         */
 18         if(arr[j] > arr[j+1]){
 19             int temp = arr[j];
 20             arr[j] = arr[j+1];
 21             arr[j+1] = temp;
 22         }
 23     }
 24 }

(2)从右边开始把小的往左边移动

  1 int[] arr = {3,2,5,1,4};
  2
  3 for(int i=1; i<arr.length; i++){
  4 	/*
  5 	因为从右边开始把小的往左边移动,所以j的起始点  arr.length-1
  6 	i=1, j=4,3,2,1
  7 	i=2, j=4,3,2
  8 	i=3, j=4,3
  9 	i=4, j=4
 10 	int j = arr.length-1; j>=i; j--
 11 	*/
 12 	for(int j=arr.length-1; j>=i; j--){
 13 		//右边的元素 < 左边的元素 交换
 14 		/*
 15         右边与左边元素:arr[j]与[j-1]
 16         右边与左边元素:arr[j+1]与arr[j] 因为j的起始点arr.length-1,[j+1]会导致越界
 17         */
 18         if(arr[j] < arr[j-1]){
 19         	int temp = arr[j];
 20         	arr[j] = arr[j-1];
 21         	arr[j-1] = temp;
 22         }
 23 	}
 24 }
12-20 11:54