Java - 操作符

1 前缀式和后缀式

     对于前缀式 ++i

int num = 0;
int a = ++num; //a = 1; num = 1;
---------
(剖析)
num = num +1;

     对于后缀式 i++

int num = 0;
int a = num++; //a = 0; num = 1;
---------
(剖析)
int temp = num;
num = num + 1;
int a = temp;
2 ==和equal

     == 和 !=

  • 基本类型:比较的是它们的值是否相等
  • 引用类型:比较的是对象的引用是否相等(包装类型也是引用类型)

     equal : equal 的默认行为也是比较引用

  • 不适用于基本类型的比较
  • 如果想要比较两个引用所对应的值,那么需要实现相应的 equal 方法。
  • String 默认实现了 equal 方法,所以我们在比较字符串是否相等的时候可以直接使用 equal
3 && 和 &

规则:
对于:& -- > 只要左右两边有一个为false,则为false;只有全部都为true的时候,结果为true
对于:&& -- > 只要符号左边为false,则结果为false;当左边为true,同时右边也为true,则结果为true

eg:

 if(str != null && !"".equals(str)){  // 1
            //do something
   }
 if(str != null & !"".equals(str)){ // 2
            //do something
  }
  • 第 1 种:
    • str != nullfalse 时,那么 !"".equals(str) 将不会执行(短路)
    • str != nulltrue 时才会执行!"".equals(str)
  • 第 2 种:
    • 不管 str != nulltrue 还是 false!"".equals(str) 都会被执行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,725评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,026评论 18 399
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 CHAPTER3 Method...
    SnailTyan阅读 4,028评论 1 4
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,407评论 0 3
  • 性能优化工具知识梳理(1) - TraceView[//www.greatytc.com/p/37c26...
    泽毛阅读 10,121评论 1 5