Java——通过方法交换实参值

想写一个方法来交换main函数中的两个变量值,代码如下:

public class Test {
    public static void swap(int x,int y) {
        int tmp = x;
        x = y;
        y = tmp;
    }
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println("交换前:"+ a +" " + b);
        swap(a,b);
        System.out.println("交换后:"+ a +" " + b);
    }
}

运行结果:

解析:并未发生交换,这是因为swap()方法中只改变了形参的值,对实参未进行改变,这些交换只发生在栈上


想要改变实参值,可借用数组交换,也可利用类开辟对象空间,通过传址交换,这些交换发生在堆上

代码示例:

class MyValue{
    public int val;
}

public class Test {
    public static void swap(MyValue myV1,MyValue myV2){
        int temp = myV1.val;
        myV1.val = myV2.val;
        myV2.val = temp;
    }
    public static void main(String[] args) {
        MyValue myValue1 = new MyValue();
        MyValue myValue2 = new MyValue();

        myValue1.val = 1;
        myValue2.val = 2;

        System.out.println("交换前:" + myValue1.val + " " + myValue2.val);

        swap(myValue1,myValue2);

        System.out.println("交换前:" + myValue1.val + " " + myValue2.val);

    }

}

解析:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/635006.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

有没有软件可以监控电脑软件?监控电脑软件的系统

有没有软件可以监控电脑软件?监控电脑软件的系统 电脑软件如果不合规也会给企业带来安全危害,比如盗版软件,比如游戏软件耽误工作等,所以需要对电脑软件的监控。下面我将详细介绍几款代表性的电脑监控软件及其功能,帮…

【JAVA基础之内部类】匿名内部类

🔥作者主页:小林同学的学习笔录 🔥小林同学的专栏:JAVA之基础专栏 目录 1.内部类 1.1 概述 1.1.1 什么是内部类 1.1.2 什么时候使用内部类 1.2 内部类的分类 1.3 成员内部类 1.3.1 获取成员内部类对象的两种方式 1.3.2 经典面试…

深入pandas:导入数据表

目录 前言 第一点:导入模块 第二点:创建excel表 第三点:读取数据表 总结 前言 数据分析和处理过程中,我们经常需要从外部文件中读取数据。本文将介绍如何使用Python中的Pandas库来读取CSV和Excel文件,以及提取纯数…

v-cloak 用于在 Vue 实例渲染完成之前隐藏绑定的元素

如果你是后端开发者&#xff08;php&#xff09;&#xff0c;在接触一些vue2开发的后台时&#xff0c;会发现有这段代码&#xff1a; # CDN <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> # 或 <script src"https://cd…

Nacos启动报错:[db-load-error]load jdbc.properties error

在学习Nacos中间件时&#xff0c;出现了一个错误&#xff0c;竟然启动报错&#xff01;&#xff01;&#xff01;! 这个错误第一次遇见&#xff0c;当时我感觉大体就是--数据库连接方面的错误。 可是&#xff0c;对于初学者的我来说一脸懵啊&#xff1f;&#xff1f;&#xff…

微信小程序仿胖东来轮播和背景效果(有效果图)

效果图 .wxml <view class"swiper-index" style"--width--:{{windowWidth}}px;"><image src"{{swiperList[(cardCur bgIndex -1?swiperList.length - 1:cardCur bgIndex > swiperList.length -1?0:cardCur bgIndex)]}}" clas…

代码随想录Day 49|Leetcode|Python|● 647. 回文子串 ● 516.最长回文子序列● 动态规划总结篇

647. 回文子串 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 解题思路&#xff1a; 确认dp含义&#xff1a;dp[i][j] s[i:j]是否为回文串…

k8s 1.24.x之后如果rest 访问apiserver

1.由于 在 1.24 &#xff08;还是 1.20 不清楚了&#xff09;之后&#xff0c;下面这两个apiserver的配置已经被弃用 了&#xff0c;简单的说就是想不安全的访问k8s是不可能了&#xff0c;所以只能走安全的访问方式也就是 https://xx:6443了&#xff0c;所以需要证书。 - --ins…

工况数据导入MATLAB及数据复用

01--数据导入 之前在Matlab/Simulink的一些功能用法笔记&#xff08;二&#xff09;中有介绍过数据的导入到MATLAB工作区间 本次主要是想介绍下数据的复用 我们以NEDC工况数据为例&#xff1a; 通过下列3种方法进行导入&#xff1a; 1.通过导入Excel表数据&#xff0c;使用F…

