• Java运算符


    算术运算符

    区别:

    • int a = 10
      System.out.println(++a);//11
      System.out.println(a);//11

    • int b = 10
      System.out.println(b++);//10
      System.out.println(b);//11
      注:在(C:Program FilesJavajdk1.8.0_60jrelib)中的rt.jar压缩包中的(rt.jarjavaio)的(PrintStream.class)文件中有具体细节。

    关系运算符

    ">" 大于
    ">=" 大于等于
    "<" 小于
    "<=" 小于等于
    "==" 等于
    "!=" 不等于
    关系运算符的运算结果一定是布尔类型:true/false

    逻辑运算符

    逻辑与和短路与

    • 逻辑与
      int x = 10
      int y = 8
      System.out.println(x < y & ++x < y);
      System.out.println(x);//11
    • 短路与
      int x = 10
      int y = 8
      System.out.println(x < y && ++x < y);//++x < y没有被执行
      System.out.println(x);//10
      (某些方面来看,短路与更加智能,由于后面的表达式可能不执行,所以执行效率较高。实际开发中更常用)
      (但是在某些特殊业务中,要求两边式子全部执行,这时要用逻辑与)
      //x < y 结果是false,整个表达式结果已经确定是false,所以后面的表达式没有再执行,这种现象被称为短路现象。
      //短路与才会有短路现象,逻辑与不会存在短路现象。
    • 什么情况下会发生短路或?
      第一个表达式执行结果是true,会发生短路或。
    • 什么情况下会发生短路与?
      第一个表达式执行结果是false,会发生短路与。

    赋值类运算符

    • 基本的赋值运算符:=
    • 扩展类的赋值运算符(+= -= *= /= %=)不改变运算结果类型,假设最初这个变量的类型是byte类型,无论怎么追加或追减,最终该变量的数据类型还是byte类型。

      byte i = 10;
      i += 5;//等同于:i = (byte)(i + 5)

      int k = 10;
      k += 5;//等同于:k = (int)(k + 5)

      long x = 10L;
      int y = 20;
      y += x;//等同于:y = (int)(x + 5)

    字符串连接算术运算符

    • +运算符在Java中的两个作用:
      ①加法运算(求和):数字+数字--->【求和】
      ②字符串的连接:数字+“字符串”--->“字符串”【字符串连接】
      注:在一个表达式当中可以出现多个“+”,在没有小括号的前提下,遵循自左向右的顺序进行依次运算。
      例:
      int a = 10;
      int b = 20;
      System.out.println(a + "+" + b + "=" + (a+b));//10+20=30

    三元算术运算符

    • 语法规则:
      布尔表达式 ?表达式1:表达式2
    • 执行原理:
      当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。
      当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。
      例①:
      boolean sex = true;
      char a = sex ? '男' : '女'; //不能加双引号(“”)
      System.out.println(a); //男
      例②
      boolean sex = true;
      System.out.println(sex ? '男' : "女"); //输出男,因为print里面可以放字符串也可以放字符。
      例③
      boolean sex = true;
      String s = sex ? "男的" : "女的";
      System.out.println(s); //男的
  • 相关阅读:
    使用Java实现对MySql数据库的导入与导出
    【转】揭开J2EE集群的神秘面纱
    Memcached深度分析
    HSQL入门及使用指南
    系统架构基础篇(高性能基础建设说明与选型条件)
    架构之美 摘抄
    JMS规范及相关实现
    spring3中使用@value注解获取属性值
    Thread Dump 分析综述
    什么中间件及中间件服务器?
  • 原文地址:https://www.cnblogs.com/yu011/p/12632537.html
Copyright © 2020-2023  润新知