-
一维数组
-
二维数组
一、什么是一维数组?
-
存数的,可以存多个(连续的开辟多个单元)
-
数组是相同类型数据的有序集合。
-
数组内存原理
-
开辟好后产生一个地址值
-
数组占据了jvm内存中一块叫[I@5413652665]的内存地址
-
-
如何使用数组?
-
初始化
-
赋值
-
取值
-
-
数组初始化
-
其实,数组也是引用类型;
-
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程
-
初始化分类
-
静态初始化
-
动态初始化
-
-
静态初始化
-
完整格式为:数据类型[ ] 数组名 = new 数据类型[ ]{元素1,元素2,元素3…};
-
简化格式为:数据类型[ ] 数组名 = {元素1,元素2,元素3…};
-
示例代码
-
int[] array1 = new int[]{1,2,3,4,5,6,7,8,9}; int[] array2 = {1,2,3,4,5,6,7,8,9};
-
动态初始化
-
动态初始化:初始时只指定数组长度,由系统为数组分配初始值(默认值)。
-
格式:数据类型[ ] 数组名 = new 数据类型[数组长度];
-
示例代码
-
int[] array = new int[10];
-
-
两种初始化区别
-
动态初始化:手动指定数组长度,由系统给出默认初始化值。
-
数据类型[] 数组名 = new 数据类型[长度];
-
-
静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度
-
数据类型[] 数组名 = new 数据类型[]{数值1,数值2,......}
-
-
计算数组长度
-
数组名.length
-
-
-
两种初始化应用场景
-
-
-
静态初始化:如果要操作的数据需求中已经明确给出了,那么直接静态初始化。
-
-
-
-
-
动态初始化:只明确元素个数,不明确具体数值。
-
-
-
数组的赋值
-
格式
-
数组名[索引] = 数值
-
-
public class Demo1 { public static void main(String[] args) { int[] arr = new int[6]; arr[0]=11; arr[1]=22; arr[2]=66; //赋值 arr[3]=33; arr[4]=44; arr[5]=55; /* System.out.println(arr[0]); //取值 int a = arr[1]; System.out.println(a);*/ for (int i = 0;i<arr.length;i++){ //遍历取值 System.out.println(arr[i]); //直接取值 int a = arr[0]; //赋值取值 System.out.println(a); } System.out.println("===========火男========="); for (int a:arr){ //加强for取值 System.out.println(a); } }
-
*取值操作
-
增强for(jdk1.5新特性)
-
代码示例
-
for( 变量 :遍历的目标){循环体;}
-
-
格式
-
直接取值
-
System.out.println(数组名[索引]);
-
-
赋值取值
-
变量 = 数组名[索引];
-
区别
-
直接取值会将数组中的数值,直接输出到控制台
-
赋值取值,可以将取出的结果只,二次利用
-
-
-
-
二维数组
一、二维数组概述
-
二维数组是一种容器,该容器用于存储一维数组。
-
使用思路:若要操作多组数据,这些数据属于同一个大类,就可以考虑使用二维数组进行维护。
二、二维数组初始化
-
静态初始化
-
动态初始化 格式:数据类型[ ][ ] 数组名 = new 数据类型[m][n]; 其中,m 表示这个二维数组可以存放多少个一维数组,n 表示每一个一维数组可以存放多少个元素。
-
动态初始化
-
格式:数据类型 数组名 = new 数据类型m;
-
其中,m 表示这个二维数组可以存放多少个一维数组,n 表示每一个一维数组可以存放多少个元素。
-
int[][] array = new int[2][3];//该二维数组可以存放2个一维数组,每个一维数组可以存放3个元素
三、赋值操作
public static void main(String[] args) { int[][] arr = new int[2][3];; arr[2][3] = 13; }
四、二维数组取值
-
思路:
-
遍历二维数组,获取到每一个一维数组。
-
继续遍历一维数组,获取到具体的元素。
-
以下是二维数组的遍历代码:
-
public static void printArray(int[][] arr){ //遍历二维数组,获取到每一个一维数组arr[i] for (int i = 0; i < arr.length; i++) { //继续遍历获取到的一维数组arr[i] for (int j = 0; j < arr[i].length; j++) { //打印输出 System.out.print(arr[i][j]+" "); } } }
五:Arrays
一、介绍
-
现今已经学的三种引用类型之一,分别是Scanner、Radom、Arrays(都是雷锋的产物)
二、Arrays类中的静态方法
-
介绍较为常用的三种静态方法。
-
toString方法
public class arraysDemo1 { public static void main(String[] args) { int[] array = {1,5,2,6,8,9,4,3,10}; //toString方法用来打印数组的内容 //将数组按照默认格式输出为字符串 System.out.println(Arrays.toString(array)); } } //结果为:[1, 5, 2, 6, 8, 9, 4, 3, 10]
-
sort方法
-
public static void main(String[] args) { int[][] arr = new int[2][3];; arr[2][3] = 13; public class arraysDemo2 { public static void main(String[] args) { int[] array = {1,5,2,6,8,9,4,3,10}; //sort方法用来对数组内容进行升序排序 Arrays.sort(array); System.out.println(Arrays.toString(array)); } } //结果为:[1, 2, 3, 4, 5, 6, 8, 9, 10]