java实现两个int数交换
2018-06-18 03:51:07来源:未知 阅读 ()
普通方法,进阶方法,大神方法
1 @Test 2 public void test3(){ 3 int m = 5; 4 int n = 12; 5 6 //要求m和n交换位置 7 System.out.println("m=" + m + " n=" + n);//m=5 n=12 8 9 //方法一:定义临时变量 10 //优点:操作简单,缺点:需定义临时变量,内存消耗较大 11 int temp = m; 12 m = n; 13 n = temp; 14 System.out.println("m=" + m + " n=" + n);//m=12 n=5 15 16 //方法二:不定义临时变量,使用相加 17 //优点:无需定义临时变量,节省内存。缺点:当两个数值较大时,容易丢失精度 18 m = m + n;//12 + 5 19 n = m - n;//12 + 5 - 5,是原来的m的值,赋给n 20 m = m - n;//12 + 5 - 12,是原来n的值,赋给m 21 System.out.println("m=" + m + " n=" + n);//m=5 n=12 22 23 //方法三:大神专用,使用异或^ 24 //优点:不会丢失精度,不用定义变量,内存消耗最小,缺点:一般人不会想到这么写,写了一般人也看不懂 25 m = m ^ n; 26 n = m ^ n;// m ^ n ^ n == m 27 m = m ^ n;// m ^ n ^ m == n 28 System.out.println("m=" + m + " n=" + n);//m=12 n=5 29 30 }
方法二不建议使用,因为有可能丢失精度
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java学习笔记37(字节流)
下一篇:Java学习笔记38(字符流)
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- DES/3DES/AES 三种对称加密算法实现 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash