首页 > 代码库 > 第三章 表达式

第三章 表达式

1 操作符

表达式由操作数和操作符组成

2 算术表达式

+ - * / %

3 自增和自减表达式

++ --

4 位运算表达式

对数据按二进制位进行运算

&与、|或、^异或 `取补 <<左移 >>右移

5 赋值表达式

= += -= *= /= %= &= |= ^= <<= >>=

6 关系表达式

== != < > <= >= is

7 条件逻辑表达式

&& || !

8 其它特殊表达式

8.1 一元加减表达式

int i=+2;int j=+i;

8.2 条件表达式

i==0?x:y

8.3 类型表达式
8.3.1 类型转换表达式

(T) e

8.3.2 类型获取表达式

typeof

8.3.3 类型转换检查表达式

is as

is运算返回布尔值

as运算返回转换之后的类型

8.4 创建表达式

new

8.5 溢出表达式

checked unchecked

用于控制程序是否对算术运算和类型转换时可以发出的溢出进行检查。

如果不加申明,默认对常量表达式溢出检查为checked,而对非常量表达式的溢出检查为unchecked.

使用了checked操作符的表达式,对于常量表达式,如果运算发生溢出,代码将不能通过编译,例如下面代码都是不合法的。

byte b1=(byte) 256;// 默认为checked,错误:发生溢出byte b2=checked(255+1);//错误:发生溢出

对于非常量表达式,代码可通过编译,但执行到溢出代码时,会发生"System.OverflowException"异常,如:

byte b1=255;byte b2=checked(b1+1);//异常,发生溢出

使用了unchecked操作符的表达式,如果运算发生溢出,超出的部分将被截断,成为合法表达式。

int i1=int.MaxValue;//2147483647int i2=unchecked(i1+1);//-2147483648

 

第三章 表达式