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时,再调用此对象中的其他成员