建设银行网上交管网站,桥头做网站,稿定设计网页版登录,asp网站后台密码文件数组练习 将数组转化成字符串数组拷贝求数组元素的平均值查找数组中指定元素(顺序查找)二分查找冒泡排序数组逆序 将数组转化成字符串
import java.util.Arrays;public class Text1 {public static void main(String[] args) {int[] arr {5, 6, 4, 2};System.out.println(Arr… 数组练习 将数组转化成字符串数组拷贝求数组元素的平均值查找数组中指定元素(顺序查找)二分查找冒泡排序数组逆序 将数组转化成字符串
import java.util.Arrays;public class Text1 {public static void main(String[] args) {int[] arr {5, 6, 4, 2};System.out.println(Arrays.toString(arr));}}代码运行结果 这里导入了java.util包下的Arrays类其中包含了一些操作数组的常用方法.
数组拷贝
大家说下面这是不是数组的拷贝答案是不是这只是两个数组指向同一个对象
public class Text2 {public static void main(String[] args) {int[] arr{2,6,5,4};int[] arr1arr;}
}下面这段代码这才是数组的拷贝将一个数组的内容复制一份放进新的数组
public class Text2 {public static void main(String[] args) {int[] arr{2,6,5,4};int[] newarr Arrays.copyOf(arr,arr.length);System.out.println(Arrays.toString(newarr));}
}
还有一个可以将arr数组一个区间复制到新数组的方法注意范围是左闭右开
import java.util.Arrays;public class Text2 {public static void main(String[] args) {int[] arr{2,6,5,4};int[] newarr Arrays.copyOfRange(arr,0,2);System.out.println(Arrays.toString(newarr));}
}
接下来我们自己实现一个copy方法 import java.util.Arrays;public class Text2 {public static void main(String[] args) {int[] arr{2,6,5,4};int[] newarrmy_copy(arr,arr.length);System.out.println(Arrays.toString(newarr));}static int[] my_copy(int[] arr,int len){int[] newarrnew int[len];for (int i 0; i len ; i) {newarr[i]arr[i];}return newarr;}
}求数组元素的平均值
public static void main(String[] args) {int[] arr {1,2,3,4,5,6};System.out.println(avg(arr));
}public static double avg(int[] arr) {int sum 0;for (int x : arr) {sum x;}return (double)sum / (double)arr.length;
}
代码运行结果
查找数组中指定元素(顺序查找)
class Text2 {public static void main(String[] args) {int[] arr {1, 2, 3, 10, 5, 6};System.out.println(find(arr, 10));}public static int find(int[] arr, int data) {for (int i 0; i arr.length; i) {if (arr[i] data) {return i;}}return -1;}}代码运行结果
二分查找
比如我们要查找以下数组的1设置两个指针lr分别指向左右两边的元素 求中间下标所对应数组值将他与我们要查找的值进行比较如果小于我们查找的值说明我们要查找的值在mid右边lmid1如果大于我们查找的值说明我们要查找的值在mid左边rmid-1。如果等于就直接返回下标 代码演示
class Text2 {public static void main(String[] args) {int[] arr{1,2,3,4};System.out.println(erfen(arr,1));}static int erfen(int[] arr,int target){int l0;int rarr.length-1;while (lr){int mid(lr)1;if(arr[mid]target){lmid1;}else if(arr[mid]target){return mid;}else {rmid-1;}}return -1;}
}冒泡排序
import java.util.Arrays;
class Text2 {public static void main(String[] args) {int[] arr{1,2,7,54,6};my_sort(arr);System.out.println(Arrays.toString(arr));}public static void my_sort(int[] arr){for(int i0;iarr.length;i){for (int j0;jarr.length-i-1;j){if(arr[j]arr[j1]){int temparr[j];arr[j]arr[j1];arr[j1]temp;}}}}
}冒泡排序我们已经讲了很多次这里我就不赘述了如果想了解请看我的其他博文。
数组逆序
import java.util.Arrays;
class Text2 {public static void main(String[] args) {int[] arr{1,2,3,4};my_reverse(arr);System.out.println(Arrays.toString(arr));}public static void my_reverse(int[] arr){int l0;int rarr.length-1;while (lr){int temparr[l];arr[l]arr[r];arr[r]temp;l;r--;}}
}这里我们设置了两个指针一个指向第一个元素一个指向最后一个元素不断向中间靠拢一直交换两个下标所指向的元素当中间没有元素或中间有一个元素时候循环结束就是这个条件就可以用lr来控制。 代码运行结果: 更多数组相关内容请听下回讲解看到这里了不妨给博主给个三连要是想持续收听也可以关注博主 让我们一起变得更强吧大家加油 大家想复习一下数组的可以看我的另一篇博客原来这就是数组