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 }