【Java SE】Day05数组
2024-10-20 21:03:50
一、数组的定义和访问
1、初始化
- 动态new int[10];--默认值
- 静态new int[]{1,2,3};,省略为{1,2,3};
2、访问
长度arr.length属性(数组的属性)
打印数组名,得到的是内存地址哈希值
二、数组原理内存图
1、概述:程序需要在内存中 运行,结束后清空内存,故JVM需要对内存进行空间的分配和管理
2、内存划分
- 堆内存:new的对象
- 方法区:存放字节码文件
- 方法栈:调用的方法在栈中执行
- 寄存器:供CPU使用
- 本地方法栈:JVM使用操作系统时使用
三、数组的常见操作
1、常见异常及解决
- 数组越界:ArrayIndexOutOfBoundsException
- 空指针异常:NullPointerException,直接等于了null,需要进行new动态初始化
2、数组遍历
3、获取最大值
4、数组反转※
方法:定义前后双指针,满足条件时交换
四、数组作为方法参数和返回值
1、作为方法的参数
- 传递的是地址
- 方法的三要素:方法名、返回值、参数列表
2、作为方法的返回值
方法有多个返回值时,可以通过数组进行返回
3、方法参数类型的区别
- 基本类型:传递的是数据值
- 引用类型:传递的是地址(数组是new出来的对象,new出来的一般都是是引用类型)
最新文章
- ASP.NET MVC 项目中 一般处理程序ashx 获取Session
- gulp详细入门教程-gulp demo download
- 3Dmax 创建物体
- Ext.String 方法
- ViewPager切换大量Fragment不刷新的问题
- php获取mac用于网站绑定服务器
- VBA基础——循环语句
- 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例(原创)
- 剑指Offer-数组中重复的数字
- docker安装+测试环境的搭建---
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
- 超有料丨小白如何成功逆袭为年薪30万的Web安全工程师
- Docker CE安装
- css预处理器:Sass LASS Stylus
- matlab中变量问题——readonly 索引超出矩阵维度 workspacefunc 215
- February 8th, 2018 Week 6th Thursday
- 交叉熵的数学原理及应用——pytorch中的CrossEntropyLoss()函数
- MySQL 环境搭建之解压方式安装
- hasattr getattr setattr delattr -->; (反射)
- Navicat premiu的导入和导出