JAVA不使用中间变量,实现两个数的交换
交换两个变量通常会使用中间变量temp:
temp=x;
x=y;
y=temp;
那如何不使用中间变量也能实现两个变量的交换呢?
这里有两种方法:
方法1:
x=x+y;
y=x-y;
x=x-y;
这种方法虽然可以不使用中间变量,但是有溢出的风险。
方法2:
x=x^y;
y=x^y;
x=x^y;
利用异或的性质:一个数和两个相同的数异或,值不变。此方法只能适用于整形变量
总结:不使用中间变量交换两个数虽然可以实现,但是局限性比较大,因此我们再编写代码过程中大多数情况下还是会选择使用中间变量来交换两个变量的位置。
JAVA不使用中间变量,实现两个数的交换相关推荐
- 【c语言】输入两个数,交换这两个数后,再输出
<程序设计基础实训指导教程-c语言>杨莉 龚义建 科学出版社 ISBN 978-7-03-032846-5 p9 2.1.2 上机实训内容 [实训内容3] 编程实现:输入两个数,交换这两个 ...
- 用指针和函数的方法完成两个数的交换
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容6]用指针和函数的方法完成两个数的交换 传递规则:主函数 ...
- 指针,指针:分装一个函数,实现两个数的交换。 指向固定的区域
1.指针的引入 //第9行,取值运算符*,他把后面跟的内存地址中的数据"取出来": 2.指针变量的引入 什么是指针变量:存放地址的变量 什么是指针变量:存放指针的变量 指针 = 地 ...
- 实现两个数的交换(异或,加减)
1. 通常我们通过设置临时变量来实现两个数的交换,如下: void swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;} 2.还可以通过异或来实现两 ...
- 【C/C++】异或操作巧妙实现两个数的交换操作
今天在看OpenGL加载TGA格式图像用作纹理的代码时,看到关于RGB(A)顺序转换的一行代码时,捉一开始感到很困惑,后来想了想,就是实现交换操作. 原始代码: texture->imageDa ...
- (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换
(1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换 import math a = float(input('请输入直角三角形直角边a的长度:')) ...
- 实现两个数交换python_编写一个程序,用于实现两个数的交换。_学小易找答案
[判断题]定喘穴定位在胸部 (10.0分) [其它]实现实心等腰三角形图案打印输出. [其它]编写一个程序,用于实现两个数的交换. [其它]实现空心等腰三角形图案打印输出. [判断题]表寒肺热证的代表 ...
- (指针详解1)例:用函数编写两个数的交换
前言: 我们在初学c语言时都会遇到的一个题目,那就是交换两个数字的大小,我们需要定义两个变量保存两个值,再定义一个temp进行中间值保存 int temp=0: int a=10: int b= ...
- 编写一个程序,用于实现两个数的交换。
编写一个程序,用于实现两个数的交换. x=int(input("请输入数字a:\n")) y=int(input("请输入数字b:\n")) int () c= ...
最新文章
- Spring Cloud Alibaba - 24 Gateway-路由、断言(Predicate)、过滤器(Filter)初体验
- 小波的秘密10_小波包的数学支撑
- 关于CPU的12个硬核干货!
- 【iOS开发】企业版证书($299)In-House方式发布指南
- SpringBoot—自定义线程池及并发定时任务模板
- 【openMV】OpenMV4基础知识
- JavaScript中的数字型
- Unity3D基础29:消息发送
- recyclerview简单实现单选多选反选全选
- 18.海量分布式存储系统 Doris 的高可用架构设计分析
- 浅淡个人学习嵌入式Linux过程
- win10电脑IIS服务器配置ASP环境
- Windows mobile 常用功能键值对应表
- BAT添加共享打印机
- 出没干日月鸿蒙之内翻译,李白《大鹏遇希有鸟赋》原文及翻译赏析
- Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)
- 导入依赖失败,报错信息Failed to resolve: com.*.*:*:0.0.0<a href=““>Show in Project Structure dialog
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1060:均值
- oracle mysql认证考试流程_报考oraclemysql认证考试的流程是什么
- c语言控制led数码管,数码管LED
热门文章
- 重点人员动态管控系统开发方案,合成作战平台建设
- 《行为经济学》北京大学 孟涓涓
- 英雄联盟手游测试服服务器维护中,英雄联盟手游再出问题,官方发布通告,这些玩家或将无缘测试服...
- 博客推荐(屏蔽youku广告)
- 用脚本实现自动抢红包
- 网络面试100问(一)
- 一个完整的EJB Web应用(JPA示例)
- [BZOJ1583] [Usaco2009 Mar]Moon Mooing 哞哞叫(队列)
- 飞智拉伸游戏手柄新风尚, Wee 2炫奇技
- java项目:基于springboot+vue在线考试系统1013