09#数组

9.1数组的定义

  • 因为Java是强制数据类型的语言,必须要有数据类型及大小,就是存储数据的个数。

9.2JVM的内存划分

JVM内存划分

9.3一位数组的内存

一维数组的内存图

9.4一维数组的定义

  • int[ ] arr = new int[ ]{ … }
  • int[ ] arr = new int[ n ]
  • int[ ] arr = { … }

9.5一维数组的遍历

  • 循环语句

9.6一维数组获取最大值

public class Demo1 {
 public static void main(String[] args) {
  int[] arr = {1,3,5,7,9,8,6,4,2,0};
  int max = arr[0];
  for(int i = 1; i<arr.length; i++) {
   if(max > arr[i] || max == arr[i])
    continue;
   else if(max < arr[i])
    max = arr[i];
  }
  System.out.println("数组arr中的最大值是:" + max);
 }
}

9.7数组常见的异常

  • ArrayIndexOutOfBoundsException
  • NullPointerException
int[] arr = {1,2,4};
arr = null; //arr不保存地址
System.out.println(arr);

在这里插入图片描述

9.8 二维数组的定义

  • int[ ][ ] arr = new int[N][n];
  • int[ ][ ] arr = new int[N][ ];
  • int[ ][ ] arr = { {…}, … ,{…}};

9.9 二维数组的内存图

  • 二维数组中的一维数组保存的是地址值
    二维数组的内存图

9.10遍历和求和二维数组

  • for循环的嵌套
int totalSum = 0;
int groupSum = 0;
for(int i = 0; i < arr.length; i++) {
     for(int j = 0; j< arr[i].length; j++) {
          System.out.println(arr[i][j]);
          groupSum += arr[i][j];
     }
     totalSum += groupSum;
     groupSum = 0;
}

9.11随机点名器

public class Demo {
   public static void main(String[] args) {
      String[] students = {"张三","李四","王五"};
      Random ran = new Random();
      int num = ran.nextInt(students.length);
      System.out.println(students[num]);
   }
}

猜你喜欢

转载自blog.csdn.net/weixin_43660263/article/details/86516739
09