数组

一、数组
1、数组:相同类型的数据集合 内存是连续的

定义:3种方法
int[] array = {1,2,3,4,5,6,7,8,9,10};
int[] array2 = new int[]{1,2,3,4,5,6,7};
int[] array3 = new int[10];
其中前两种为静态初始化,第三个是动态初始化(其默认值为0);

2、数组的使用

获取数组的长度为: array.length(length为数组的属性,不是函数)

3、遍历数组的方法:
1)、for(int i);

for(i=0;i<array.length;i++){ System.out.println(array[i]); }

2)、for each();

for(数组的里元素的类型:数组名)
for(int i : array){ System.out.println(i +" "); }

3)、Arrays.toString();

将数组以字符串形式输出

3、JVM内存区域:

在这里插入图片描述
分为:
1、Java虚拟机栈(存放局部变量)
2、本地方法栈(存放被native修饰的方法的局部变量)
native修饰的方法:本地方法
特点:底层由C或C++代码实现,java只需调用即可,速度快
3、程序计数器(存放下一条指令)
4、(存放new的对象)
5、方法区(存放已被虚拟机加载的类信息、常量、静态变量;如方法编译的字节码)

注意:

在JDK1.7之前,常量池存放在方法区
但之后存放在堆(常量池:一般存放字符串常量)

相关练习
1、数组转字符串

Arrays.toString();
int arr = {1,2,3,4,5,6}; String newArr = Arrays.toString(arr); System.out.println(newArr)
Arrays:数组操作的工具类

2、数组拷贝

1)、for();
2)、Arrays.copyof(array1,array1.length);
底层调用的是System.arraycopy();方法,会返回新的对象
3)、System.arraycopy();
参数:(原数组,开始位置,目的数组,开始位置,拷贝长度)是native方法
如:
int[] array1 = {1,2,3,4,5}; int[] array2 = new int[array1.length]; System.arraycopy(array1,0,array2,0,array1.length); System.out.println(Arrays.toString(array2))
4)、clone();
会返回新的对象
int[] array1 = {1,2,3,4,5}; int[] array2 = array1.clone(); System.out.println(Arrays.toString(array2));

二、二维数组
1、定义:

int[][] array = {{1,2,3},{4,5,6},{7,8,9}};
int[][] array3 = new int[3][4];
int[][] array4 = new int[][]{{1,2,3},{4,5,6}};
不规则数组:列数不一定都是相同的
int[][] array2 = {{1,2},{4,5,6},{7,8,9}};
int[][] array5 = new int[3][];

2、访问二维数组的方法

for(i=0;i<array.length;i++){ for(j=0;j<arry[i].length);j++){ } }

3、二维数组内存格式

在这里插入图片描述

4、java.util.Arrays;数组操作工具类

1)、Arrays.copfOf();
2)、Arrays.toString();
3)、Arrays.sort();
4)、Arrays.copyOfRange(array,2,5)按范围拷贝数组的内容;[2,5)左闭右开区间
5)、Arrays.equals(array,array2)判断两个数组的内容是否相等
6)、Arrays.fill(array,开始位置,目的位置,填充内容) 左闭右开区间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值