数组

数组的概念
一种容器,可以同时存放多个数据值

数组的特点
1.数组是一种引用数据类型
2.数组中的多个数据,类型必须统一
3.数组的长度在程序运行期间不可改变

数组的初始化:在内存当中创建一个数组,并向其中赋予一些默认值
两种常见的初始化方式:
1.动态初始化(指定长度)
2.静态初始化(指定内容)

动态初始化数组格式
数据类型[ ]数组名称=new数据类型【数组长度】;
创建时指定数组的长度
解析含义
左侧数据类型:数组当中保存的数据,全都是统一的什么类型
左侧[ ]:代表一个数组
左侧数组名称:给数组命名
右侧new:代表创建数组
右侧数据类型:必需和左侧数据类型一致
右侧【数组长度】:数组当中可以保存多少个数据
例:int[ ] array=new int[300];

静态初始化数据格式
基本格式:数据类型[ ]数组名称=new数据类型[ ]{元素1,元素2,…}
例:int[ ]array=new int[ ]{元素1,元素2,…}
省略格式:int [ ] array={元素1,元素2…}
注意:
1.虽然静态初始化没有直接说明长度,但可以由元素个数直接推算
2.动/静态基本格式初始化均可以拆成两个步骤:
int [ ]array;
array=new int[ ]{元素 }/new int[长度]

访问数组元素进行获取
直接打印数组名称,得到的是数组对应的内存地址哈希值
可以直接打印数组当中的元素,也可以将某一个元素赋值给变量然后打印
{10,20,30}当中10,20,30对应数组第0,第1,第2个元素

动态初始化数组时,其中的元素将自动拥有一个默认值,规则如下:
整数类型为0,浮点类为0.0,字符类为‘\u0000’,布尔类为false,引用类为null

Java中的内存划分:
1.栈(Stack)
存放局部变量:方法的参数或者方法{}内部的变量,方法的运行一定要在栈当中运行
作用域;一旦超出作用域,立刻在栈内存中消失
2.堆(Heap)
凡是new后的东西都在堆中存放
堆内存里的都由一个地址值:16进制
堆内数据都有默认值: 整数类型为0,浮点类为0.0,字符类为‘\u0000’,布尔类为false,引用类为null
3.方法区(Method Area):存储.class的相关信息,包含方法的信息
4.本地方法栈(Native Method Stack):与操作系统相关
5.寄存器(pc Register):与cpu相关

数组索引越界异常
访问数组元素编号并不存在:ArrayIndexOutOfBoundsException
空指针异常
所有的引用类型变量都可以赋值为null,但啥也没有
只定义数组,没有创建或数组为null会出现空指针异常NullPointException

获取数组的长度
数组名称.length
将会得到一个int数字,代表数组长度
int len=array.length
数组的长度在程序运行期间不可改变

数组的遍历输出:对数组当中的每一个元素进行逐一处理,默认方式为打印输出

一个方法可以有多个参数,不能有多个返回值,如有多个结果进行返回,可用数组做返回值类型。
数组作为方法参数,传递进去的是数组的地址值
数组作为返回值类型,返回的也是数组的地址值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值