1.数组的定义
概念 |
同一种类型数据的集合。其实数组就是一个容器。 |
数组的好处 |
可以自动给数组中的元素从0开始编号,方便操作这些元素。 |
格式1: |
元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 示例:int[] arr = new int[5]; |
格式2: |
元素类型[] 数组名 = new 元素类型[]{元素,元素,……}; int[] arr = new int[]{3,5,1,7}; int[] arr = {3,5,1,7}; |
Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因为每一片 区域都有特定的处理数据方式和内存管理方式。 |
栈内存 |
l 用于存储局部变量,当数据使用完,所占空间会自动释放。
|
堆内存 |
l 数组和对象,通过new建立的实例都存放在堆内存中。
l 每一个实体都有
内存地址值
l 实体中的变量都有
默认初始化值
l 实体不在被使用,会在不确定的时间内被
垃圾回收器回收
|
方法区,本地方法区,寄存器 |
栈,堆,方法区,本地方法区,寄存器。
栈内存:存储都是局部变量。只要是在方法中定义的变量都是具备变量。
一旦变量的生命周期结束该变量就被释放。
堆内存:存储都是实体(对象)
每一个实体都有一个首地址值。
堆内存的变量都有默认初始化值。不同类型不一样。int-0 double-0.0 boolean-false char-'\u0000'
当实体不在使用时,就会被垃圾回收机制处理。
3.二维数组
格式1:int[][] arr = new int[3][2]; |
l 定义了名称为arr的二维数组
l 二维数组中有
3个一维数组
l 每一个一维数组中有
2个元素
l 一维数组的名称分别为arr[0], arr[1], arr[2]
l 给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;
|
格式2:int[][] arr = new int[3][]; |
l 二维数组中有
3个一维数组
l 每个一维数组都是默认初始化值null
l 可以对这个三个一维数组分别进行初始化
arr[0] = new int[3]; arr[1] = new int[1]; arr[2] = new int[2]; |
格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}}; |
l 定义一个名称为arr的二维数组
l 二维数组中的有三个一维数组
l 每一个一维数组中具体元素也都已初始化
l 第一个一维数组 arr[0] = {3,8,2};
l 第二个一维数组 arr[1] = {2,7};
l 第三个一维数组 arr[2] = {9,0,1,6};
l 第三个一维数组的长度表示方式:arr[2].length;
|
练习:获取arr数组中所有元素的和。使用for的嵌套循环即可。 |
注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。 |