Java中交换两个数的几种不同方法

JAVA实现个数互换的三种方法 public class study1<num2, num1, a> { public static void main(String[] args) { int num1=10,num2=20; //交换num1和num2,方法1,比较推荐方法一 int a = num1; num1 = num2; num2 = a ; System.out.println(num1); . 阅读详情

给两个数a和b,然后交换a和b的值。

方式一:通过临时变了存放交换

int a = 2;

int b = 3;

System.out.println("a=" + a + ",b=" + b);

int temp = a;

a = b;

b = temp;

System.out.println("a=" + a + ",b=" + b);

小编是一个有着5年工作经验的java程序员,对于java,自己有做资料的整合,一个完整学习java的路线,学习资料和工具,相信这里有很多学习java的小伙伴,我创立了一个2000人学习扣群,479121291。每晚都有java的直播课程。无论是初级还是进阶的小伙伴小编我都欢迎!

方式二:通过加减计算交换

int a = 2;

int b = 3;

System.out.println("a=" + a + ",b=" + b);

a = a + b;

b = a - b;

a = a - b;

System.out.println("a=" + a + ",b=" + b);

方式三:通过异或运算交换

int a = 2;

int b = 3;

System.out.println("a=" + a + ",b=" + b);

a = a ^ b;

b = a ^ b;

a = a ^ b;

System.out.println("a=" + a + ",b=" + b);

在这里我推荐下我自己建的Java学习群:479121291,欢迎初学和进阶中的Java小伙伴进入学习交流。

总结:

    方式一是最常见的,可读性高,但是需要在内存中存放临时变量,但是对于现在来说,需要的内存空间很小,而且存放临时变量的内存很快就会释放,不存在问题。

    方式二有缺陷,当两个数相加之后,可能其结果超出了变量类型能表达的最大范围,这个时候结果就会出问题,不推荐使用。

    方式三效率是最高的,但是可读性不是很好。

    在程序中我们应该尽可能的使用方式一,提高程序的可读性。但是需要了解方式三,以及方式三的原理。

java交换个数字三种方法 【代码】java交换个数字三种方法 阅读详情

相关推荐

JAVA基础(007_个int型变量的数值交换

经典面试题:在不使用临时变量的情况下,怎么对个int型变量的数值进行交换方法一:异或运算public class MainClass { public static void main(String[] args) { int a = 2; int b = 6; System.out.println("a:" + a + ", " + "b:

Google2606的博客 484

交换个整数的值 Java_Note

public class swap { public static void main(String[] args) { int a = 4, b = 10; System.out.println("a="+a+" b="+b); //swap a=a^b; b=a^b; a=a^b; System.out.println("a="+a+" b="+b); }

天亮说晚安 1837

java实现输入个整数分别放到变量a和b当中,交换a和b的值,然后打印输出;

import java.util.Scanner; public class Homework1 { public static void main(String[] args) { //1、接受输入 Scanner scan = new Scanner(System.in); System.out.println("请输入变量a:"); int a = scan.nextInt(); System.out.prin.

m0_59788935的博客 6644

两种语言实现数据交换

一,C语言实现交换个数   方法一:使用临时变量 view plain void exchange(int *a, int *b)   {       int temp = 0;       temp = *a;       *b = *a;       *a = temp;   }   方法二:不使用临时变量

yizhesong的专栏 477

Java实现个数交换几种方法

Java实现个数交换几种方法

lllwwwb的博客 1万+

实现个数互换的八种方法

目录基本数据类型借助第三个变量不借助第三个变量异或引用数据类型 基本数据类型 借助第三个变量 /** * @author guqueyue * @Date 2020/3/6 * 方法一:实现个数交换 **/ public class Exchange1 { public static void main(String[] args) { /** ...

Qizhi_Hu的博客 1万+

JAVA交换个数常用的三种方法

JAVA交换个数常用的三种方法 中间变量法 数学运算法 数学运算法 话不多suo,开干 第一种、中间变量法 整体思路:有个整形变量a和b,先将a付给第三个变量c,这样a就存储下来,所以讲b赋给a,再讲c赋给b,就完成了交换,代码如下: public static void main(String[] args) { int a = 2; int b = 4; int c = a;//将a用临时变量c保存下来 System.out.print("交换之前a是" + a);

a_hasaigei的博客 5232

Java实现交换个数方法

Java实现交换个数方法 Java中不能直接操作指针变量,使用基本类型传参的时候都是值传递,也就是传入方法的只是原来变量的一个副本,所以在方法交换是副本,并达不到交换的目的。 但是可以通过以下方法来实现swap()方法 数组 public class Test01 { public static void main(String[] args) { int[] a...

yiqiandewo的博客 1309

JAVA中用方法交换个数

C中,想要用函数交换个数可以用指针,但是java没有指针,并且直接传递个基本数据类型的常量并不能实现交换。 在java中,基本数据类型在传递时是值传递,而引用数据类型在传递时是址传递,那么我们将要进行交换的基本数据类型转化成引用类型是不是就可以了呢? 把要交换个数作为类的属性传递当然可以。 这里写另一个方法:用数组交换(数组是引用类型) public class a_new_one{ public static void swap(int[] arr){ int tmp =

qq_51574759的博客 1574

java如何实现个数的值交换

/*交换个数值*/ public class SwapDemo { /*public static void swap(int a,int b){ int temp=a; a=b; b=temp; }*/ public static void main(String[] args) { int first=1...

webstudy12的博客 4787

个数交换几种方法

在数组的排序等,我们经常会用到将个数位置进行交换,这里写一些将数交换方法。 a=a+b;//a是a和b的和 b=a-b;//(a和b的和)减去b=原来a的值 a=a-b;//(a和b的和)减去原来a的值 弊端:较大的个数的和会造成数据溢出 -------...

chuyuanxie5276的博客 447

java交换个数的值的三种方法:位异或运算交换、算数交换、中间变量交换

在编程中我们经常需要对个数的值进行交换,可以使用方法也比较多,可能比较常见的是利用中间变量来进行交换,其实除了这种方法之外,还有别的更快的方法位进行异或运算,相同为0,不同为1。或者可以理解为:位不进位相加。0 ^ 0=00 ^ 1=11 ^ 1=0第一种方法比较容易想到,但是需要开辟额外的空间第二种方法容易溢出,所以不推荐使用。第三种方法利用位异或运算来实现,是效率最高的一种,在大量数据交换的时候,效率明显优于前两种方法,而且不需要额外的空间。

sunzixiao的博客 2783

java交换个数的值_Java交换个数的各种方法

个数a和b,然后交换a和b的值。方式一:通过临时变了存放交换int a = 2;int b = 3;System.out.println("a=" + a + ",b=" + b);int temp = a;a = b;b = temp;System.out.println("a=" + a + ",b=" + b);方式二:通过加减计算交换int a = 2;int b = 3;System...

weixin_39556702的博客 2863

个数交换,三种方法实现

个数字的交换,三种方法 方法一:使用第三方变量交换数据; 方法二:使用加减法,并且不使用第三方变量 思路:a加上b的和,减去a,就等于b,再用这个数减去b,就等于a。 方法三:使用异或方法交换,并且不使用第三方变量 思路:一个数异或另一个数偶次,都等于这个数本身。

缘分丨随风 3692

交换个数的值两种方法

交换个数的值 题目:有个数a,b。把它们的值交换 两种方法实现 第一种方法:先将个数相加的值从新赋值给a,然后b的值就等于赋值后的a的值减b原本的值,此时得到的b就是原本a的值,然后在用赋值后的a减b,此时a的值就等于原来b的值 public class One{ public static void main(String[] args){ int a=2,b=3;//先声明个变量a,b并且赋值 a=a+b;//先将个数相加 此时a=5; b=a-b;//此时b的值就等于a的值

weixin_51403996的博客 1982

如何用JAVA写一个函数交换个数并在main函数中输出交换呢?

今天问一个简单的问题,如何用JAVA写一个函数交换个数并在main函数中输出交换呢? 01 简单方案-----错误方法 首先想到的是这种方法,用一个中间数,然后直接交换。 代码如下 /** *@author *@email *@create2019-06-26 */ publicclassApp{ publicstaticvo...

努力写代码 3573

Java中实现个数交换

Java中实现个数交换

m0_68814541的博客 726

Java实现个数的值的交换

方法一: Swap.java public class Swap { private int number; public Swap(int i){ this.number=i; } public int getNumber(){ return number; } public void setNumber(int number){ this.number = num...

weixin_45614136的博客 1957
上一篇: Java语言的5个特点,帮助新手了解Java
下一篇: 深受Java程序员欢迎的10款Java IDE
java03_15
博客等级 码龄8年 263粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值