java:数组基础(一维数组、二维数组、foreach循环、内存分布)

数组基础

1、一维数组

1、1维数组的定义和初始化

1、2一维数组的内存结构

1、3一维数组的遍历

2、二维数组

2、1二维数组的定义及初始化

2、2二维数组的内存结构

2、3二维数组的遍历

3、数组“扩容”与拷贝

     参考之前博文 java:数组拷贝与“扩容”


 

1、一维数组

 

数组,是一个包含相同数据类型的集合。集合里存放的是相同类型的数据,则把这个集合称为数组。

1、1 一维数组的定义及初始化

一维数组有如下三种定义方式

(1)先声明后初始化

int arr[]; arr = new int[9];

数组中包含5个元素,每个元素的初始值都是int类型的默认值0

(2)声明的同时进行初始化方式

int arr[] = new int[]{1,2,4,56};

arr数组中包含4个元素(系统算出来的),分别是整形int 1,2,4,56(由程序控制)

(3)先声明后初始化使用的系统分配的默认值

int arr = new int[5];

系统分配了5个int大小的空间,存放5个int默认值大小的整形数字(值为0)

 

1、2一维数组的内存结构

 

 

 

1、3一维数组的遍历方式

 

一维数组有三种遍历方式:for循环遍历,foreach遍历,Arrays.toString()遍历

 

int arr[] =new int[]{1,2,4,6,8,9,0};
for (int i = 0; i <arr.length ; i++) {
    System.out.println(arr[i]);
}//for循环遍历

for (int val: arr) {
    System.out.println(val);
}//foreach循环遍历

System.out.println(Arrays.toString(arr));//Arrays.toString()遍历 

2、二维数组

 

2、1 一维数组定义及初始化方式

通俗理解就是一维数组中的每一个元素类型不再是一个基本数据类型的元素,而是一个引用数据类型,分布指向一个一维数组在堆上存储的地址。

三种初始化方式

 

//方式一
int arr[][] = {{1,2,3},{4,5,6},{7,8,9}};//或者
int [][]arr = new int[3][3];//定义了三行三列的二维数组 

//方式二
int [][]arr = new int[3][];//分别定义了每一行中的存放的元素类型,也是个一维数组
arr[0] = new int[3];
arr[1] = new int[3];
arr[2] = new int[3];

//方式三 
int [][]arr = {new int[3],new int[3],new int[3]};

2、2二维数组内存结构

 

 

2、3二维数组的遍历

二维数组的遍历方式:for循环、foreach、Arrays.deepToString()遍历

 

 int brr[][]= {{1,2,3},{4,5,6},{7,8,9}};
   for (int i = 0; i <brr.length ; i++) {
       for (int j = 0; j <brr[0].length ; j++) {
           System.out.println(brr[i][j]);
       }
   }

   for (int val[]: brr) {
       for (int value: val) {
           System.out.println(value);
       }
   }

   System.out.println(Arrays.deepToString(brr));

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

约翰兰博之西安分博

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值