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

简介:

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,如需转载请自行联系原作者


相关文章
IIS上实现网站朝https://www的自动跳转
我们在做网站时时常有网站朝https://www的自动跳转的需求,以便在不输入www.子域名时也可以自动跳转到我们的当前站点,本文将介绍实现网站朝https://www的自动跳转的操作。
582 0
IIS上实现网站朝https://www的自动跳转
|
存储 JSON Apache
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
在最新发布的阿里云数据库 SelectDB 的内核 Apache Doris 2.1 新版本中,我们引入了全新的数据类型 Variant,对半结构化数据分析能力进行了全面增强。无需提前在表结构中定义具体的列,彻底改变了 Doris 过去基于 String、JSONB 等行存类型的存储和查询方式。
625 1
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
|
SQL 缓存 分布式计算
数据仓库优化手册
数据仓库优化手册
|
3月前
|
存储 弹性计算 人工智能
阿里云服务器可以免费试用吗?云产品和解决方案免费试用活动及常见问题介绍
阿里云服务器可以免费试用吗?当然是可以试用的,完成实名认证的云服务器ECS新用户,可免费试用3个月。不仅云服务器可以试用,云数据库等其他热门云产品也可以试用,2025年阿里云还额外推出了解决方案免费试用活动,本文为大家介绍云产品和解决方案免费试用活动及常见问题,以供了解参考。
|
XML 关系型数据库 MySQL
MySQL 导出某些数据的技术详解
MySQL 导出某些数据的技术详解
574 3
|
Rust Dart 前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
516 1
|
分布式计算 资源调度 Hadoop
Spark 中的集群管理器类型详解
【8月更文挑战第14天】
281 4
|
Prometheus 监控 Cloud Native
容器化技术的性能调优与监控
【6月更文挑战第29天】本文探讨了容器(如Docker)的性能优化与监控,强调了其在云和微服务中的重要性。调优涉及资源限制设定、代码优化,通过性能测试、瓶颈分析进行迭代优化。监控目标是确保稳定性和可用性,使用工具如Portainer、CAdvisor、Prometheus来跟踪状态、性能指标和日志。监控内容涵盖容器状态、资源使用、日志和限制,策略包括设定阈值和告警机制。调优监控的优化有助于提升应用性能和企业价值。
|
计算机视觉 网络架构
CVPR 2024:基于MoE的通用图像融合模型,添加2.8%参数完成多项任务
【5月更文挑战第9天】CVPR 2024上的TC-MoA模型通过MoE策略改进通用图像融合,添加少量参数实现多任务处理。该模型使用适配器共享和相互信息正则化提升跨任务兼容性,动态路由网络适应不同任务需求。实验显示其在多模态、多曝光和多聚焦融合中表现出色,但依赖预训练基础模型且可能无法完全捕捉所有任务特定信息。[[arxiv.org/abs/2403.12494](https://arxiv.org/abs/2403.12494)]
496 1
|
设计模式 监控 Java
深入理解Spring Cloud中的断路器模式
深入理解Spring Cloud中的断路器模式