Java一行代码搞定两个数互换

提到两个数互换,首先想到的应该是如何不引入第三个数实现,当然也有很多方法。

想到个有趣的事就是怎么用一行代码搞定互换,其实也不难。

先来两种小学生写法:

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

a = a * b / (b = a);

以上两句结果一样,就是把a,b值互换。

还有一种无赖写法:

a = b + (b = a) * 0;

稍高端的写法是:

a = a ^ b ^ (b = a);

这个原理就是一个数异或另一个数两次值不变。

时间: 2024-08-07 16:58:43

Java一行代码搞定两个数互换的相关文章

一行代码搞定Adapter

15年Google I/O大会发不了三个重要支持库 >Material design (Android Support Design) >百分比布局:Percent support lib >数据绑定: Data Binding Library 如果你还不没用过Data Bind Library 没关系 那你知道ButterKnife吧 DataBindLibrary 和ButterKnife都是编译时期生成相应的注解文件 因此 在性能上不会有什么大的影响 因此放心的尝试吧.(个人感觉D

一行代码搞定所有屏幕适配

一行代码搞定所有屏幕适配AbViewUtil andbase框架 介绍:http://blog.csdn.net/menglele1314/article/details/46422409 andbase框架 下载:http://download.csdn.net/detail/menglele1314/8786989 导入andbase开源框架 1.首先在你的应用的application中设置: AbAppConfig.UI_WIDTH = 1080; AbAppConfig.UI_HEIGH

iOS 3DES加密解密(一行代码搞定)

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解:3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法. 3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密.数据加密标

各种IE(IE6-IE10)兼容问题一行代码搞定

x-ua-compatible 用来指定IE浏览器解析编译页面的model x-ua-compatible 头标签大小写不敏感,必须用在 head 中,必须在除 title 外的其他 meta 之前使用. 1.使用一行代码来指定浏览器使用特定的文档模式. <meta http-equiv="x-ua-compatible" content="IE=9" > <meta http-equiv="x-ua-compatible" c

一行代码搞定ThoughtWorks面试题

今天在微博看到一道有趣的题目.作为python的脑残粉,自然手痒. 题目在这里. FizzBuzzWhizz 你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏.此时有100名学生在上课.游戏的规则是: 1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3.5.7. 2. 让所有学生拍成一队,然后按顺序报数. 3. 学生报数时,如果所报数字是第一个特殊数(3)的倍数,那么不能说该数字,而要说Fizz:如果所报数字是第二个特殊数(5)的倍数,那么要说Buzz:如果所报数字是第三

Android防止过快点击造成多次事件 一行代码搞定,特别简单,可以复用

onClick事件是Android开发中最常见的事件,正常情况下这段代码是没什么问题的, 但是Android设备的机型性能等千差万别,如果碰到比较卡的手机, 则有可能出现submitOrder()函数跳转页面出现延迟的现象.碰到这种现象,则用户就很有可能再次点击一次, 从而造成函数被调用两次,出现重复订单的BUG. 解决方法 方案一:(不建议) 一般地,碰到这现象,首先就会想到的就是在点击之后把submitButton设置为不可点击: 此方法也确实有效,不过如果submitOrder()方法没有

一行代码搞定UITextView的placeholder

分类已经写好,直接拿来用即可 demo: UITextView *textView = [[UITextView alloc] init]; textView.font = [UIFont systemFontOfSize:18.0]; //注意先设置字体,再设置placeholder textView.placeholder = @"请输入您的问题..."; 主要技术点: 用运行时动态绑定一个label来显示placeholder 详细代码:(已封装好的分类) 1 /** 注意先设置

一行命令搞定没有Visual Studio2003(2005)时的手动编译

一行命令搞定没有Visual Studio2003(2005)时的手动编译命令 起因: 有时可能会发生这样的情况,网站做好了,要在服务器上布署.布署中发现,有些地方代码需要小改,然而,在服务器或其他地方没有安装VS系列工具,但服务器上已安装有.net框架,此时仍然需要对已有项目的某些文件进行少量修改,并再次进行编译.此时,在服务器上安装VS系列开发工具并不可能,也不经济.那么下面的方法就可以派上用场了. (1)将下面一行保存到你项目所在的目录下一个名为:buid.bat文件中: %SYSTEMR

两行代码搞定MFC清屏功能

MFC清除屏幕功能 不少人在使用MFC显示图像都遇到过解决清除屏幕的问题,网上有不少解决方案,但是这些方案都不是很简单,最近本文也遇到了同样的问题,因此对MFC的显示原理进行了深入的研究,找到了最简单的解决方案: (1)获取控件的句柄 (2)调用showWidnow(FALSE). (3)调用showWindow(TRUE); 两句简单的代码轻松搞定MFC清除屏幕功能! 代码如下: void CClearScreenMFCDlg::OnBnClickedLoadImage() { // TODO