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

    • 运算顺序
    public class HelloWorld {
        public static void main(String[] args) {
        System.out.println(1+2+"hello"+6+6);
        System.out.println(1+2+"hello"+(6+6));
        }
    }
    
    运行结果:
    3k66
    3k12
    View Code
    • 字符串连接符

      字符串连接符两侧只要有一个是字符串类型,系统会自动将另一个操作数转为字符串,然后再进行拼接。

        public static void main(String[] args) {
            int i = 100;
            String str = "小明数学考分"+i;
         String str2 = "" + i; }

      补充:System.out.println()方法的参数也会自动调用toString 方法。

    • 扩展赋值运算符
        public static void main(String[] args) {
            int i = 1;
            i += 1;
            System.out.println(i);
            
            String str = "1";
            str += str;
            System.out.println(str);
            
            boolean b = false;
            b &= true;//b &&= true;报错
            System.out.println(b);
            
            boolean b2 = false;
            b2 |= true;//b2 ||= true;报错
            System.out.println(b2);
        }
    View Code
    • 逻辑运算符

      java 有 &&、||、&、|、!、^

      异或逻辑运算符^,相异为true 

        @SuppressWarnings("unused")
        public static void main(String[] args) {
    
            if (false ^ true) {
                System.out.println("我是异或1");
            }
            if (true ^ false) {
                System.out.println("我是异或2");
            }
            if (false ^ false) {
                System.out.println("我是异或3");
            }
            if (true ^ true) {
                System.out.println("我是异或4");
            }
        }
    View Code
    • 关系运算符(比较运算符)

      java 有>、<、>=、<=、==、!=

    • 关系运算符和逻辑运算符的比较

      二者相同处:

      运算结果都为boolean 值。

      二者不同处:

      逻辑运算符的操作数是boolean值,关系运算符的操作数可以是数值

      注意:!是一个逻辑运算符,!= 是一个关系运算符

    • 位运算符

      位操作是指对操作数以二进制位(bit)为单位进行的运算,运算结果为整数。运算过程的第一步是把操作数转换为二进制的形式,然后按位进行布尔运算。

      & 按位与 都为1,结果为1,否则为0;

      |  按位或 都为0,结果为0,否则为1;

      ^ 按位异或 不同为1,相同为0;

      ~ 按位取反 1变0,0变1;

      << 左移位  高位抛弃,低位补0;

      >> 带符号右移 高位负数补1,正数补0,低位抛弃;

      >>> 无符号右移 高位补0,低位抛弃。

  • 相关阅读:
    [React Hooks长文总结系列三]为所欲为,制作“穷人版”的redux
    [React Hooks长文总结系列二]渐入佳境,性能调优与自定义钩子
    [React Hooks长文总结系列一]初出茅庐,状态与副作用
    EsModule VS CommonJS
    [清代八股文]Promise如何实现串行执行
    React Fiber基本工作原理
    深入剖析setState同步异步机制
    破译《碟中谍》经典画面,解密指纹验证+刷脸!
    如何测试重签名的应用功能是否正常
    图像处理之滤镜、图文排版的开发详解,从入门到起飞
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/6753013.html
Copyright © 2011-2022 走看看