数组的基础知识总结

数组的定义和访问

数组定义的三种方式

方式一:

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

方式二:

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

方式三:

数据类型[] 数组名={元素1,元素2,元素3……}
数组的访问

数组的长度属性:每个数组都有长度且长度是固定的,通过语句“数组名.length”可以获得数组的长度。

索引访问数组中的元素:

①数组名 [索引]=数值,为数组中的元素赋值;

②变量名=数组名 [索引],获取数组中对应索引的元素。

内存原理

内存概述

内存是计算机中的重要原件,是临时存储区域,作用是运行程序,我们写的程序存放在硬盘中是不会运行的,必须放进内存中才会运行,运行完毕后会清空内存。

JVM的内存划分
区域名称作用
寄存器给CPU使用,与开发无关
本地方法区JVM在使用操作系统功能的时候使用,例如native修饰的内容,与开发无关
方法区存储可以运行的class文件
堆内存存储对象或数组,new来创建的,肯定都放在堆内存
栈内存方法运行时使用的内存,比如main方法的运行

栈内存的主要作用是用来运行函数的,在函数中定义的所有变量,都会在栈内存中开辟空间,并且在栈内存中定义的变量,不初始化是不能直接使用的。

JVM只运行在栈内存顶部的函数,函数被加载到栈内存中的过程被称为进栈,执行完毕从栈内存中消失的过程被称为出栈。

在程序中使用new关键字创建出来的东西,都存储在堆内存。堆内存如果开辟空间而不赋值,都会有默认的初始化数据:整数的默认值是0,小数的默认值是0.0,boolean的默认值是false,char的默认值是‘\u0000’,引用数据类型的默认值是null。

JVM在加载class文件时,所有的class文件都要被加载到方法区中。

数组中常见的异常操作

索引越界异常
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        System.out.println(arr[3]);
    }

当访问数组中不存在的索引时,就会抛出索引越界异常ArrayIndexOutOfBoundsException,此时只能改写代码。

空指针异常
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        arr = null;
        System.out.println(arr[2]);
    }

arr=null意味着arr将不再保存数组的内存地址,也就不允许再操作该数组了,因此运行时会抛出空指针异常NullPointerException,此时只能修改代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值