• 运算符


    • 运算顺序
    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,低位抛弃。

  • 相关阅读:
    Spring Doc Web Servlet
    Java 知识 Stream 介绍
    pythonappium自动化操作微信 Learning
    单例模式
    网络层
    场景算法
    第九节 面试专项
    解决日志输出及服务调用乱码问题
    windows操作系统,postman请求产品OK,但Java服务请求超时
    springboot bean覆盖注册的问题(allowBeanDefinitionOverriding配置)
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/6753013.html
Copyright © 2020-2023  润新知