RH850F1KM-S4-100Pin_ R7F7016453AFP MCAL Gpt 配置

1、Gpt组件包含的子配置项 GptDriverConfigurationGptDemEventParameterRefsGptConfigurationOfOptApiServicesGptChannelConfigSet2、GptDriverConfiguration 2.1、GptAlreadyInitDetCheck 该参数启用/禁用Gpt_Init API中的GPT_E_ALREADY_INITIALIZED Det检查。 true:开启Gpt_…

驱动未来:IT行业的现状与发展趋势

前言 随着技术的不断进步&#xff0c;IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链&#xff0c;这些技术正在重塑我们的生活和工作方式。本文将探讨IT行业的现状和未来发展趋势&#xff0c;并邀请行业领袖、技术专家和…

大语言模型量化方法对比:GPTQ、GGUF、AWQ 包括显存和速度

GPTQ: Post-Training Quantization for GPT Models GPTQ是一种4位量化的训练后量化(PTQ)方法&#xff0c;主要关注GPU推理和性能。 该方法背后的思想是&#xff0c;尝试通过最小化该权重的均方误差将所有权重压缩到4位。在推理过程中&#xff0c;它将动态地将其权重去量化为f…

centos7安装jdk的几种方式

一、使用Yum安装 安装OpenJDK的可以选择此方法&#xff0c;方便快捷 1. 查看是否有JDK环境 使用java命令查看 java -version 可以看到系统自带的OpenJDK版本信息&#xff0c;如果满足你现在需要配置的JDK环境&#xff0c;下面的教程可以不用看了。 ps&#xff1a;我这是虚拟机…

前端传参的三种方式

1、params 传参 参数拼接在地址 url 的后面给后台&#xff1b;地址栏中可见 案例1 地址栏&#xff1a;https://xxxxxxxx/admin/clues/detail?id558 接口代码&#xff1a; export function getClueDetail(query: any) {return request<clueItem>({url: /clues/detai…

Web Speech API(1)—— SpeechRecognition

Web Speech API 使你能够将语音数据合并到 Web 应用程序中。Web Speech API 有两个部分&#xff1a;SpeechSynthesis 语音合成&#xff08;文本到语音 TTS&#xff09;和 SpeechRecognition 语音识别&#xff08;异步语音识别&#xff09;。 SpeechRecognition 语音识别通过 S…

C语言指针相关知识(第四篇章)(非常详细版)

文章目录 前言一、什么是回调函数二、qsort函数的介绍(默认升序排序)三、qsort函数的模拟实现&#xff08;通过冒泡排序&#xff09;总结 前言 本文介绍了回调函数&#xff0c;qsort函数的使用&#xff0c;以用冒泡排序来模拟实现qsort函数 提示&#xff1a;以下是本篇文章正文…

ASP+ACCESS基于B2C电子商务网站设计

摘 要 运用ASP技术结合了Access数据库原理&#xff0c;基于B/S模式我们开发了一个网上购物系统。在我们的系统中&#xff0c;顾客可以很方便的注册成为会员&#xff0c;对商品进行浏览检索&#xff0c;查看商品的详细资料&#xff0c;然后根据各人的喜好购买心仪的商品。系统…

Day21:Leetcode513.找树左下角的值 +112. 路径总和 113.路径总和ii + 106.从中序与后序遍历序列构造二叉树

LeetCode&#xff1a;513.找树左下角的值 解决方案&#xff1a; 1.思路 在遍历一个节点时&#xff0c;需要先把它的非空右子节点放入队列&#xff0c;然后再把它的非空左子节点放入队列&#xff0c;这样才能保证从右到左遍历每一层的节点。广度优先搜索所遍历的最后一个节点…

Amesim基础篇-元件详解-流体库管路

1 流体类型选择 如下图1所示&#xff0c;流体可以选择流体库中自带的流体。常用的流体类型为50%乙二醇溶液&#xff08;EG50W50 coolant&#xff09;。 2 管路 该模型是常用的管路&#xff0c;如下图所示。如之前所讲的建模原则&#xff1a;严格遵循R-C-R-C的原则。下图中的管…

Golang | Leetcode Golang题解之第98题验证二叉搜索树

题目&#xff1a; 题解&#xff1a; func isValidBST(root *TreeNode) bool {stack : []*TreeNode{}inorder : math.MinInt64for len(stack) > 0 || root ! nil {for root ! nil {stack append(stack, root)root root.Left}root stack[len(stack)-1]stack stack[:len(s…