class TestExer1{ public static void main(String[] args){ int m = 12; int n = 5; System.out.println("m:" + m + " n:" + n); //方法一:提供一个临时变量。 //int temp = m; // m = n; // n = temp; //System.out.println("m:" + m + " n:" + n); //方法二:当m和n较大时,有可能出现精度损失 //m = m + n;//m = 12 + 5; //n = m - n;//n = 17 - 5; //m = m - n;//m = 17- 12 //System.out.println("m:" + m + " n:" + n); //方法三:优点:没有上面两种方法的缺点。 缺点:难! m = m ^ n; n = m ^ n;//(m ^ n) ^ n == m m = m ^ n;//(m ^ n) ^ m == n System.out.println("m:" + m + " n:" + n); //问题: //60 手动的方式,从控制台输出60的十六进制。 int i = 61; //自动调用Integer类现成的方法 String binary = Integer.toBinaryString(i); System.out.println(binary); String hex = Integer.toHexString(i);//转为16进制 System.out.println(hex); /* char c = 'a'; char c1 = (char)(c + 2); System.out.println(c1);//c */ int j = i & 15;//获取到i的最低4位对应的值。//13 String k1 = (j <= 9)? j + "" : (char)(j - 10 + 'a') + "";//d //System.out.println(k1); i = i >> 4;//3 int z = i & 15;//3 String k2 = (z <= 9)? z + "" : (char)(z - 10 + 'a') + "";//3 System.out.println(k2 + k1);//3+d } }
输出结果:
m:12 n:5
m:5 n:12
111101
3d
3d