1. 程式人生 > 其它 >交換變數值的四種方法

交換變數值的四種方法


title: 交換變數值的四種方法
tags: Java
date: 2022-02-22 17:17:38

一、將兩個變數的值互相交換

方法一:使用中間變數交換,非常靠譜,適用於數值、字串等。

方法二:^異或,但只使用於數值。

方法三:+- ,適用於數值。

方法四:*/ ,適用於數值,但不適用於其中一個變數為0 的情況。

程式執行結果:

程式程式碼:

/**
* @fileName : exchange2Var.java
* @description : TODO
* @author : yangzhihong
* @date : 2021年12月14日-下午4:18:31
*/
 
public class exchange2Var {
	public static void main(String[] args) {
		int a = 3, b = 5;
		//方法一:使用中間變數交換
		extracted1(a, b);
		//方法二:^異或    只使用於數值
		extracted2(a, b);
		//方法三:+-		
		extracted3(a, b);
		//方法四:*/       不適用於其中一個變數為0 的情況
		extracted4(a, b);
	}
 
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月14日下午5:16:14
	*/
	private static void extracted4(int a, int b) {
		System.out.println("方法四:");
		System.out.println("[交換前]\ta="+a+"\tb="+b);
		a = a * b;
		b = a / b;
		a = a / b;
		System.out.println("[交換後]\ta="+a+"\tb="+b);
	}
 
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月14日下午5:06:25
	*/
	private static void extracted3(int a, int b) {
		System.out.println("方法三:");
		System.out.println("[交換前]\ta="+a+"\tb="+b);
		a = a + b;
		b = a - b;
		a = a - b;
		System.out.println("[交換後]\ta="+a+"\tb="+b+"\n");
	}
 
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月14日下午4:36:07
	*/
	private static void extracted2(int a, int b) {
		System.out.println("方法二:");
		System.out.println("[交換前]\ta="+a+"\tb="+b);
		a ^= b;
		b ^= a;
		a ^= b;
		System.out.println("[交換後]\ta="+a+"\tb="+b+"\n");
	}
 
	/**
	* @return : void
	* @Description : TODO
	* @author : yangzhihong
	* @Date : 2021年12月14日下午4:33:15
	*/
	private static void extracted1(int a, int b) {
		System.out.println("方法一:");
		System.out.println("[交換前]\ta="+a+"\tb="+b);
		int c = a;
		a = b;
		b = c;
		System.out.println("[交換後]\ta="+a+"\tb="+b+"\n");
	}
 
}