首页 第3章运算符、表达式与语句

第3章运算符、表达式与语句

举报
开通vip

第3章运算符、表达式与语句第3章运算符、表达式与语句本章导读1.算术运算符和算术表达式2.关系运算符与关系表达式3.逻辑运算符与逻辑表达式4.赋值运算符与赋值表达式5.移位运算符6.位运算符7.条件运算符8.instanceof运算符本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料在线代理|网页代理|代理网页|http://www.dailiav.com减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|http://pigproxy.cn9.一般表达式10.语句概述11.分支语句12...

第3章运算符、表达式与语句
第3章运算符、表达式与语句本章导读1.算术运算符和算术表达式2.关系运算符与关系表达式3.逻辑运算符与逻辑表达式4.赋值运算符与赋值表达式5.移位运算符6.位运算符7.条件运算符8.instanceof运算符本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料在线代理|网页代理|代理网页|http://www.dailiav.com减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|http://pigproxy.cn9.一般表达式10.语句概述11.分支语句12.循环语句13.跳转语句3.1算术运算符和算术表达式(1)加减运算符加减运算的结合性是从左到右。加减运算的操作元是整型或浮点型数据,加减运算符的优先级是4级。(2)乘、除和求余运算符乘、除和求余运算的运算符号为*、/、%,都是双目运算符。*、/、%运算符的结合性是从左到右,例如:2*3/8,先计算2*3,然后再将得到的结果除以8。乘、除和求余运算的操作元是整型或浮点型数据。*、/、%运算符的优先级是3级。(3)自增、自减运算符自增、自减运算的运算符号为:++、--,都是单目运算符,运算符的优先级是2级。运算符可以放在操作元之前,也可以放在操作元之后,但操作元必须是一个整型或浮点型变量(不能是常量或表达式)。运算符的作用是使变量的值增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。(4)算术表达式用算术符号和操作元连接起来的符合Java语法规则的式子,称为算术表达式。如x+2*y-30+3*(y+5)-12+n+(--n)。(5)算术混合运算的精度精度从“低”到“高”排列的顺序是:byteshortintlongfloatdoubleJava将按运算符两边的操作元的最高精度保留结果的精度,例如:5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。char型数据和整型数据运算结果的精度是int。例如:bytek=18;那么‘H’+k;的结果是int型,因此下列写法是不正确的,charch=’H’+k;应当写成:charch=(char)(’H’+k);返回3.2关系运算符与关系表达式关系运算符用来比较两个值的关系,关系运算符的运算结果是boolean型数据,当运算符对应的关系成立时,运算结果是true,否则是false。(1)大小关系运算符大小关系运算的符号分别是:>、>=、<、<=,都是双目运算符,操作元是数值型的常量、变量或表达式。例如,10<9的结果是false,5>1的结果是true。在书写时要特别注意的是“<=”是一个完整的符号,在“<”和“=”之间不要含有空格。大小关系运算符的级别是6级,例如,10>20-17的结果为true,因为算术运算符的级别高于关系运算符,10>20-17相当于10>(20-17)。(2)等与不等关系等与不等关系运算的符号分别是:“==”、“!=”,都是双目运算符。运算符的级别是7级。“==”和“!=”都是由2个字符组成的一个完整的符号,书写时不要含有空格。注意不要将后面讲述的赋值运算符“=”与等号运算符“==”混淆。(3)关系表达式结果为数值型的变量或表达式可以通过关系运算符形成关系表达式。例如,24>18,(x+y+z)>30+x等。返回3.3逻辑运算符与逻辑表达式逻辑运算用来实现boolean型数据的逻辑“与”、“或”和“非”运算,运算结果是boolean型数据。(1)逻辑“与”和逻辑“或”逻辑“与”和逻辑“或”运算的符号是:&&、||,是双目运算符,操作元是boolean型的变量或求值结果是boolean型数据的表达式。“&&”的运算法则是:当2个操作元的值都是true时,运算结果是true,否则是false。“||”的运算法则是:当2个操作元的值都是flase时,运算结果是false,否则是true。“&&”和“||”的级别分别是11和12级,结合性是左到右。例如,1>8&&9>2的结果为false,1>8||6>2的结果为true。由于关系运算符的级别高于&&和||的级别,所以,1>8&&9>2相当于(1>8)&&(9>2)。逻辑运算符“&&”和“||”也称做短路逻辑运算符。进行op1&&op2运算时,如果op1的值是false,“&&”运算符在运算时不再去计算op2的值,直接就得出op1&&op2的结果是false。当op1的值是true时,“||”运算符在运算时不再去计算op2的值,直接就得出op1||op2的结果是true。(2)逻辑“非”逻辑“非”运算的符号是:!,是单目运算符,操作元在左面。当操作元的值是TURE时,运算结果是FALSE;反之为TURE。“!”的运算级别是2级,结合性从右到左。例如,!!X相当于!(!X)。(3)逻辑表达式结果为boolean型的变量或表达式可以通过逻辑运算符形成逻辑表达式。例如,24>18&&4<0,x!=0||y!=0。返回3.4赋值运算符与赋值表达式赋值运算符:=。赋值运算符是双目运算符,左面的操作元必须是变量,不能是常量或表达式。设x是一个整型变量,y是一个boolean型变量,x=120和y=false都是正确的赋值表达式,赋值运算符的优先级较低,是14级,结合方向右到左。赋值表达式的值就是“=”左面变量的值。注意不要将赋值运算符“=”与等号运算符“==”混淆。返回3.5移位运算符移位运算符用来对二进制位进行移位操作,分为左移位操作和右移位操作。(1)左移位运算符左移位运算的符号为:<<,是双目运算符。左移位运算符左面的操作元称作被移位数,右面的操作数称作移位量,操作元必须是整型类型的数据。假设a是一个被移位的整型数据,n是位移量。a<<n运算的结果是通过将a的所有位都左移n位,每左移一个位,左边的高阶位上的0或1被移出丢弃,并用0填充右边的低位。对于byte或short型数据,a<<n的运算结果是int型精度。当进行a<<2运算时,计算系统首先将a升级为int型数据,对于正数将高位用0填充;负数用1填充,然后在进行移位运算。例如,对于bytea=-8;11111000在进行a<<1运算时,首先将11111000生级为int型,将高位用1填充:11111111111111111111111111111000然后在进行移位运算得到-16:11111111111111111111111111110000因此,如果把a<<1的结果赋值给一个byte型变量就必须进行强制转换运算:byteb=(byte)(a<<1);在进行a<<n运算时,如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a<<m运算。例如,a<<33的计算结果与a<<1相同。对于long型数据,系统总是先计算出n%64的结果m,然后进行a<<m运算。(2)右移位运算符右移位运算的符号为:>>,是双目运算符。假设a是一个被移位的整型数据,n是位移量。a>>n运算的结果是通过将a的所有位都右移n位,每右移一个位,右边的低阶位被移出丢弃,并用0或1填充左边的高位,a是正数用0填充,负数时用1填充。因此,a每右移一次,如果该数的每一计算有效位都没有从低位移出时,就相当于将a除以2并舍弃了余数。正数不断右移位的最后结果一定是0,而负数不断右移位的最后结果是-1。对于byte或short型数据,a>>n的运算结果是int型精度。在进行a>>n运算时,如果a是byte、short或int型数据,系统总是先计算出n%32的结果m,然后进行a>>m运算,例如,a>>33的计算结果与a>>1相同。对于long型数据,系统总是先计算出n%64的结果m,然后进行a>>m运算。在下面的例子1中,用户输入移位运算的两个操作元,程序给出右移和左移后的结果。返回3.6位运算符(1)“按位与”运算符“&”是双目运算符,对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位都是1,则c的该位是1,否则是0。如果b的精度高于a,那么结果c的精度和b相同。(2)“按位或”运算符“|”是双目运算符。对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位都是0,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度和b相同。(3)“按位非”运算符“~”是单目运算符。对一个整型数据a按位进行运算,运算结果是一个整型数据c。运算法则是:如果a对应位是0,则c的该位是1,否则是0。(4)“按位异或”运算符“^”是双目运算符。对两个整型数据a、b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位相同,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度和b相同。位运算符在操作逻辑型数据时,与逻辑运算符&&、||、!不同的是:位运算要计算完a和b之后再给出运算的结果。在下面的例子2中,利用“异或”运算的性质,对几个字符进行加密并输出密文,然后再解密。运行结果见图3-2。图3-2返回3.7条件运算符条件运算符是一个3目运算符,它的符号是:“?:”,需要连接3个操作元,用法如下:op1?op2:op3运算法则是:当op1的值是true时,op1?op2:op3运算的结果是op2的值;当op1的值是false时,op1?op2:op3运算的结果是op3的值。例如,12>8?100:200的结果是100;12<8?100:200的结果是200。返回boolean型同一数据类型3.8instanceof运算符该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算的结果是true,否则是false。该运算符将在第4章以后使用。运算的级别返回3.9一般表达式Java的一般表达式就是用运算符及操作元连接起来的符合Java规则的式子,简称表达式。一个Java表达式必须能求值,即按着运算符的计算法则,可以计算出表达式的值。例如,假如intx=1,y=-2,n=10;那么,表达式x+y+(--n)*(x>y&&x>0?(x+1):y)的值是int型数据,结果为17。返回3.10语句概述Java里的语句可分为以下5类:(1) 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 调用语句在第4章将介绍类、对象等概念,对象可以调用类中的方法产生行为,如:例子1中的reader.nextInt();(2)表达式语句一个表达式的最后加上一个分号就构成了一个语句,称作表达式语句。分号是语句不可缺少的部分。例如,赋值语句:x=23;(3)复合语句可以用“{”和“}”把一些语句括起来构成复合语句,一个复合语句也称作一个代码块。例如,{z=23+x;System.out.println("hello");}(4)控制语句控制语句包括:条件分支语句、循环语句和跳转语句。(5)package语句和import语句package语句和import语句与类、对象有关,将在第4章讲解。返回3.11分支语句1.条件分支语句(1)if-else语句.if-else语句是Java中的一条语句,由一个“if”、“else”和两个复合语句按一定格式构成,if-else语句的格式如下:if(表达式){若干语句}else{若干语句}一条if-else语句的作用是根据不同的条件产生不同的操作,执行法则如下:if后面()内的表达式的值必须是boolean型的。如果表达式的值为true,则执行紧跟着的复合语句;如果表达式的值为false,则执行else后面的复合语句。(2)多条件if-elseif-else语句程序有时需要根据多条件来选择某一操作,这时就可以使用if-elseif-else语句。if-elseif-else语句是Java中的一条语句,由一个“if”、若干个“elseif”、一个“else”与若干个复合语句按一定规则构成。语句的格式如下:if(表达式1){若干语句}elseif(表达式2){若干语句……}elseif(表达式n){若干语句}else{若干语句}有时为了编程的需要,复合语句中可以没有任何语句。一条if-elseif-else语句的作用是根据不同的条件产生不同的操作,执行法则如下:if以及elseif后面()内的表达式的值必须是boolean型的。该语句执行时,首先计算if后括号中的表达式的值,如果该表达式的值为true,则执行紧跟着的复合语句,然后就结束整个语句的执行;如果if后括号中的表达式的值为false,就依次再计算后面的elseif的表达式的值,直到出现某个表达式的值为true为止,然后执行该elseif后面的复合语句,结束整个语句的执行。如果所有的表达式的值都是false,就执行else后面复合语句,结束整个语句的执行。在下面的例子3中,用户在键盘输入3个数,程序判断这3个数能构成什么形状的三角形。2.switch开关语句switch语句是多分支的开关语句,它的一般格式定义如下:switch(表达式){case常量值1:若干个语句break;case常量值2:若干个语句break;………case常量值n:若干个语句break;default:若干语句}switch语句中表达式的值必须是整型或字符型;常量值1到常量值n必须也是整型或字符型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,就执行该case里的若干个语句,直到碰到break语句为止。若没有任何常量值与表达式的值相同,则执行default后面的若干个语句。其中default是可有可无的,如果它不存在,并且所有的常量值都和表达式的值不相同,那么switch语句就不会进行任何处理。需要注意的是,在同一个switch语句中,case后的常量值必须互不相同。下面的例子4使用了switch语句,用户在键盘输入一个代表月份的整数,程序输出是该月是在年度的第几季度。返回3.12循环语句1.while循环while语句的一般格式:while(表达式){若干语句}while语句由关键字while、括号中的一个求值为boolean型数据的表达式和一个复合语句组成,其中的复合语句称作循环体,循环体只有一条语句时,大括号“{}”可以省略,但最好不要省略,以便增加程序的可读性。表达式称作循环条件。while语句的执行规则是:(1)计算表达式的值,如果该值是true时,就进行(2),否则进行(3)。(2)执行循环体,再进行(1)(3)结束while语句的执行while语句执行规则如 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图3.5所示。while语句执行规则如流程图3.5所示。图3.5while循环语句2.do-while循环一般格式:do{若干语句}while(表达式);do-while循环和while循环的区别是:do-while的循环体至少被执行一次,如图3.6所示。下面的例子5分别用while和do-while循环计算常数e的近似值:e=1+1/1+1/2!+1/3!+……。3.for循环for语句的一般格式:for(表达式1;表达式2;表达式3){循环体}for语句由关键字for、括号中用分号分割的3个表达式,以及一个复合语句组成,其中的“表达式2”必须是一个求值为boolean型数据的表达式,而复合语句称作循环体。for语句的执行规则是:(1)计算“表达式1”,完成必要的初始化工作(2)判断“表达式2”的值,若“表达式2”的值为true,则进行(3),否则进行(4)。(3)执行循环体,然后计算“表达式3”,以便改变循环条件,进行(2)。(4)结束for语句的执行.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6=1+2+3。下面的例子6使用for循环计算出1000内的全部完数返回3.13跳转语句跳转语句是指用关键字break或continue加上分号构成的语句,例如:break;在循环语句的循环体中使用跳转语句。在一个循环中,比如循环50次的循环语句中,如果在某次循环体的执行中执行了break语句,那么整个循环语句就结束。如果在某次循环体的执行中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中continue语句后面的语句,而转入进行下一次循环。下面的例子7和例子8使用的跳转语句。返回本资料由-大学生创业|创业|创业网http://www.chuangyw.com/提供资料在线代理|网页代理|代理网页|http://www.dailiav.com减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|http://pigproxy.cn
本文档为【第3章运算符、表达式与语句】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xxj7584
暂无简介~
格式:ppt
大小:187KB
软件:PowerPoint
页数:0
分类:建造师考试
上传时间:2020-03-21
浏览量:0