广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中不用第三个变量来互换两个变量的值
  • 229
分享到

Java中不用第三个变量来互换两个变量的值

2024-04-02 19:04:59 229人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

我们先看看使用第三变量的方法。(开胃菜) class Swap{ public static void main(String[] args){ int

我们先看看使用第三变量的方法。(开胃菜)


class Swap{
    public static void main(String[] args){
        int a = 3;
        int b = 5;

        int c; 
        c = a; //把a的值先存到c
        a = b; //把b存给a
        b = c; //把存在c的值倒赋给b

        System.out.println("a="+a); //a==5
        System.out.println("b="+b); //b==3
    }
}

下面是运行结果。

在这里插入图片描述

在这个方法中,我们引用了第三变量c,用c来辅助a与b的交换。

下面才是这次的正餐。

我们将介绍两种方法,准备好了吗?

(1)运用加法的性质来实现两个数的互换
那么我们先来展示代码


import java.util.Scanner;
class VariableExchange{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);          //创建扫描器
        System.out.println("请输入变量a的值");
        long a = scan.nextLong();                       //接收第1个变量值
        System.out.println("请输入变量b的值");
        long b = scan.nextLong();                       //接收第2个变量值
        System.out.println("a=" + a + "\tb=" + b );
        System.out.println("执行变量互换...");
        a = a + b; 
		b = a - b;
		a = a - b;
        System.out.println("a=" + a + "\tb=" + b );
    }
}

在这里插入图片描述

这种方法还是比较容易想到的,只是用到了加法规律,用坐标轴做辅助,还是很容易理解的。
这种方法在求和时,如果两个数的和超过了使用的数据范围,答案会出现错误。

用两个数相乘也可以实现两个数的互换,原理基本相同,在这里也就不再赘述。

(2)运用异或运算实现两个数的互换(硬菜)

首先我们需要知道,在异或运算时,会先将我们输入的数字转化成二进制,然后进行同位判断。
若同为0或同为1,则该位运算结果为 0
若一个为0,另一个为1,则该位运算结果为 1
换成一句人话:同位上相同为0,不同为 1
清楚了这个运算规律,那么我们来展示代码:


import java.util.Scanner;
class VariableExchange{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);          //创建扫描器
        System.out.println("请输入变量a的值");
        long a = scan.nextLong();                       //接收第1个变量值
        System.out.println("请输入变量b的值");
        long b = scan.nextLong();                       //接收第2个变量值
        System.out.println("a=" + a + "\tb=" + b );
        System.out.println("执行变量互换...");
        a = a ^ b;                                      //执行变量互换
        b = b ^ a;                                      //执行变量互换
        a = a ^ b;                                      //执行变量互换
        System.out.println("a=" + a + "\tb=" + b );
    }
}

在这里插入图片描述

如上,我们通过异或运算实现了不通过第三方变量交换两个数的值。

原理:在异或运算中,一个数异或另一个数(数值相等)两次,结果等于他的初始值

我们再用实例具体演示一遍

请添加图片描述

在这里我们定义a和b用来表示需要互换的两个数

我们运用性质: 一个数异或另一个数(数值相等)两次,结果等于他的初始值

在上图中第二步运算就行当于 a ^ b ^ b ,这个数值为17,我们把他赋值给了b
同理 第三步运算就相当于 b ^ a ^ a ^ b ^ b,这个数值为29,我们把他赋值给了a
这样我们就实现了 a 和 b 互换。

到此这篇关于Java中不用第三个变量来互换两个变量的值的文章就介绍到这了,更多相关Java 变量内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java中不用第三个变量来互换两个变量的值

