您的位置:首页 > 编程语言 > Java开发

11 csdn java第三课 课堂总结

2012-03-28 22:20 375 查看
运算符和表达式

基本概念

运算符
用于标记对数据执行某种运算的特定符号 。

操作数:参加运算的数据称为运算对象(操作数)。

运算符标明对操作数进行何种操作;

操作数可以是变量、常量或有返回值的方法调用等其他的表达式。

按运算符的功能,将运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符等

按参与运算的操作数的个数,将运算符分为:单目运算符、双目运算符、三目运算符

表达式:

表达式(expression)是由若干操作数(operand)和运算符(operator)按照约定规则构成的一个序列。

达式中的数据类型转换:
(1)自动类型转换

当不同类型的常量和变量在表达式中混合使用时,它们最终将被转换为同一类型,然后进行运算。为了保证精度,转换从表示数的范围较小的数据类型到表示数的范围较大的数据类型。
(2)强制类型转换

格式:(目标数据类型)变量或表达式

例如:(float)5 / 9 * (f - 32)
注意:强制类型转换时,由于目标数据类型的取值范围小于待转换数据类型的取值范围,在转换过程中会出现截断,导致高位数据丢失或精度下降。

例:将32位整数65366强制转换为byte型后,整数的高位被截掉,只剩下低8位,字节数据为86,导致数据丢失。

java运算符:

一、算术运算符:

  单目:+(取正)-(取负) ++(自增1) - -(自减1)

  双目:+ - * / %(取余)

  三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。

二、关系运算:

  等于符号:==,不等于符号: != ,大于符号:>, 小于符号:<,大于等于符号: >= ,小于等于符号: <= 。

三、位运算符 逻辑运算符:

  位运算符 与(&)、非(~)、或(|)、异或(^)

  &:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000

  | :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110

  ~:0变1,1变0

  ^:两边的位不同时,结果为1,否则为0.如1100^1010=0110

  逻辑运算符

  与(&&)、非(!)、或(||)

四、赋值运算符

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

五、instanceof运算符

  该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算结果是true,否则是false。

运算符优先级表


[align=center]优先级[/align]
[align=center]运算符[/align]
[align=center]结合性[/align]
[align=center]1[/align]
[align=center]() [] .[/align]
从左到右
[align=center]2[/align]
[align=center]! +(正) -(负) ~ ++ --[/align]
从右向左
[align=center]3[/align]
[align=center]* / %[/align]
从左向右
[align=center]4[/align]
[align=center]+(加) -(减)[/align]
从左向右
[align=center]5[/align]
[align=center]<< >> >>>[/align]
从左向右
[align=center]6[/align]
[align=center]< <= > >= instanceof[/align]
从左向右
[align=center]7[/align]
[align=center]== !=[/align]
从左向右
[align=center]8[/align]
[align=center]&(按位与)[/align]
从左向右
[align=center]9[/align]
[align=center]^[/align]
从左向右
[align=center]10[/align]
[align=center]|[/align]
从左向右
[align=center]11[/align]
[align=center]&&[/align]
从左向右
[align=center]12[/align]
[align=center]||[/align]
从左向右
[align=center]13[/align]
[align=center]?:[/align]
从右向左
[align=center]14[/align]
[align=center]= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=[/align]
从右向左
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: