Java 变量值交换的三种实现
来源:互联网 发布:js 支持base64编码 编辑:程序博客网 时间:2024/06/08 12:10
package com.base.first.calculate;
import java.util.Scanner;
/**
*
* ClassName: ValueSwaps
* Description: 变量值互换
*
* @date 2016年5月17日下午5:30:12
*/
public class ValueSwaps {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
long num1 = sc.nextLong();
System.out.println("请输入第二个数:");
long num2 = sc.nextLong();
System.out.println("num1 = " + num1 + ", num2 = " + num2);
long[] calculate = swapsByCalculate(num1, num2);
System.out.println("swapsByCalculate:num1 = " + calculate[0] + ", num2 = " + calculate[1]);
long[] temp = swapsByShift(num1, num2);
System.out.println("swapsByTemp:num1 = " + temp[0] + ", num2 = " + temp[1]);
long[] shift = swapsByTemp(num1, num2);
System.out.println("swapsByShift:num1 = " + shift[0] + ", num2 = " + shift[1]);
}
/**
* 通过计算交换
* @param num1
* @param num2
* @return
*/
public static long[] swapsByCalculate(long num1, long num2){
long[] nums = new long[2];
nums[0] = num1 + num2;
nums[1] = nums[0] - num2;
nums[0] = nums[0] - nums[1];
return nums;
}
/**
* 通过借助变量交换
* @param num1
* @param num2
* @return
*/
public static long[] swapsByTemp(long num1, long num2){
long[] nums = new long[2];
long temp = num1;
nums[0] = num2;
nums[1] = temp;
return nums;
}
/**
* 通过移位交换变量
* @param num1
* @param num2
* @return
*/
public static long[] swapsByShift(long num1, long num2){
long[] nums = new long[2];
nums[0] = num1 ^ num2;
nums[1] = nums[0] ^ num2;
nums[0] = nums[0] ^ nums[1];
return nums;
}
}
import java.util.Scanner;
/**
*
* ClassName: ValueSwaps
* Description: 变量值互换
*
* @date 2016年5月17日下午5:30:12
*/
public class ValueSwaps {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
long num1 = sc.nextLong();
System.out.println("请输入第二个数:");
long num2 = sc.nextLong();
System.out.println("num1 = " + num1 + ", num2 = " + num2);
long[] calculate = swapsByCalculate(num1, num2);
System.out.println("swapsByCalculate:num1 = " + calculate[0] + ", num2 = " + calculate[1]);
long[] temp = swapsByShift(num1, num2);
System.out.println("swapsByTemp:num1 = " + temp[0] + ", num2 = " + temp[1]);
long[] shift = swapsByTemp(num1, num2);
System.out.println("swapsByShift:num1 = " + shift[0] + ", num2 = " + shift[1]);
}
/**
* 通过计算交换
* @param num1
* @param num2
* @return
*/
public static long[] swapsByCalculate(long num1, long num2){
long[] nums = new long[2];
nums[0] = num1 + num2;
nums[1] = nums[0] - num2;
nums[0] = nums[0] - nums[1];
return nums;
}
/**
* 通过借助变量交换
* @param num1
* @param num2
* @return
*/
public static long[] swapsByTemp(long num1, long num2){
long[] nums = new long[2];
long temp = num1;
nums[0] = num2;
nums[1] = temp;
return nums;
}
/**
* 通过移位交换变量
* @param num1
* @param num2
* @return
*/
public static long[] swapsByShift(long num1, long num2){
long[] nums = new long[2];
nums[0] = num1 ^ num2;
nums[1] = nums[0] ^ num2;
nums[0] = nums[0] ^ nums[1];
return nums;
}
}
0 0
- Java 变量值交换的三种实现
- 实现两个变量值交换的三种方法
- 交换变量值的三种方法
- 交换两个变量值的三种方法(Java实现)
- java基础(四):实现变量值交换的三种方法
- 第八个Java程序,实现变量值的交换。
- c\c++交换两变量值的三种方法
- 交换两个变量值的三种方法
- 黑马程序员_C语言三种方法实现两个变量值的交换
- 黑马程序员__三种方法实现两个变量值的交换
- C语言三种方法实现两个变量值的交换
- 三种方法交换变量值
- 实现两个变量值交换的3种方法
- java交换变量值的几种方法
- 3种交换变量值的方法
- 两种交换变量值的方法
- Java 交换两个变量值
- 两个变量值交换java
- RabbitMQ (一)第一个hello world
- GBDT(MART) 迭代决策树入门教程 | 简介
- android插件化开发——加载广播
- java中类的各种定义
- 制作子弹痕迹(到shareMaterial)-Unity
- Java 变量值交换的三种实现
- 关于GPIO, 我懂的不多
- hibernate中HQL语句
- linux 互信不生效
- hook:实现简单的键盘记录器
- 纯数字字符串判定
- 自定义圆角控件
- Mac配置环境
- 求解LambdaMART的疑惑?