码迷,mamicode.com
首页 > 其他好文 > 详细

第三章 表达式

时间:2014-11-26 01:06:33      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   使用   sp   数据   on   div   

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;//2147483647
int i2=unchecked(i1+1);//-2147483648

 

第三章 表达式

标签:style   blog   io   color   使用   sp   数据   on   div   

原文地址:http://www.cnblogs.com/boywg/p/4122172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!