java基础九 数组

为了存储同种数据类型的多个值,java中使用了数组这一概念.

------数组的含义:

在java中能存储同一种数据类型(可以是基本数据类型,也可以是引用数据类型)的多个元素的集合,也可以看成是一个容器

------数组怎么定义?

数据类型[ ] 数组名  =  new 数据类型[数组长度];

比如: int[ ] arr = new int[5];

int代表数据类型

[ ]代表的是数组,有几个[ ]就代表这个数组是几维数组

arr表示数组名,是一个合法的标识符

new表示创建一个新的实体或者对象(面向对象里面经常会用到)

后面的数字5代表数组的长度是5

------数组的初始化(为数组开辟连续的内存空间,并且为每个数组元素赋值)

数组的初始化分为 动态初始化  静态初始化

动态初始化就是定义数组时,只给出它的长度,由系统来指定它的初始值.

数据类型[ ] 数组名  =  new 数据类型[数组长度];

这里的初始值,浮点型都是0.0,布尔型是false,整型是0,字符型是Unicode编码"\u0000",

注意:char在内存中占用两个字节,是十六个进制位,每个十六进制位代表四个二进制位,所以说"\u0000"里面的每个0代表十六进制的0,每个0代表4个二进制的0

静态初始化就是给出数组的初始化值,由系统决定长度

数据类型[ ] 数组名  =  new 数据类型[ ]{元素1,元素2.....};

可以简写为数据类型[ ] 数组名  =  {元素1,元素2.....};

------为了讲后面的数组内存图,先大概讲一下java里面的内存分布

包括堆区,栈区,方法区,本地方法区以及寄存器等

堆区:存储new出来的对象或者数组

栈区:就是存储局部变量的地方(局部变量就是定义在方法声明以及方法里面的变量)

方法区:就相当于代码区,下面也包含静态区以及常量区

本地方法区:存储java里面native修饰的方法,这个和系统有关

寄存器:给CPU使用

------画一个数组的内存图(内存图是为了更好的理解代码,理解程序的流程)

数组:int[ ] array = new int[5]内存图如下 

------一维数组的遍历(依次输出数组中的每一个元素)

public static void main(String args[]) {
     //定义一个数组,这里用静态初始化
     int arr[] = {11,22,33,44,55,66};
     //用for循环遍历
     for(int i = 0;i<arr.length;i++) {		//length是数组的属性,代表数组的长度
     System.out.println(arr[i]);
}
}
------二维数组(在数组里面定义数组)
比如:int[ ][ ] array = new int[3][3];

这里的3表示这个二维数组里面有三个一维数组,2表示每个一维数组里面有三个元素
这个内存图是

------二维数组的遍历

二维数组的遍历,有两层循环,外循环控制二维数组的长度,其实就是一维数组的个数,内循环控制一维数组的长度

public static void main(String args[]) {
     //定义一个数组,这里用静态初始化
     int arr[][] = {{1,2},{1,3},{6,5,4}};
     //用双层for循环遍历
     for(int i = 0;i<arr.length;i++) {
         for(int i = 0;j<arr[i].length;j++) {
         System.out.println(arr[i][j]);
     }
     }
}
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值