搜索
您的当前位置:首页正文

02 Java的运算符、表达式 和 语句

来源:二三娱乐

Java语言中的运算符(也称操作符)在风格和功能上都与C 和C++极为相似。

  • 按操作数分为一元,二元和三元
  • 按照功能: 包含算术,关系,逻辑,位,赋值组合等几种运算符.
运算符优先级从高到低

总结 运算符优先级大体顺序,从高到低是:算术运算符→位运算符→关系运算符→逻辑运算符→赋值运算符。

  • ==和!=可以应用于基本数据类型和引用数据类型。当用于引用数据类型比较时,比较的是两个引用是否指向同一个对象,但在当时实际开发过程中多数情况下,只是比较对象的内容是否相当,不需要比较是否为同一个对象。
  • 提示 短路与(&&)和短路或(||)能够采用最优化的计算方式,从而提高效率。在实际编程时,应该优先考虑使用短路与和短路或。
  • 有符号右移n位,相当于操作数除以2n。另外,左位移n位,相当于操作数乘以2n。
  • 比较运算符得到的结果是true or false布尔常量
  • 位运算符注意 异或 ^是不同为真,相同为假。10为1 11为0; 若一个数异或2次或2次的倍数有还原的效果
  • 三元运算符格式: (条件表达式) ? 表达式1 : 表达式2;
位运算符

其他运算符

  • 除了前面介绍的主要运算符,Java还有一些其他运算符。
    三元运算符(? :)。例如x?y:z;,其中x、y和z都为表达式。
  • 小括号。起到改变表达式运算顺序的作用,它的优先级最高。
    中括号。数组下标。
  • 引用号(.)。对象调用实例变量或实例方法的操作符,也是类调用静态变量或静态方法的操作符。
  • 赋值号(=)。赋值是用等号运算符(=)进行的。
  • instanceof。判断某个对象是否为属于某个类。
  • new。对象内存分配运算符。
  • 箭头(->)。Java 8新增加的,用来声明Lambda表达式。
  • 双冒号(::)。Java 8新增加的,用于Lambda表达式中方法的引用。

考考你

Q: "6+6"+6+6 的输出结果
A: 是 6+666, 这是"+"字符连接符导致.

Q: -2%5
A: 为-2(算术运算符中除法符号看左边就行。)

关于instance of关键字
(Integer)null编译和运行完美通过, 结果为null
null instanceof 任意类 都为false

参考

《Java语言程序设计》华东交大版 丁振凡 主编

Top