zoukankan      html  css  js  c++  java
  • Java_运算符

    一、算术运算符

    加 减 乘 除 取余 自增 自减(+ - * / % ++ --)

    前缀自增自减 ++a, --a 先进行自增或者自减运算,再进行表达式运算。
    后缀自增自减 a++, a--先进行表达式运算,再进行自增或者自减运算。

    public class AddSub {
        public static void main(String [] args){
            int i =5, j = 8;
            int a = i++; //  a=i=5 ; i= i+1. 结果为 a=5; i=6
            int b = --j; //  j =j-1; b=j=6. 结果为 b=7; j=7
    
            System.out.println("a:" + a + " , b:" +b);
            System.out.println("i:" + i + " , j:" +j);
    
            /*结果:
               a:5 , b:7
               i:6 , j:7
            */
        }
    }
    
    

    二、关系运算符

    大于 小于 大于等于 小于等于 恒等于 非等于 (> < >= <= == !=)

    三、位运算符

    int i =5, j = 8; // 二进制 i = 0101 ; j = 1000
    System.out.println(i & j); // 同位都为 1 则 1, 否为0 . 结果:0000 -> 0
    System.out.println(i | j); // 同位都为 0 则 0, 否为1 . 结果:1101 -> 8+4+1=13
    System.out.println(i ^ j); // 同位相同   则 0, 否为1 . 结果:1101 -> 8+4+1=13
    System.out.println(  ~ i); // 按位取反,0变为1, 1变0 . 结果:-1010 -> -8-(-2)=-6 (默认为+ 取反为-)
    System.out.println(i >>2); // 按位右移 2 位            结果:0001 -> 1
    System.out.println(i <<2); // 按位左移 2 位            结果:0001 0100 -> 16+4=20
    
    

    实例

    用最有效的方法算出2的3次方的结果

    // 左移多少位就相当于乘以2的多少次方, 右移则是除以2的多少次方
    System.out.println(1<<3); // 相当于 1*2^3 = 8
    System.out.println(2<<3); // 相当于 2*2^3 = 16
    System.out.println(5<<1); // 相当于 5*2^1 = 10
    System.out.println(89>>1); // 相当于 89/2^1 = 44 (向下取整)
    System.out.println(-3>>1); // 相当于 -3/2^1 = -2  
    System.out.println(-3>>3); // 相当于 -3/2^3 = -1 
    

    四、赋值运算符

    基本是算术运算符、位运算符与等于号的组合。-= += *= /= ......

    五、条件运算符

    也称三目运算符(?:)
    语法格式:variable x = (expression) ? value if true : value if false

    六、instanceof 运算符

    用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
    语法格式:( Object reference variable ) instanceof (class/interface type)

    七、逻辑运算符

    短路与,短路或 && ||

    a && b 当a和b同时都为真时,则结果为真。(只要a不满足条件,则不判断b)
    a || b 当a或b有一为真时,则结果为真。(只要a满足条件,则不判断b)

    扩充: a & ba | b 会对所有条件都进行判断

  • 相关阅读:
    最近我总结的常用mate标签-常用mate标签
    同一个世界(erlang解题答案)
    ranch 源码分析(完)
    ranch 源码分析(三)
    ranch 源码分析(二)
    ranch 源码分析(一)
    port 执行命令的封装和参数详解
    erlang 笔记(06/03/02)
    recon工具解读
    erlang调试方法
  • 原文地址:https://www.cnblogs.com/zeo-to-one/p/9332453.html
Copyright © 2011-2022 走看看