码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-04-08 01:12:42      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:java   二进制   拆装箱   

一.两个变量的交换方式

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

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

标签:java   二进制   拆装箱   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!