数组


1、定义格式

1_1、用来存储同一数据类型的多个元素的容器

1_2、数据类型[] 变量名----推荐使用的

1_3、数据类型 变量名[]

2、数组初始化

2_1、动态初始化

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

B、我们给数组一个长度,由系统给数组分配默认值

C、int[] arr = new int[5];----new:这是在内存中申请了一个空间用来存储数据

2_2、静态初始化

A、数据类型[] arr = new 数据类型[]{元素1,元素2,...};

B、数据类型[] arr = {元素1,元素2,...};

C、我们定义数组时给定元素的值,由系统分配长度。

D、int[] arr = {1,2,3,4,5};

E、只能按照格式写  先定义变量再赋值的方式不支持

 

 

3、访问数组元素

3_1、想要拿到数组中的某个元素

A、需要知道 内存中的地址

B、以及数据所在位置的编号

3_2、数组名:

A、数组在计算机中的地址值

3_3、在数组中元素的编号

A、索引、角标、下标

B、索引是从0开始的

C、例子:int[] arr = new int[5];

1)、获取数组中的元素

Arr--地址值

2)、arr[角标]--角标 元素在数组中的位置

3)、获取数据---角标 元素在数组中的位置

4)、获取数据---arr[0];

5)、修改元素--arr[1] = 100;

4、Java中内存分配

4_1、栈

A、存储局部变量的---指定义在方法中的变量

B、用完之后立即释放---生命周期很短

4_2、堆

A、 new出来的东西  被称作对象 或者 实体

B、对象

1)、有地址值

2)、数据有默认值

a、byte short int long  0

b、float double 0.0

c、boolean false

d、引用书的类型的默认值  null

 

3)、用完之后等着垃圾回收器(一段代码)回收(GC机制)

a、生命周期长

b、频繁的new对象,占用内存。

 

4_3、方法区

A、对象的时候

B、字节码对象,静态的数据等...

4_4、本地方法区

4_5、寄存器

 

 

5、数组中常见的两个小问题

5_1、NullPointerException

A、空指针异常

B、使用不存在的指向进行了访问

 

 

5_2、ArrayIndexOutOfBoundsException

A、角标越界

B、访问了不存在的角标元素

 

 

6、数组遍历

6_1、数组属性

A、数组名.length   可以给我们提供数组的长度

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

for(int i = 0; i < arr.length;i++){

    System.out.println(arr[i]);

}

 

 

 

7、数组求最值

7_1、最大值

 

7_2、最小值

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值