【Java大数据】一维数组、二维数组

一维数组

定义:可以存储多个相同数据类型元素的容器

格式一

数据类型[] 数组名=new 数据类型[元素个数/数组长度];

int[] arr=new int[3]; //指定长度为3的整型数组arr

数据类型 名称=new 初始化; //定义变量

变量定义分为声明和初始化两个过程

可以分为声明和初始化两个过程
在这里插入图片描述
通过唯一的内存地址值(数组名)来确定数组,Java会自动给数组元素进行编号(下标),从0开始。由

内存地址值和下标就能唯一确定数组里的元素—数组名[下标]。

格式二

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

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

//给定数组元素值来确定长度不用给定长度值

可以分为声明和初始化两个过程
在这里插入图片描述
格式三

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

int[] arr={1,2,3}; //给定元素值长度确定

不可以分为声明和初始化两个过程

初始化—报错,没有开辟内存空间,无法存储元素
在这里插入图片描述

New—开辟内存空间(在堆里面开辟)

数组应用
1、遍历—依次把数组元素进行输出
在这里插入图片描述

2、最值—求出数组元素的最大值和最小值
在这里插入图片描述

3、查找—给定查找数,返回数组第一次出现的下标值
在这里插入图片描述

4、排序—给元素值排列顺序 冒泡、选择
冒泡排序
在这里插入图片描述
选择排序
在这里插入图片描述
5、扩容—数组定义完成,长度无法改变—数组复制
在这里插入图片描述

Java的内存

栈:存储的是变量(暂且),当存储的内容使用完毕之后会立即清除

堆:存储的是对象,当存储的内容使用完毕之后会等到某个时刻来进行回收

方法区(面向对象)

本地方法栈(不讲)

寄存器(程序计数器)(不讲)

系统默认初始值

(byte、short、int—0)

(char—’\u0000’ \u代表以utf-16进行编码)

(long—0L)

(float—0.0F)

(double—0.0)

(boolean—false)

(引用数据类型—Null)

不是基本数据类型就是引用数据类型(String)

0x1:地址值 通过地址值找数组

两个引用指向同一块堆内存—共享

二维数组

存储元素是一维数组的数组

定义格式:

数据类型[][] 数组名 = new 数据类型[二维数组的长度/一维数组的个数][每个一维数组的长度];

int[][] arr = new int[2][3];
在这里插入图片描述
数据类型[][] 数组名 = new 数据类型[二维数组的长度/一维数组的个数][];

int[][] arr = new int[3][]; //声明3个一维数组

//初始化

arr[0] = new int[4];

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

arr[2] = {3,4,5};//没有开辟空间无法存储数据
在这里插入图片描述
数据类型[][] 数组名 = {{元素值1,元素值2,…},{元素值1,元素值2,…}…}

int[][] arr = {{1,2,3},{3,4}};
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值