Started at No.57

    long型不加l自动认为是int型,可能会溢出
    float型后一定要加f

    整型常量,默认类型为int型
    浮点型常量,默认类型为double型
    例: float i1 = b + 1;\这个1会默认为double

    字符串
    string i1 = “Hello World!”;

    int number = 1001;
    String numberStr = “学号:”;
    String info = numberStr + number;//+是连接运算

    字符串做运算后还是字符串

    在运算中,单引号内会被当成字符,双引号会被当成字符串,字符串之前的加号会被认为是连接运算
    image.png

    二进制、八进制、十进制、十六进制

    运算符:
    image.png
    (前)++ :先自增1再运算;
    (后)++:先运算,后自增1;
    (前)— 和 (后)— 同理;

    练习:随意给出一个三位数的整数,输入其个位、十位、百位。
    通过加减乘除取余来算
    对比之下MATLAB真他妈方便我操

    扩展运算符:
    连续赋值:i2 = j2 = 10;
    num1 += 2;//same as num1 = num1 + 2
    其余同理

    例题:
    int n = 10;
    n += (n++) + (++n);//answer is 32.The equation is similar to n = n + (n++) +(++n)
    // n = 10 + 10 + 12;

    比较语句;

    1. class Scratch {
    2. public static void main(String[] args) {
    3. int i1 = 10;
    4. int j1 = 10;
    5. System.out.println(i == j);//ture
    6. System.out.println(i = j);//10
    7. }
    8. }

    逻辑运算符:
    image.png
    image.png
    区分&与&&:

    1. class Scratch {
    2. public static void main(String[] args) {
    3. boolean b1 = true;
    4. int num1 = 10;
    5. if (b1 & (num1++ > 0)) {
    6. System.out.println(“阿巴阿巴阿巴”);
    7. }else {
    8. System.out.println(“胡巴胡巴胡巴”);
    9. }
    10. System.out.println(“num1 = “ + num1);
    11. boolean b2 = false;
    12. int num2 = 10;
    13. if (b1 && (num1++ > 0)) {
    14. System.out.println(“阿巴阿巴阿巴”);
    15. }else {
    16. System.out.println(“胡巴胡巴胡巴”);
    17. }
    18. System.out.println(“num1 = “ + num2);
    19. }
    20. }

    输出:
    阿巴阿巴阿巴
    num1 = 11
    阿巴阿巴阿巴
    num2 = 10

    上面的第二块代码没有进行++运算,因为&&把后面的++短路了
    &&是一种节约资源的与运算,如果前半部分已经可以判定结果,那么后面的计算会被跳过

    | 和 || 同理

    位运算符
    image.png
    上图运算为二进制,左移几位就是乘2的几次方,右移就是除以
    逻辑运算就是两个数变成二进制后的逻辑运算

    Ended at No.84