需求:定义一个函数交换数组中两个元素的位置。

code 1:

import java.util.*;
class Demo3
{public static void main(String[] args) {//创建一个int类型的数组int[] arr = {10,20,30,40};System.out.println("交换值之前:" + Arrays.toString(arr));//交换arr数组中角标0和1changeValue(arr,0,1);System.out.println("交换值之后:" + Arrays.toString(arr));}//数组中的值交换public static void changeValue(int[] arr , int index1 , int index2 ){int temp = arr[index1];arr[index1] = arr[index2];arr[index2] = temp;}
}

大家思考下,交换值成功吗???

code 1:运行结果:

最终的结果不知道和你们所想的一样~。。。 。 。 可是事实 结果是:交换值成功

下面我们来看下内存图就会理解了。

一图解万疑,除非你看不懂

原因分析:main()方法与changeValue()方法操作的是同一个对象。操作的是同一数组对象。所以交换值成功。

转载于:https://www.cnblogs.com/Jhaiha0/p/8465297.html

JAVA_SE基础——46.引用数据类型变量.值交换[独家深入解析]相关推荐

  1. 你真的了解引用传递与值传递吗?

    文章目录 1.方法参数的两种类型 2.方法参数的规则 3.代码验证 3.1一个方法不能修改一个基本数据类型的参数 3.2一个方法可以改变一个对象参数的状态 3.3一个方法不能让对象引用一个新的对象 4 ...

  2. 【基础算法】编程初学者入门必须掌握的算法——两值交换

    (注:本文一部分图片来源于网络,如有侵权请联系我,我将在第一时间移除相关插图) 本文目录 1.两值交换是要实现什么? 2.为什么说每一个编程人都必须掌握两值交换? 3.两值交换:初学者常走的误区 4. ...

  3. Java基础学习第十天(抽象类、值交换)

    一.抽象类 1.抽象类的应用场景 我们在描述一类事物的时候,发现该种事物确实存在着某种行为,但是这种行为目前是不具体的,那么我们可以抽取这种行为的声明,但是不去实现该种行为,这时候这种行为我们称作为抽 ...

  4. C#中的引用传递、值传递

    一.传递参数 既可以通过值也可以通过引用传递参数.通过引用传递参数允许函数成员(方法.属性.索引器.运算符和构造函数)更改参数的值,并保持该更改. 二.传递值类型参数 值类型变量直接包含其数据,这与引 ...

  5. 读书笔记丨《数据产品经理修炼手册:从零基础到大数据产品实践》丨DAY4

    日期:2022年7月24日 内容:第四章数据仓库理论与应用(p77-p104) 4.1 了解大数据基础Hadoop 一.Hadoop及三驾马车 01.什么是hadoop? Hadoop是一个分布式系统 ...

  6. 【C++11】左值引用和右值引用

    目录 一.新的类功能 1.新的默认成员函数 2.类成员变量初始化 3.强制生成默认函数的关键字default 4.禁止生成默认函数的关键字delete 二.左值和右值 1.左值和左值引用 2.右值和右 ...

  7. [转载]非常量引用的初始值必须为左值的问题

    首先,先看下面一个例子: eg.1 #include<</span>iostream> usingnamespace std; int main(){ int i =2; do ...

  8. layui数据表格(一:基础篇,数据展示、分页组件、表格内嵌表单和图片)

    表格展示神器之一:layui表格 前言:在写后台管理系统中使用最多的就是表格数据展示了,使用表格组件能提高大量的开发效率,目前主流的数据表格组件有bootstrap table.layui table ...

  9. C#基础知识1-深入理解值类型和引用类型

    C#值类型和引用类型这个概念在刚学习的时候应该就知道了.但是我们并没有深入的去理解它.越是基础知识其实才是最有用的.对代码的优化,代码质量的提升都有帮助.通过整理本文章,对很多知识也起到了巩固的作用吧 ...

最新文章

  1. 4.struts2的配置文件优先级
  2. 人脸关键点估计人头姿态
  3. iPhone的UDID与push中使用的device token的关系
  4. 向mvc controller传递json数组
  5. System.gc()调用 - 适用的场景
  6. Android_adb shell am/pm使用
  7. 关于AD7124的应用
  8. eclipse+ADT使用第三方静态库及COCOS2d问题汇总
  9. 项目2抽象基类与派生类
  10. 和信贷接入百行征信之后......
  11. 南京邮电大学壁纸计算机院,立夏 | 一大波夏日壁纸放送
  12. SpringBoot整合druid数据源,quartz定式框架
  13. 实战案例讲解:用户画像如何应用?
  14. 零输入响应和零状态响应
  15. 华为手机打开信号服务器,华为手机网络信号不稳定怎么办?华为手机网络不稳定的解决方法...
  16. css3 三角形_用尺规作直线同时平分三角形面积和周长
  17. 被尘封的故事技能点bug_12个人闯进失落的世界,发现了尘封盛世的秘密
  18. java循环队列入队出队算法_循环队列实现
  19. [20181015][模拟赛]
  20. 数据库web管理工具treesoft的安装与使用

热门文章

  1. 《Fast R-CNN》阅读笔记
  2. 对列表中k之前和之后的元素分别进行逆序
  3. Linux下辅助DNS的搭建以及远程和加密更新
  4. iphone固件降级_手机资讯:降级必备:Phone5如何下载备份SHSH文件
  5. clean,compile,build,install,package区别
  6. Cover Protocol首次对xCOVER进行回购
  7. Crust Network将于1月14日12点开始暂停HTTP版本应用
  8. SAP License:SAP 清帐函数示例
  9. 客户流失预警模型怎么做?
  10. 重磅分享:一份关于车贷的政策性文件分享