思维导图
数组的概念
- 数组:是一组相关变量的集合
- 存储:存储一组数据类型相同的数据,长度不可变,
- 类型:属于引用数据类型(即对象)
- 可以存储基本类型数据,也可以存储引用类型数据
数组的创建和申明
- Java中的数组必须先经过初始化之后才能使用:初始化就是在内存空间中为数组分配内存空间
- Java中数组的元素必须是相同类型,不允许出现混合类型
- 数组类型可以是任何数据类型,包括基本类型和引用类型
- Java中数组是静态的,一旦初始化完成,长度就已经确定下来,无法更改
数组的申明
//第一种
int [] a,c; c也是数组
//第二种
int b [],d; d是整数
两种本质上没有什么区别,第二种容易混淆.
数组的应用
案例一
package JavaNote001;
import java.util.Arrays;
public class ArrayList001 {
public static void main(String[] args) {
// 申明的时候直接赋值
char [] s = {'a','b','c','d','e'};
int [] s1 = new int[]{1,2,3,4,5,6};
System.out.println(Arrays.toString(s));
System.out.println(Arrays.toString(s1));
}
}
/*
superme@ubuntu:~/JavaSE$ cd /home/superme/JavaSE ; /usr/local/jdk1.8/bin/java -Dfile.encoding=UTF-8 -cp /home/superme/.config/Code/User/workspaceStorage/fa5e4cfe4092c2e37bbba6cdb539eaab/redhat.java/jdt_ws/JavaSE_d995f1f1/bin JavaNote001.ArrayList001
[a, b, c, d, e]
[1, 2, 3, 4, 5, 6]
superme@ubuntu:~/JavaSE$
*/
案例二
package JavaNote001;
import java.util.Arrays;
import java.util.Scanner;
public class ArrayList002 {
public static void main(String[] args) {
// 实例化一个Scanner对象
Scanner scanner = new Scanner(System.in);
// 申明数组
int [] s;
// 给数组分配空间
s = new int [10];
// 使用循环给数组赋值
for (int i=0;i<s.length;i++){
// 通过下标索引给数组赋值
System.out.print("输入数组的第"+(i+1)+"个位置的值");
s[i] = scanner.nextInt();
}
// 使用方法打印数组的值
System.out.println(Arrays.toString(s));
}
}
/*
e37bbba6cdb539eaab/redhat.java/jdt_ws/JavaSE_d995f1f1/bin JavaNote001.ArrayList002
输入数组的第1个位置的值1
输入数组的第2个位置的值2
输入数组的第3个位置的值3
输入数组的第4个位置的值4
输入数组的第5个位置的值5
输入数组的第6个位置的值6
输入数组的第7个位置的值7
输入数组的第8个位置的值8
输入数组的第9个位置的值9
输入数组的第10个位置的值10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
superme@ubuntu:~/JavaSE$
*/
数组的迭代与访问
案例一
package JavaNote001;
public class ArrayList003 {
public static void main(String[] args) {
// 申明的时候直接赋值
char [] s = {'a','b','c','d','e'};
// 使用for循环
for (int i=0;i<s.length;i++){
System.out.println(s[i]);
}
}
}
/*
superme@ubuntu:~/JavaSE$ cd /home/superme/JavaSE ; /usr/local/jdk1.8/bin/java -Dfile.encoding=UTF-8 -cp /home/superme/.config/Code/User/paceStorage/fa5e4cfe4092c2e37bbba6cdb539eaab/redhat.java/jdt_ws/JavaSE_d995f1f1/bin JavaNote001.ArrayList003
a
b
c
d
e
superme@ubuntu:~/JavaSE$
*/
案例二
package JavaNote001;
public class ArrayList004 {
public static void main(String[] args) {
// 申明的时候直接赋值
int [] s1 = new int[]{1,2,3,4,5,6};
// 使用增强for循环
for (int x:s1){
System.out.print(x+" ");
}
System.out.println();
}
}
/*
superme@ubuntu:~/JavaSE$ cd /home/superme/JavaSE ; /usr/local/jdk1.8/bin/java -Dfile.encoding=UTF-8 -cp /home/superme/.config/Code/User/workspaceStorage/fa5e4cfe4092c2e37bbba6cdb539eaab/redhat.java/jdt_ws/JavaSE_d995f1f1/bin JavaNote001.ArrayList004
1 2 3 4 5 6
superme@ubuntu:~/JavaSE$
*/