1.
short s1=1;
//s1=s1+1; 错误 损失精度
s1+=1; √
2.原码 反码 补码
8位二进制的原码 反码取值范围(-127,127)补码(-128,127)。
原码:将一个整数,转换成二进制,就是其原码。
如单字节的5的原码为:0000 0101;-5的原码为1000 0101。
反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。
如单字节的5的反码为:0000 0101;-5的反码为1111 1010。
补码:正数的补码就是其原码;负数的反码+1就是补码。
如单字节的5的补码为:0000 0101;-5的补码为1111 1011。
在计算机中,正数是直接用原码表示的,如单字节5,在计算机中就表示为:0000 0101。
负数用补码表示,如单字节-5,在计算机中表示为1111 1011。
3.final
final StringBuffer s1=new StringBuffer("123");
//s1=new StringBuffer("1"); 错误 final 修饰的对象不能变
s1.append("456");对象内容可以改变
4.==和equals区别
1.
String s1 = new String("java"); String s2 = new String("java"); System.out.println(s1==s2); //false System.out.println(s1.equals(s2)); //true
2.
String s1 = new String("java"); String s2 = s1; System.out.println(s1==s2); //true System.out.println(s1.equals(s2)); //true
3.
String s1 = "java"; String s2 = "java"; System.out.println(s1==s2); //true System.out.println(s1.equals(s2)); //true