前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java】数组的常见操作以及数组作为方法参数和返回值

【Java】数组的常见操作以及数组作为方法参数和返回值

作者头像
陶然同学
发布2023-02-27 13:01:58
2.1K0
发布2023-02-27 13:01:58
举报
文章被收录于专栏:陶然同学博客

👀专栏介绍

【Java】 目前主要更新Java,一起学习一起进步。

👀本期介绍

本期主要介绍数组的常见操作以及数组作为方法参数和返回值

文章目录

1. 数组的常见操作

1.1 数组越界异常

1.2 数组空指针异常

1.3 数组遍历【重点】

1.4 数组获取最大值元素

1.5 数组反转

2. 数组作为方法参数和返回值

2.1 数组作为方法参数

2.2 数组作为方法返回值

2.3 方法的参数类型区别

代码分析

1. 数组的常见操作

1.1 数组越界异常

观察一下代码,运行后会出现什么结果。

创建数组,赋值 3 个元素,数组的索引就是 0 , 1 , 2 ,没有 3 索引,因此我们不能访问数组中不存在

的索引,程序运行后,将会抛出 ArrayIndexOutOfBoundsException 数组越界异常。在开发中,数

组的越界异常是 不能出现 的,一旦出现了,就必须要修改我们编写的代码。

1.2 数组空指针异常

观察一下代码,运行后会出现什么结果。

arr = null 这行代码,意味着变量 arr 将不会在保存数组的内存地址,也就不允许再操作数组了,因

此运行的时候

会抛出 NullPointerException 空指针异常。在开发中,数组的越界异常是 不能出现 的,一旦出现

了,就必须要修

改我们编写的代码。

空指针异常在内存图中的表现

1.3 数组遍历【重点】

数组遍历: 就是将数组中的每个元素分别获取出来,就是遍历。遍历也是数组操作中的基石。

以上代码是可以将数组中每个元素全部遍历出来,但是如果数组元素非常多,这种写法肯定不行,

因此我们需要改

造成循环的写法。数组的索引是 0 到 lenght - 1 ,可以作为循环的条件出现。

1.4 数组获取最大值元素

最大值获取: 从数组的所有元素中找出最大值。

实现思路:

定义变量,保存数组 0 索引上的元素

遍历数组,获取出数组中的每个元素

将遍历到的元素和保存数组 0 索引上值的变量进行比较

如果数组元素的值大于了变量的值,变量记录住新的值

数组循环遍历结束,变量保存的就是数组中的最大值

1.5 数组反转

数组的反转: 数组中的元素颠倒顺序,例如原始数组为 1,2,3,4,5 ,反转后的数组为 5,4,3,2,1

实现思想: 数组最远端的元素互换位置。

实现反转,就需要将数组最远端元素位置交换

定义两个变量,保存数组的最小索引和最大索引

两个索引上的元素交换位置

最小索引 ++ ,最大索引 -- ,再次交换位置

最小索引超过了最大索引,数组反转操作结束

2. 数组作为方法参数和返回值

2.1 数组作为方法参数

以前的方法中我们学习了方法的参数和返回值,但是使用的都是基本数据类型。那么作为引用类型

的数组能否作为

方法的参数进行传递呢,当然是可以的。

数组作为方法参数传递,传递的参数是数组内存的地址。

2.2 数组作为方法返回值

数组作为方法的返回值,返回的是数组的内存地址

2.3 方法的参数类型区别

代码分析

1. 分析下列程序代码,计算输出结果。

2. 分析下列程序代码,计算输出结果。

总结 :

方法的参数为基本类型时 , 传递的是数据值 . 方法的参数为引用类型时 , 传递的是地址值 .

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 👀专栏介绍
  • 👀本期介绍
  • 文章目录
  • 1. 数组的常见操作
    • 1.1 数组越界异常
      • 1.2 数组空指针异常
        • 1.3 数组遍历【重点】
          • 1.4 数组获取最大值元素
            • 1.5 数组反转
            • 2. 数组作为方法参数和返回值
              • 2.1 数组作为方法参数
                • 2.2 数组作为方法返回值
                  • 2.3 方法的参数类型区别
                    • 代码分析
                相关产品与服务
                腾讯云代码分析
                腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,助力维护团队卓越代码文化。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档