• 【Java】运算符(算术运算符、赋值运算符、自增自减运算符、关系运算符、逻辑运算符、三元运算符)


    一、算术运算符

    (一)运算符和表达式

    • 运算符:对常量或者变量进行操作的符号

    • 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
      不同运算符连接的表达式体现的是不同类型的表达式。

    举例说明:

        int a = 10;
    	int b = 20;
    	int c = a + b;
    
    +:是运算符,并且是算术运算符
    a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
    

    (二)算术运算符

    在这里插入图片描述
    注意事项:
    /%的区别:两个数据做除法,/取结果的商,%取结果的余数。
    整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

    public class OperatorDemo {
    
        public static void main(String[] args) {
            int a = 6;
            int b = 4;
            System.out.println("a+b = " + (a + b));
            System.out.println("a-b = " + (a - b));
            System.out.println("a*b = " + (a * b));
            System.out.println("a/b = " + (a / b));
            System.out.println("6.0/4= " + (6.0 / 4));
            System.out.println("a%b = " + (a % b));
        }
    }
    

    在这里插入图片描述

    (三)字符的“+”操作

    拿字符在计算机底层对应的数值来进行计算的
    在这里插入图片描述
    算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
    提升规则:

    • byte类型,short类型和char类型将被提升到int类型
    • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
      等级顺序:byte,short,char > int > long > float > double
    public class OperatorDemo2 {
        public static void main(String[] args) {
            int a = 0;
            char c1 = 'A';// A的Unicode编码是65
            char c2 = 'a';// a的Unicode编码是97
            char c3 = '0';// 0的Unicode编码是48
            char c4 = ' ';// 的Unicode编码是32
            char c5 = '中';// 中 的Unicode编码是20013
            System.out.println("a+c1 = " + (a + c1));
            System.out.println("a+c2 = " + (a + c2));
            System.out.println("a+c3 = " + (a + c3));
            System.out.println("a+c4 = " + (a + c4));
            System.out.println("a+c5 = " + (a + c5));
        }
    }
    

    在这里插入图片描述

    (四)字符的“+”操作

    当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。

    public class OperatorDemo3 {
        public static void main(String[] args) {
            System.out.println("OperatorDemo"+2025);
        }
    }
    

    在这里插入图片描述
    2025+1+OperatorDemo结果为2026OperatorDemo
    OperatorDemo+2025+1结果为OperatorDemo20251

    public class OperatorDemo3 {
        public static void main(String[] args) {
            System.out.println(2025 + 1 + "OperatorDemo");
            System.out.println("OperatorDemo" + 2025 + 1);
        }
    }
    

    在这里插入图片描述

    二、赋值运算符

    在这里插入图片描述

    • 注意事项:
      扩展的赋值运算符隐含了强制类型转换

    三、自增自减运算符

    在这里插入图片描述
    注意事项:

    • ++和-- 既可以放在变量的后边,也可以放在变量的前边。
    • 单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。
    • 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–。
      参与操作的时候,如果放在变量的前边,先拿变量做++或者–,后拿变量参与操作。

    最常见的用法:单独使用

    四、关系运算符

    在这里插入图片描述
    注意事项:
    关系运算符的结果都是boolean类型,要么是true,要么是false。
    千万不要把“==”误写成“=”。

    五、逻辑运算符

    • 逻辑运算符
      在这里插入图片描述

    • 短路逻辑运算符
      在这里插入图片描述
      注意事项:

    • 逻辑与&,无论左边真假,右边都要执行。
      短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。

    • 逻辑或|,无论左边真假,右边都要执行。
      短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。

    • 最常用的逻辑运算符:&&,||,!

    六、三元运算符

    格式:关系表达式 ? 表达式1 : 表达式2;
    范例:a > b ? a : b;

    • 计算规则:
      首先计算关系表达式的值
      如果值为true,表达式1的值就是运算结果
      如果值为false,表达式2的值就是运算结果
  • 相关阅读:
    【VR】【Unity】如何调整Quest2的隐藏系统时间日期
    JVisualVM 中线程状态(运行/休眠/等待/驻留/监视)解析
    YOLO系列算法精讲整理(持续更新)
    深入解读Prometheus Adapter:云原生监控的核心组件
    Bigemap添加自定义地图,第三方地图
    Vue vuex vue-router
    分布式合集
    边写代码边学习之mlflow
    无需编写一行代码,实现任何方法的流量防护能力
    模型部署 — PaddleNLP 基于 Paddle Serving 快速使用(服务化部署 - Docker)— 图像识别 + 信息抽取(UIE-X)
  • 原文地址:https://blog.csdn.net/xzzteach/article/details/141085794