首页 > 其他 > 详细

进制转换与两个变量的交换方式以及自动拆装箱

时间:2016-04-08 01:11:41      阅读:154      评论:0      收藏:0      [点我收藏+]

一.两个变量的交换方式

1.定义一个中间变量

int a = 1, b = 2;
int c = b;
b = a;
a = c;

2.数据叠加再相减

int a = 1;
int b = 2;
a = a + b;
b = a - b;
a = a - b;

3.通过异或^

int a = 1;
int b = 2;
a = a^b;
b = a^b;
a = a^b;

二.数据定制转换

System.err.println(Integer.parseInt("1f", 16));// 结果为21,算法为1*16+5,即说明1f是16进制,将其转为10进制
System.err.println(Integer.valueOf("17", 8));// 结果为15,算法为1*8+7,每一位最大为7,由于其基础是8进制
System.err.println(Integer.toHexString(15));// 结果为f,16进制
System.err.println(Integer.toBinaryString(3));// 结果为11.二进制流

三.自动拆装箱分析

1.Boolean的两个值都是cache再内存中的,自己new Boolean的是另一块空间

2.Byte的-128-127全部cache在内存中的。

3.Integer,Short,Long-128-127是cache在内存中的。

4.Float,Double没有cache。

   当有算术运算时,会自动拆箱

 Integer a=1;
 Integer b=128;
 Long    c=129L;
 System.err.println(c==a+b);//编译后为c.longValue()==a.intValue()+b.intValue();


 


本文出自 “尘世的鱼” 博客,请务必保留此出处http://earthlyfish.blog.51cto.com/7170086/1761466

进制转换与两个变量的交换方式以及自动拆装箱

原文:http://earthlyfish.blog.51cto.com/7170086/1761466

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!