两个数交换的三种方式

记得刚开始学C++的时候,也做过两个数的交换,当时只用过下面的第一种和第三种方法,今天在看传智播客Java视频教程的时候,学到了另两种方式

假设a=10,b=20,交换a,b的值

方法一,使用第三方的变量,也是最常用的方法

int c=a;
a=b;
b=a;

方法二,位异或运算

a=a^b;
b=a^b;    //a^b^b=a
a=a^b;    //a^b^a=b

方法三,变量相加

a=a+b;
b=a-b;
a=a-b;

方法四,一句话搞定

b=(a+b)-(a=b);

在实际的工作中常用的还是第一种方法

时间: 2024-08-05 19:36:17

两个数交换的三种方式的相关文章

两数值交换,三种初学者方法。

第一种: public class jiaohuan { public static void main(String[]args) { int a=1,b=2; int m,n; m=a;n=b; a=n;b=m; System.out.println("a="+a); System.out.println("b="+b); }} 第二种: public class jiaohuan2 { public static void main(String[]args)

变量交换的三种方式

#include <stdio.h> #include <math.h> int main(void) { int a, b, t; scanf("%d%d", &a, &b); /* 方法一:三变量法 t = a; a = b; b = t; 方法二: a = a - b; b = a + b; a = b - a; 方法二变种: a = a + b; b = a - b; a = a - b; */ //方法三:异或运算,原因是对于整形变量a

mysql--组合两个表的三种方式

1.(正解--左连接) 2.(错解--右连接) 3.(错解--内连接) 原文地址:https://www.cnblogs.com/vegetableDD/p/11566675.html

apache两种方案三种方式实现反向代理tomcat

目录 1.概述 2.方案一:以proxy_module方式反向代理 3.方案二:以mod_jk方式反向代理 4.总结 1.概述 在前一博客(http://zhaochj.blog.51cto.com/368705/1639740)中实现了tomcat的在standalone模式下的部署,这样tomcat就身兼职两职,一方向要对http的请求作出响应,又要处理JSP程序,而处理http请求不是tomcat的强项,所以这样的请求就交给httpd.nginx这样的的专业处理http请求的套件来处理,而

Java反射获取class对象的三种方式,反射创建对象的两种方式

Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName 静态方法. 前提:已明确类的全路径名. 第二种,使用 .class 方法. 说明:仅适合在编译前就已经明确要操作的 Class 第三种,使用类对象的 getClass() 方法. 适合有对象示例的情况下 package com.reflection; /** * Created by Liuxd

oracle数据的导入导出(两种方法三种方式)

大概了解数据库中数据的导入导出.在oracle中,导入导出数据的方法有两种,一种是使用cmd命令行的形式导入导出数据,另一种是使用PL/SQL工具导入导出数据. 1,使用cmd命令行导入导出数据 1.1整库导出 整库导出:exp 管理员账号/密码 full=y;//参数full表示整库导出.导出后会在当前目录下生成一个EXPDAT.DMP的文件,此文件为备份文件.如果想导出数据到指定位置,并且取个名字,需要添加file参数.例如:exp system/123456 file= C:\person

发送邮件的三种方式:Send Mail Message

发送邮件的三种方式: 1.VBS 执行vbs脚本文件的程序为: system32文件下的 NameSpace = "http://schemas.microsoft.com/cdo/configuration/" Set Email = createObject("CDO.Message") Email.From = "xxx" '發送者 Email.To = "xxx;xxx" '收件地址 Email.Subject = &

javascript中构造函数的三种方式

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 创建函数的三种方式: // 1 函数声明 // 2 函数表达式 //

java实现HTTP请求的三种方式

目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是很多,HttpClient4.5是org.apache.http.client下操作远程 url的工具包,最新的:另一