本文链接: https://www.lsjlt.com/news/154701.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中不用第三个变量来互换两个变量的值
    我们先看看使用第三变量的方法。(开胃菜) class Swap{ public static void main(String[] args){ int ...
    99+
    2022-11-12
  • php怎么不用第三个变量交换两个变量的值
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑php不用第三个变量交换两个变量的值方法1:使用异或运算<php header("Content-type:text/html;charset=utf-...
    99+
    2019-02-25
    php 交换变量值
  • Java不使用第三方变量交换两个变量值的方法有哪些
    本篇内容介绍了“Java不使用第三方变量交换两个变量值的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题:请说出几种不使用第三方...
    99+
    2023-06-22
  • Java不使用第三方变量交换两个变量值的四种方法详解
    目录变量本身交换数值算术运算指针地址操作位运算简单总结哈喽,大家好,我是阿Q。前几天有个小伙伴去面试,被面试官的一个问题劝退了:请说出几种不使用第三方变量交换两个变量值的方法。 问题...
    99+
    2022-11-12
  • java如何交换两个变量的值
    小编给大家分享一下java如何交换两个变量的值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!交换两个变量的值public class Test...
    99+
    2023-06-27
  • php不使用中间变量怎么互换两变量的值
    互换方法:1、利用PHP提供的字符串分割函数explode()来实现,语法“$b=explode("|",$a."|".$b);$a=$b[1];$b=$b[0];”;2、利用赋值运算和加减运算来实现...
    99+
    2023-05-14
    php
  • php不使用中间变量如何互换两变量的值
    这篇文章主要介绍“php不使用中间变量如何互换两变量的值”,在日常操作中,相信很多人在php不使用中间变量如何互换两变量的值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php不使用中间变量如何互换两变量的值...
    99+
    2023-07-05
  • php怎么实现两个变量值的互换
    在PHP中,可以使用一个额外的变量来存储其中一个变量的值,然后再将其赋值给另一个变量,从而实现两个变量值的互换。以下是一个示例代码:...
    99+
    2023-08-19
    php
  • java如何在不用第三个变量的情况下交换两个字符串
    这篇文章给大家分享的是有关java如何在不用第三个变量的情况下交换两个字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如何在不用第三个变量的情况下交换两个字符串这道题就有点意思了,对吧尤其是前提条件,不使用第...
    99+
    2023-06-27
  • python怎么交换两个变量的值
    这篇文章主要介绍了python怎么交换两个变量的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python怎么交换两个变量的值文章都会有所收获,下面我们一起来看看吧。本文教程操作环境:windows7系统、P...
    99+
    2023-06-30
  • php怎么交换两个变量的值
    在PHP中,可以通过使用一个临时变量来交换两个变量的值,例如:```php$a = 1;$b = 2;$temp = $a;$a =...
    99+
    2023-10-12
    php
  • php如何交换两个变量的值
    在PHP中,可以使用一个临时变量来交换两个变量的值。具体步骤如下:```php$a = 1;$b = 2;$temp = $a;$a...
    99+
    2023-08-23
    php
  • 如何在python中交换两个变量的值
    如何在python中交换两个变量的值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
  • 如何使用php代码实现两个变量值的互换
    可以使用一个临时变量来实现两个变量值的互换。具体步骤如下:1. 定义两个变量并赋予初始值。2. 创建一个临时变量,并将其中一个变量的...
    99+
    2023-09-04
    php
  • Java不借助第三变量怎么实现两数交换
    本文小编为大家详细介绍“Java不借助第三变量怎么实现两数交换”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java不借助第三变量怎么实现两数交换”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。基操两数交换最简单...
    99+
    2023-06-29
  • Java不借助第三变量实现两数交换的示例
    目录基操进阶更进阶PS:不借助第三个变量实现两个变量的交换(数字或者字符串)基操 两数交换最简单最容易理解的就是借助第三变量 public void swapOne(){ ...
    99+
    2022-11-13
  • C语言怎么交换两个变量的值
    在C语言中,可以使用一个临时变量来交换两个变量的值。具体步骤如下:1. 声明一个临时变量temp。2. 将第一个变量的值赋给temp...
    99+
    2023-08-18
    C语言
  • 对变量赋值的理解--Pyton中让两个值互换的实现方法
    #Pyton中让两个值互换的实现方法 #方法一:可以理解为相当于是同时赋值 a = 5 b = 4 a,b = b,a print(a,b) #方法二:可以理解为拿箱子过程 c = 10 d = ...
    99+
    2022-06-04
    赋值 变量 两个
  • C#交换两个变量值的几种方法总结
    在学习.Net/C#或者任何一门面向对象语言的初期,大家都写过交换两个变量值,通常是通过临时变量来实现。本篇使用多种方式实现两个变量值的交换。 假设int x =1; int y =...
    99+
    2022-11-13
    C# 交换两个变量值 交换变量值
  • 使用python怎么实现两个变量值进行交换
    本篇文章给大家分享的是有关使用python怎么实现两个变量值进行交换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python 两个变量值交换方法一:c = ...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作