進数変換と2つの変数の交換方法および自動梱包


1.2つの変数の交換方式
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.経由イソOR^
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の2つの値はすべて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();