java中的数组操作与练习

32 阅读3分钟

1:获取数组的长度:

1.格式: 数组名.length

2.注意: length后面不要带小括号,因为length不是一个方法,而是数组中的一个属性

package array;

public class Demo02 {
  public static void main(String[] args) {
      String[] arr1 = {"奥特曼","海绵宝宝","熊出没","喜羊羊"};
      int len = arr1.length;
      System.out.println(len);

  }
}

2:索引:

1.概述:元素在数组中存储的位置

2.特点: a.索引唯一 b.索引都是从0开始的,最大索引是数组长度-1

3.注意: 我们将来操作元素,必须通过索引来操作 存数据,要指定索引 取数据,要指定索引 查数据,要指定索引

存储元素

1.格式:

 数组名[索引值] = 值 -> 将等号右边的值放到数组指定的索引位置上

package array;

public class Demo03 {
    public static void main(String[] args) {
        int[] arr = new int[3];
        arr[0] = 100;
        arr[1] = 200;
        arr[2] = 300;
        String[] arr1 = new String[3];
        arr1[0] = "蔡徐坤";
        arr1[1] = "范丞丞";
        arr1[2] = "马嘉祺";
    }
}

用键盘录入Scanner录入

package array;
import java.util.Scanner;
public class Demo04 {
    public static void main(String[] args) {
        int arr[]= new int[3];
        Scanner sc = new Scanner(System.in);
//        arr[0] = sc.nextInt();
//        arr[1] = sc.nextInt();
//        arr[2] = sc.nextInt();
        for (int i = 0; i < arr.length ; i++) {
            arr[i] = sc.nextInt();
        }
    }
}

用Random随机数录入

package array;
import java.util.Random;
public class Demo05 {
    public static void main(String[] args) {
       int arr[] = new int[3];
        Random ra = new Random();
//        arr[0] = ra.nextInt(10);
//        arr[1] = ra.nextInt(10);
//        arr[2] = ra.nextInt(10);
        for (int i = 0; i < arr.length; i++) {
            arr[i] = ra.nextInt(10);
        }

    }
}

4:获取数组中的元素:

1.地址值:
数组在内存中的身份证号,唯一标识,我们可以通过这个唯一标识到内存中准确找到这个数,从而操作这个数组中的数据

2.注意:
a.直接输出数组名,会直接输出数组在内存中的地址值
b.如果数组中没有存元素,那么直接获取索引上对应的元素也是有值的,只不过不是我们存储的数据,而是数组中的元素默认值
整数: 0
小数: 0.0
字符: '\u0000' -> 空白字符 -> 对应的int值是0
布尔: false
引用: null

package array;

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        arr[0] = 100;
        arr[2] = 300;
        arr[1] = 200;
        System.out.println(arr);
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        String arr1[] = new String[3];
        arr1[0] = "谋曹丕";
        arr1[1] = "界曹丕";
        arr1[2] = "曹丕";
        System.out.println(arr1);
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);
    }
}

arr[0] = arr1[0]

如果数组名[索引值]在等号右边就代表获取

如果数组名[索引值]在等号左边就代表存值

比如 :

a.int element = arr[0] -> 获取0索引上的元素,赋值给一个变量

b.arr[0] = 100 -> 将100存储到0索引上

c.arr[0] = arr1[0] -> 将arr1的0索引上的元素获取出来,赋值给等号左边arr的0索引上

5:遍历数组(将元素从数组中一个一个的获取出来)

package array;

public class Demo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        arr[0] = 100;
        arr[2] = 300;
        arr[1] = 200;
        System.out.println(arr);
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        String arr1[] = new String[3];
        arr1[0] = "谋曹丕";
        arr1[1] = "界曹丕";
        arr1[2] = "曹丕";
        System.out.println(arr1);
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);
        //遍历arr数组:
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        //遍历arr1数组
        //快捷键数组名.fori
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }
}
常见错误:

1:.数组索引越界异常_ArrayIndexOutOfBoundsException

原因: 操作的索引超出了数组索引范围了

2.空指针异常_NullPointerException

原因: 当一个对象为null时,再调用此对象中的其他成员