Java基础语法_第5章 运算符

  • 算数运算符:+,-,*,/,%,++, –

    int a = 10;
    int b = 20;
    int c = 25;
    int d = 25;
    
    System.out.println(a + b); // 30
    System.out.println(a - b); // -10
    System.out.println(a * b); // 200
    System.out.println(a / b); // 0 0.5四舍五入
    System.out.println(a / (double)b); // 0.5
    
    long e = 123123123123123L;
    int f = 123;
    short g = 10;
    byte h = 8;
    
    // 如果多个操作数中有一个数为long,那么结果为long类型
    // 如果多个操作数中没有long,那么结果为int类型(无论操作数中有没有int)
    // 如果多个操作数中有一个数为double,那么结果为double类型
    System.out.println(e + f + g + h); // long 123123123123264
    System.out.println(f + g + h); // int 141
    System.out.println(g + h); // int 18
    
    // ++: 自增  --: 自减  -元运算符
    int a = 3;
    int b = a++; // a = a + 1, b为加1之前的值
    System.out.println(4);
    
    int c = ++a; // a = a + 1, c为加1之后的值
    System.out.println(a); // 5
    System.out.println(b); // 3
    System.out.println(c); // 5
    
    // 幂运算 2^3 2 * 2 * 2 = 8
    double pow = Math.pow(2, 3);
    System.out.println(pow); // 8.0
    
  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!=,instanceof

    // 关系运算符返回的结果:正确,错误(布尔值)
    int a = 10;
    int b = 20;
    int c = 21;
    
    System.out.println(c % a); // 1: 取余
    System.out.println(a > b); // false
    System.out.println(a < b); // true
    System.out.println(a == b); // false
    System.out.println(a != b); // true
    
  • 逻辑运算符:&&,||,!

    // 与(and) 或(or) 非(取反)
    boolean a = true;
    boolean b = false;
    
    System.out.println(a && b); // false 逻辑与运算:两个变量都为真,结果才为true
    System.out.println(a || b); // true 逻辑或运算,两个变量有一个为真,则结果才为true
    System.out.println(!(a && b)); // true 如果是真,则变为假,如果是假则为真
    
  • 位运算符:&,|,^,~,>>,<<,>>>

    /*
    A = 0011 1100
    B = 0000 1101
    ----------------------
    A&B = 0000 1100  -- 如果对应位都是1,则结果为1,否则结果为0
    A|B = 0011 1101  -- 如果对应位都是0,则结果为0,否则结果为1
    A^B = 0011 0001 -- 如果对应位相同,则结果为0,否则结果为1
    ~B = 1111 0010 -- 取反
    
    2*8 = 16    2*2*2*2
    效率很高
    <<: 左移 *2
    >>: 右移 /2
    0000 0000    0
    0000 0001    1
    0000 0010    2
    0000 0011    3
    0000 0100    4
    0000 1000    8
    0001 0000    16
     */
    System.out.println(2<<3); // 16
    
  • 条件运算符:? :

    // x ? y : z
    // 如果x = true,则结果为y,否则结果为z
    int score = 80;
    System.out.println(score < 60 ? "不及格" : "及格"); // 及格
    
  • 扩展赋值运算符:+=,-=,*=,/=

    int a = 10;
    int b = 20;
    
    a += b; // a = a + b
    System.out.println(a); // 30
    a -= b; // a = a - b
    System.out.println(a); // 10
    
    // 字符串连接符
    System.out.println("" + a + b); // 1020 先字符串后拼接
    System.out.println( a + b + ""); // 30 先运算后字符串
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值