java中运算符、表达式与语句.ppt
《java中运算符、表达式与语句.ppt》由会员分享,可在线阅读,更多相关《java中运算符、表达式与语句.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022/12/211第第3章章 运算符、表达式与语句运算符、表达式与语句 本章导读本章导读n算术运算符和算术表达式算术运算符和算术表达式n关系运算符与关系表达式关系运算符与关系表达式n逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式n赋值运算符与赋值表达式赋值运算符与赋值表达式n移位运算符移位运算符 位运算符和条件运算符位运算符和条件运算符ninstanceof 运算符运算符n一般表达式一般表达式n语句概述语句概述n分支语句、循环语句和跳转语句分支语句、循环语句和跳转语句2022/12/2123.1 算术运算符和算术表达式算术运算符和算术表达式(1)加减运算符 加减运算的运算符号分别为+和,是双
2、目运算符。加减运算的结合性是从左到右。加减运算的操作元是整型或浮点型数据,加减运算符的优先级是4级。(2)乘、除和求余运算符 乘、除和求余运算的运算符号为*、/、%,都是双目运算符。*、/、%运算符的结合性是从左到右,例如:2*3/8,先计算2*3,然后再将得到的结果除以8。乘、除和求余运算的操作元是整型或浮点型数据。*、/、%运算符的优先级是3级。2022/12/213(3)自增、自减运算符 自增、自减运算的运算符号为+、-,都是单目运算符,运算符的优先级是2级。运算符可以放在操作元之前,也可以放在操作元之后,但操作元必须是一个整型或浮点型变量(不能是常量或表达式)。运算符的作用是使变量的值
3、增1或减1,如:+x,-x表示在使用x之前,先使x的值加(减)1。x+,x-表示在使用x之后,使x的值加(减)1。粗略地看,+x和x+的作用相当于x=x+1。但+x和x+的不同之处在于,+x是先执行x=x+1再使用x的值,而x+是先使用x的值再执行x=x+1。如果 x的原值是5,则:对于y=+x;y的值为6。对于y=x+;y的值为5,然后x的值变为6。2022/12/214(4)算术表达式 用算术符号和操作元连接起来的符合Java语法规则的式子,称为算术表达式。如 x+2*y-30+3*(y+5)-12+n+(-n)x+2*y-30+3*(y+5)-12+n+(-n)(5)算术混合运算的精度
4、精度从“低”到“高”排列的顺序是:byte short int long float double Java将按运算符两边的操作元的最高精度保留结果的精度,例如:5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。char型数据和整型数据运算结果的精度是int。例如:byte k=18;那么H+k;的结果是int型,因此下列写法是不正确的,char ch=H+k;应当写成:char ch=(char)(H+k);2022/12/2153.2关系运算符与关系表达式关系运算符与关系表达式 关系运算符用来比较两个值的关系,关系运算符的运算结果是boolean型数据,当运算符对应的关系
5、成立时,运算结果是true,否则是false。(1 1)大小关系运算符)大小关系运算符 大小关系运算的符号分别是、=、=,都是双目运算符,操作元是数值型的常量、变量或表达式。例如,10910151的结果是true。大小关系运算符的级别是6级。(2 2)等与不等关系)等与不等关系 等与不等关系运算的符号分别是=和!=,都是双目运算符。运算符的级别是7级。(3 3)关系表达式)关系表达式 结果为数值型的变量或表达式可以通过关系运算符形成关系表达式。例如,2418,(x+y+z)30+x等。2022/12/2163.3逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 逻辑运算用来实现boolean型数据
6、的逻辑“与”、“或”和“非”运算,运算结果是boolean型数据。(1 1)逻辑)逻辑“与与”和逻辑和逻辑“或或”逻辑“与”和逻辑“或”运算的符号是&、|,是双目运算符,操作元是boolean型的变量或求值结果是boolean型数据的表达式。&的的运运算算法法则则是是:当两个操作元的值都是true时,运算结果是true,否则是false。|的的运运算算法法则则是是:当两个操作元的值都是flase时,运算结果是false,否则是true。&和|的级别分别是11和12级,结合性是左到右。短路逻辑运算符短路逻辑运算符:逻辑运算符&和|也称做短路逻辑运算符。进进行行op1&op2op1&op2运运算算
7、时时,如果op1的值是false,&运算符在运算时不再去计算op2的值,直接就得出op1&op2的结果是false。当当op1op1的的值值是是truetrue时时,|运算符在运算时不再去计算op2的值,直接就得出op1|op2的结果是true。2022/12/217(2 2)逻辑)逻辑“非非”逻辑“非”运算的符号是!,是单目运算符,操作元在左面。当操作元的值是TURE时,运算结果是FALSE;反之为TURE。!的运算级别是2级,结合性从右到左。例如,!X 相当于!(!X)。(3 3)逻辑表达式)逻辑表达式 结果为boolean型的变量或表达式可以通过逻辑运算符形成逻辑表达式。例如,2418&
8、40,x!=0|y!=0。2022/12/2183.4赋值运算符与赋值表达式赋值运算符与赋值表达式 赋值运算符:=。赋值运算符是双目运算符,左面的操作元必须是变量,不能是常量或表达式。设x是一个整型变量,y是一个boolean型变量,x=120和 y=false都是正确的赋值表达式,赋值运算符的优先级较低,是14级,结合方向右到左。赋值表达式的值就是“=”左面变量的值。注意不要将赋值运算符“=”与等号运算符“=”混淆。2022/12/2193.5 移位运算符移位运算符 位运算符用来对二进制位进行操作,分为左移位操作和右移位操作。(1)左移位运算符)左移位运算符 左移位运算的符号为,是双目运算符
9、。左移位运算符左面的操作元称作被移位数,右面的操作数称作移位量,操作元必须是整型类型的数据。假设a是一个被移位的整型数据,n是位移量。an运算的结果是通过将a的所有位都左移n位,每左移一个位,左边的高阶位上的0或1被移出丢弃,并用0填充右边的低位。例如例如int类型数据7的二进制表示是 00000000 00000000 00000000 00000111 可以对整型数据进行移位运算:左移位或右移位运算。例如,71得到的结果是:00000000 00000000 00000000 00001110 整数 14 对于对于bytebyte或或shortshort型数据,型数据,anan的运算结果是
10、的运算结果是intint型精度型精度。当进行 a2 运算时,计算系统首先将a升级为int型数据,对于正数将高位用0填充;负数用1填充。注注:如果把a1的结果赋值给一个byte型变量就必须进行强制转换运算:byte b=(byte)(a1);byte b=(byte)(a,是双目运算符。假设a是一个被移位的整型数据,n是位移量。an运算的结果是通过将a的所有位都右移n位,每右移一个位,右边的低阶位被移出丢弃,并用0或1填充左边的高位,a是正数用0填充,负数时用1填充。因此,a每右移一次,如果该数的每一计算有效位都没有从低位移出时,就相当于将a除以2并舍弃了余数。整数不断右移位的最后结果一定是0,
11、而负数不断右移位的最后结果是-1。对于对于bytebyte或或shortshort型数据,型数据,anan的运算结果是的运算结果是intint型精度。型精度。下面的例子3-1中,显示了类型转换的结果。效果如图3-1所示.2022/12/2111例子3-1效果图2022/12/21123.6位运算符位运算符 (1 1)“按位与按位与”运算符运算符&是双目运算符,对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运运算算法法则则是是:如果a、b两个数据对应位都是1,则c的该位是1,否则是0。如果b的精度高于a,那么结果c的精度和b相同。(2 2)“按位或按位或”运算符运算符|是双目运算符
12、。对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位都是0,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度和b相同。(3 3)“按位非按位非”运算符运算符 是单目运算符。对一个整型数据a按位进行运算,运算结果是一个整型数据c。运算法则是:如果a对应位是0,则c的该位是1,否则是0。2022/12/2113(4 4)“按位异或按位异或”运算符运算符 是双目运算符。对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运运算算法法则则是是:如果a、b两个数据对应位相同,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 运算 表达式 语句
限制150内