一、数组的定义和访问

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出来的一般都是是引用类型)

最新文章

  1. ASP.NET MVC 项目中 一般处理程序ashx 获取Session
  2. gulp详细入门教程-gulp demo download
  3. 3Dmax 创建物体
  4. Ext.String 方法
  5. ViewPager切换大量Fragment不刷新的问题
  6. php获取mac用于网站绑定服务器
  7. VBA基础——循环语句
  8. 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例(原创)
  9. 剑指Offer-数组中重复的数字
  10. docker安装+测试环境的搭建---
  11. js基础--javaScript数据类型你都弄明白了吗?绝对干货
  12. 超有料丨小白如何成功逆袭为年薪30万的Web安全工程师
  13. Docker CE安装
  14. css预处理器:Sass LASS Stylus
  15. matlab中变量问题——readonly 索引超出矩阵维度 workspacefunc 215
  16. February 8th, 2018 Week 6th Thursday
  17. 交叉熵的数学原理及应用——pytorch中的CrossEntropyLoss()函数
  18. MySQL 环境搭建之解压方式安装
  19. hasattr getattr setattr delattr --> (反射)
  20. Navicat premiu的导入和导出

热门文章

  1. 萌新码农的第一篇:MarkDown的使用方法
  2. 云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
  3. 使用KubeOperator安装k8s集群后,节点主机yaml文件路径
  4. nsis新插件:Aero.dll
  5. C++ 右值引用与 const 关键字
  6. P5431 【模板】乘法逆元 2
  7. 二叉树及其三种遍历方式的实现(基于Java)
  8. CAN随机度测试
  9. 基于雪花算法的增强版ID生成器
  10. [leetcode]95.不同的二叉搜索树