首先对第六天的知识做一总结和细分
1.数组的初始化
所谓的初始化就是为数组开辟内存空间,并为数组中的每个元素赋予初始值;
我们有两种方式可以实现数组初始化
a.动态初始化 只给出长度,由系统给出初始化值
b.静态初始化 给出初始化值由系统决定长度
a. 动态初始化的格式:数据类型【】数组名=new 数据类型(数组长度)
例:int 【】arr = new int(3)。
b. 静态初始化的格式: 数据类型【】数组名= new 数据类型【】{元素}
例:int 【】arr = new int【】{1,2,3};
简化格式:数据类型【】数组名 = {元素}
例:int【】arr = {1,2,3};
2.java中的内存分配
栈(存储的是局部变量)
堆(存储的是new出来的东西)
方法区
本地方法区
寄存器
栈:存储的就是局部变量,局部变量就是定义在方法中的变量,使用完毕立即回收。
int【】arr = new int 【3】;
system.out.println(arr);
system.out.println(arr【0】);
system.out.println(arr【1】);
system.out.println(arr【2】);
因为int【】arr就是main方法中的一个变量,所以它就在栈中存储;那么后面new int【3】就是在堆中存储。
堆:(1)存储的就是new出来的东西被称为实体对象。
(2)每一个对象都有默认地址值。
(3)使用完毕后会在垃圾回收器中立即回收。
3.数组的最大小值获取
public class ArrayTest {
public static void main(String[] args) {
//定义一个数组
int[] arr = {1,2,3,4,5};
//定义参照物
//int max = arr[0];
int min = arr[0];
//遍历数组,将元素与其比较
for(int x=1;x /*if(max max = arr[x]; } } System.out.println("max:"+max); */ if(min>arr[x]){ min = arr[x]; } } System.out.println("min;"+min); } 然后是了解到的新内容 4.二维数组 概念:其实就是元素为一维数组的数组。 定义格式: 数据类型【】【】数组名 初始化: 动态初始化: 数据类型 【】 【】数组名 = new 数据类型【m】【n】 m表示的是二维数组中一维数组的个数 n表示的是二维数组中元素的个数 静态初始化: 数据类型【】【】数组名 = {{元素......},{元素.....}{元素......}} package com.arraytest; public class ArrayArrayTest { public static void main(String[] args) { int[][]arr={{1,2,3},{4,5,6},{7,8,9}}; System.out.println("arr"); System.out.println("arr[0]"); System.out.println("arr[1]"); System.out.println("arr[2]"); System.out.println("--------------"); //获取元素 System.out.println("arr[0][0]"+arr[0][0]); System.out.println("arr[0][1]"); System.out.println("arr[0][2]"); System.out.println("arr[1][0]"); System.out.println("arr[1][1]"); System.out.println("arr[1][2]"); System.out.println("arr[2][0]"); System.out.println("arr[2][1]"); System.out.println("arr[2][2]"); } } 即就是二维数组配合索引可以获取到每一个一维数组,每一个一维数组配合索引可以获取到每个元素。例如我有一个二维数组arr我要获取一维数组就是arr【索引】;我要获取二维数组中的元素arr【索引】【索引】。 二维数组的遍历 package com.arraytest; /*public class ArrayArrayTest { public static void main(String[] args) { int[][]arr={{1,2,3},{4,5,6},{7,8,9}}; System.out.println("arr"); System.out.println("arr[0]"); System.out.println("arr[1]"); System.out.println("arr[2]"); System.out.println("--------------"); //获取元素 System.out.println("arr[0][0]"+arr[0][0]); System.out.println("arr[0][1]"); System.out.println("arr[0][2]"); System.out.println("arr[1][0]"); System.out.println("arr[1][1]"); System.out.println("arr[1][2]"); System.out.println("arr[2][0]"); System.out.println("arr[2][1]"); System.out.println("arr[2][2]"); } } */ 第二种写法 public class ArrayArrayTest{ public static void main(String[] args) { int[][]arr = {{1,2,3},{4,5,6},{7,8,9}}; /*for(int x=0;x System.out.println(arr[0][x]); } for(int x=0;x System.out.println(arr[1][x]); } for(int x=0;x System.out.println(arr[2][x]); } */ //简化写法 for(int y=0;y<3;y++){ for(int x=0;x System.out.println(arr[y][x]); } } } }