1. long d = 2147483647;

    1.上述代码没有问题,java中2147483647默认被当做int来处理,小容量可以自动赋值给大容量,自动类型转换。但是大容量不可以直接赋值给小容量,需要强转,但强转运行时可能会损失精度。
    2.整数没有超范围可以直接赋值给char

    1. char a = 97;

    3.二进制原码反码以及补码
    对于一个正数来说,二进制原码、反码、补码是同一个,完全相同。
    int i =1
    对应的二进制原码: 00000000 00000000 00000000 00000001
    对应的二进制反码: 00000000 00000000 00000000 00000001
    对应的二进制补码: 00000000 00000000 00000000 00000001
    对于一个负数来说
    int i = -1
    对应的二进制原码: 00000000 00000000 00000000 10000001
    对应的二进制反码: 00000000 00000000 00000000 11111110
    对应的二进制补码: 00000000 00000000 00000000 11111111

    1. public static void main(String[] args){
    2. char c1 = 'a';
    3. byte b = 1;
    4. System.out.println(c1 + b);
    5. }

    结果为98

    1. public class Project01 {
    2. public static void main(String[] args) {
    3. long a = 10L;
    4. char c = 'a';
    5. short s = 100;
    6. int i = 30;
    7. int x = (int)(a + c + s + i);
    8. System.out.println(x);
    9. }
    10. }

    结果为237
    4.java中“+”不仅可以用来计算,还可以用来进行字符串的拼接。