1.什么是数组?数组的作用是什么?
数组是Java中的"数据结构"之一!所谓数据结构值得就是可以容纳多个数据的数据类型就可以称为数据结构,根据数据存储的方式和操作方式不同,Java中有很多种类的数据结构,数组只是其中之一,例如:数组、集合、树、链表、队列、栈等。
作用:简化变量的数量的定义,提高开发效率!
2.数组的创建方式有哪些?
构建数组:
(1). 动态法构建:构建数组时只声明数组长度,但是不声明每个位置具体容纳的数据
语法:变量类型[] 数组名 = new 变量类型[数组长度];
int[] a = new int[5];
(2). 静态法构建:直接构建数组,同时给数组中的每个位置直接绑定数据!
语法:变量类型[] 数组名 = {数据, 数据, 数据, 数据, 数据};
String[] b = {"小明", "小强", "小刚", "小芳", "夯大力"};
操作数组:
(1). 装值
String[] arr = new String[5];
arr[0] = "小明";
arr[2] = "小王";
arr[1] = "小红";
arr[4] = "小强";
arr[3] = "小刚";
(2). 取值
int[] a = {10, 2, 5, 4, 7};
System.out.println(a[4]);
或者:
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
3.使用数组时的注意事项?
(1). 数组由于可以容纳多个数据,所以操作数组中的数据必须借助索引,数组的索引固定从0开始递增
(2). 千万不要直接输出数组变量,因为不光不会显示数组中的数据,还会直接把数组的地址进行展示(建议使用循环对数组中的数据进行操作 --> 遍历)
4.数组扩展用法
(1). Arrays.toString(数组):直接查看数组中每个位置的数据信息!
(2). Arrays.sort(数组):将数组中所有的数据升序排列
(3). 二维数组:如何创建二维数组:只交静态法构建!
int[][] arr = {{9, 1, 3}, {5, 2, 4, 6}, {7, 8}};
System.out.println(arr[1][0]);
如何利用循环依次从二维数组中取值? ①for循环:借助索引取值!
for (int i = 0; i < arr.length; i++) { //i:表示二维数组的索引
//arr[i]:表示从二维数组中取出的一维数组!
for (int j = 0; j < arr[i].length; j++) { //j:表示一维数组的索引
System.out.print(arr[i][j] + " ");
}
System.out.println();//什么也不输出,就是为了换行!
}
②foreach循环
for (int[] a : arr) {
//先从二维数组中依次取出每一个一位数组!
for (int i : a) {
System.out.print(i + " ");
}
System.out.println();
}
5.什么是foreach循环?
foreach循环虽然本质上也是循环,但是它无法像for循环或者while循环那样自主产生指定次数的循环!他只能被动的从数组中依次循环取值
换言之:foreach循环的产生离不开数组,数组中有多少个数据,foreach循环就运行多少次!
总结:foreach循环就是为了遍历数组产生的循环结果!
语法结构:
for (变量类型 变量 : 数组) {
运行原理:每次从数组中取出一个数据赋值给变量
}
for (int i : a) {
System.out.println(i);
}
例子:
String[] b = {"小明", "小强", "小芳", "夯大力"};
for (String i : b) {
System.out.println(i);
}