数组的遍历

1.使用ffor循环
image.png

2.使用foreach循环
image.png

数组元素的查找

java中提供了很多库,并不需要自己去使用
1.顺序查找(线性查找)
2.二分法查找(折半查找)
image.png

  1. int[] nums = {32, 46, 54, 68, 75, 86, 88, 92, 98};
  2. int index = -1;
  3. int start = 0;
  4. int end = nums.length - 1;
  5. int middle = 0;
  6. System.out.println("eeeeeee");
  7. do {
  8. middle=(start+end)/2;
  9. if (nums[middle] == 86) {
  10. index=start;
  11. break;
  12. }
  13. if (nums[middle] < 86) {
  14. start = middle + 1;
  15. } else {
  16. end = middle - 1;
  17. }
  18. }while(start<=end);
  19. if(index!=-1){
  20. System.out.println("找到了86,数组的下标为"+index);
  21. }

数组元素的排序

Arrays类是Java中提供的一个工具类,在java.util包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等。
语法:Arrays.sort(数组名);//(按升序排列)
已知一个数组int[] nums={32,68,54,46,88,86,75,92,98],从小到大将其排序,并输出其中最大值与最小值。

  1. int[] nums = {32, 68, 54, 46, 88, 86, 75, 92, 98};
  2. Arrays.sort(nums);//(按升序排列)
  3. for (int i = 0; i < nums.length; i++) {
  4. System.out.println(nums[i]);
  5. }

二维数组

1.声明数组并分配空间
int[][] arr1=new int[10][];//第一维长度未定
int[][] arr2=new int[10][20];//第二维长度确定

虽然这两个数组的创建有区别,但系统为它们分配的堆内存空间大小是一样的

对于任何类型的二维数组而言,第一维的大小决定了二维数组对象的大小,因为二维数组的成员是数组引用,数组引用本身大小是固定的

2.赋值
int[][]arr1=new int[][]{{3,2,1},{4,6}};
arrl[0][0]=6;

3.处理数据

  1. int[][] nums={{1,2,3},{4,5,6}};
  2. System.out.println(nums.length); //2
  3. System.out.println(nums[0].length);//3
  4. for(int i=0;i<nums. length;i++){
  5. for(int j=0;j<nums[i]. length;j++){
  6. System.out.println(nums[i][j]);
  7. }
  8. }
  9. System.out.println();