编译运行实现两个变量值交换的方法

简介:

1.利用异或运行的方法

在上面已经对数据进行定义的前提下,可以通过代码

1
2
3
4
A = A ^ B; // 执行变量互换
         B = B ^ A;
         A = A ^ B;
         System.out.println( "A="  + A +  "\tB="  + B);

用异或来实现A,B两数值的交换;

从输入数值到交换数值,详细代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package  com.lixiyu;
import  java.util.Scanner;
public  class  VariableExchange {
public  static  void  main(String[] args){
     Scanner A= new  Scanner(System.in);
     System.out.println( "请输入变量A的值:" );
     Long line=A.nextLong();
     Scanner B= new  Scanner(System.in);
     System.out.println( "请输入变量B的值:" );
     Long line1=B.nextLong();
     System.out.println( "A=" +line);
     System.out.println( "B=" +line1);
     System.out.println( "执行数值转换" );
     line=line^line1;
     line1=line1^line;
     line=line^line1;
     System.out.println( "A=" +line+ "\tB=" +line1);
}
}

注意这种方法适合数值型,用Long line=A.nextLong()而不是String


2.通过定义一个第三方变量进行交换的方法

利用赋值的方法原理实现

比如要实现A、B互换:定义一个变量C,C=A;A=B;B=C;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package  com.lixiyu;
import  java.util.Scanner;
public  class  VariableExchange {
public  static  void  main(String[] args){
     String line2;
     Scanner A= new  Scanner(System.in);
     System.out.println( "请输入变量A的值:" );
     String line=A.nextLine();
     Scanner B= new  Scanner(System.in);
     System.out.println( "请输入变量B的值:" );
     String line1=B.nextLine();
     System.out.println( "A=" +line);
     System.out.println( "B=" +line1);
     System.out.println( "执行转换" );
     line2=line;
     line=line1;
     line1=line2;
     System.out.println( "A=" +line+ "\tB=" +line1);
}
}

编译运行成功(这种方法不仅适合Long型也适合其他型,如String等)

还有其它方法以后碰到再补充



本文转自lixiyu 51CTO博客,原文链接:http://blog.51cto.com/lixiyu/1302809,如需转载请自行联系原作者


相关文章
|
开发工具 iOS开发 开发者
windows电脑在线创建ios证书的教程
目前苹果官网提供的,生成ios打包证书的方法,只能使用mac电脑,通过钥匙串访问的功能,生成证书,这种方法的缺点是你必须要有苹果mac电脑才能生成证书,而一个mac电脑,少则8000多元,成本比较高。 所以我们这篇文章,在这里教会大家如何在没有mac电脑的情况下,创建ios证书
632 0
windows电脑在线创建ios证书的教程
|
网络协议 网络架构
计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)
计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)
计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)
|
消息中间件 存储 负载均衡
|
2月前
|
Linux 虚拟化 iOS开发
macOS Ventura 13.7.7 (22H722) Boot ISO 原版可引导镜像下载
macOS Ventura 13.7.7 (22H722) Boot ISO 原版可引导镜像下载
428 0
macOS Ventura 13.7.7 (22H722) Boot ISO 原版可引导镜像下载
|
2月前
|
人工智能 小程序 前端开发
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
199 0
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
|
机器学习/深度学习
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC(下)
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC
浪漫3D圣诞树特效【附源码】Merry Christmas to My Girl !
浪漫3D圣诞树特效【附源码】Merry Christmas to My Girl !
169 1
|
机器学习/深度学习 自然语言处理
“大模型+强化学习”最新综述!港中文深圳130余篇论文:详解四条主流技术路线
【4月更文挑战第17天】香港中文大学(深圳)研究团队发表综述论文,探讨大型语言模型(LLMs)与强化学习(RL)结合的四条技术路线:信息处理器、奖励设计者、决策制定者和生成器。LLMs提升RL在多任务学习和样本效率,但处理复杂环境时仍有挑战。它们能设计奖励函数,但预训练知识限制在专业任务中的应用。作为决策者和生成器,LLMs提高样本效率和行为解释,但计算开销是问题。
790 1
“大模型+强化学习”最新综述!港中文深圳130余篇论文:详解四条主流技术路线
|
人工智能 大数据 云计算
拥抱不确定性:在技术迭代中寻找平衡点
【5月更文挑战第28天】 在快速变革的技术世界里,不确定性已成为常态。本文探讨了如何在不断的技术更新与个人技能提升之间找到平衡点。通过分析技术发展的趋势,提出了适应和利用不确定性的策略,并强调了持续学习的重要性。文章旨在为技术人员提供一种心态和方法论,帮助他们在不断变化的环境中保持竞争力。
|
消息中间件 数据采集 存储
Kafka常见问题总结
会不会丢消息? Offset 怎么保存? Consumer 重复消费问题怎么处理? 如何保证消息的顺序? 数据倾斜怎么处理? 一个 Topic 分配多少个 Partiton 合适以及修改 Partiton有哪些限制?