论坛首页 入门技术论坛

不用第三个变量交换值的五个办法

浏览 6287 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-12-12  
不用第三个变量交换值的五个办法
package com.kevin.demo;


/**
 * @author  <a href="mailto:foohsinglong@gmail.com">kevin.long</a>
 * @description 2011-12-11 14:22:55
 */
public class ChangeTest {
	
	public void changeMethodA(int a, int b){
		System.out.println("changeMethodA交换之前\ta:"+a+"\tb:"+b);
		a = a + b - (b = a);
		System.out.println("changeMethodA交换之后\ta:"+a+"\tb:"+b);
	}
	
	public void changeMethodB(int a, int b){
		System.out.println("changeMethodB交换之前\ta:"+a+"\tb:"+b);
		b = a + (a = b)*0;
		System.out.println("changeMethodB交换之后\ta:"+a+"\tb:"+b);
	}
	
	public void changeMethodC(int a, int b){
		System.out.println("changeMethodC交换之前\ta:"+a+"\tb:"+b);
		a = a + b;
		b = a - b;
		a = a - b;
		System.out.println("changeMethodC交换之后\ta:"+a+"\tb:"+b);
	}
	
	public void changeMethodD(int a, int b){
		System.out.println("changeMethodD交换之前\ta:"+a+"\tb:"+b);
		a = a * b;
		b = a / b;
		a = a / b;
		System.out.println("changeMethodD交换之后\ta:"+a+"\tb:"+b);
	}
	
	public void changeMethodE(int a, int b){
		System.out.println("changeMethodE交换之前\ta:"+a+"\tb:"+b);
		a = a^b;
		b = a^b;
		a = a^b;
		System.out.println("changeMethodE交换之后\ta:"+a+"\tb:"+b);
	}
	
	public static void main(String[] args) {
		ChangeTest changeTest = new ChangeTest();
		changeTest.changeMethodA(1, 10);
		System.out.println("-----------------------------------");
		changeTest.changeMethodB(2, 9);
		System.out.println("-----------------------------------");
		changeTest.changeMethodC(3, 8);
		System.out.println("-----------------------------------");
		changeTest.changeMethodD(4, 7);
		System.out.println("-----------------------------------");
		changeTest.changeMethodE(5, 6);
	}
}

打印内容 写道
changeMethodA交换之前 a:1 b:10
changeMethodA交换之后 a:10 b:1
-----------------------------------
changeMethodB交换之前 a:2 b:9
changeMethodB交换之后 a:9 b:2
-----------------------------------
changeMethodC交换之前 a:3 b:8
changeMethodC交换之后 a:8 b:3
-----------------------------------
changeMethodD交换之前 a:4 b:7
changeMethodD交换之后 a:7 b:4
-----------------------------------
changeMethodE交换之前 a:5 b:6
changeMethodE交换之后 a:6 b:5
   发表时间:2011-12-12  
何用?

字数字数字数
0 请登录后投票
   发表时间:2011-12-12  
LUA表示无压力
a,b=b,a
0 请登录后投票
   发表时间:2011-12-12  
准确来说是数字交换,茴
0 请登录后投票
   发表时间:2011-12-12  
有毛用 ,
0 请登录后投票
   发表时间:2011-12-12  
茴香豆的五种写法
0 请登录后投票
   发表时间:2011-12-12  
guoxu1231 写道
茴香豆的五种写法

顶你!
0 请登录后投票
   发表时间:2011-12-12  
语法游戏,毛用。
0 请登录后投票
   发表时间:2011-12-12  
效率有提高么,还有赞下5L
0 请登录后投票
   发表时间:2011-12-12  
当玩具玩玩而已啊
毕竟还是效率优先
敲代码是为了养家糊口 不是玩游戏
咱们要是跟米国一样剩余价值过多的时候在玩这东西吧
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics