收藏 分销(赏)

运算符表达式和流程控制.pptx

上传人:胜**** 文档编号:1662560 上传时间:2024-05-07 格式:PPTX 页数:28 大小:164.60KB
下载 相关 举报
运算符表达式和流程控制.pptx_第1页
第1页 / 共28页
运算符表达式和流程控制.pptx_第2页
第2页 / 共28页
运算符表达式和流程控制.pptx_第3页
第3页 / 共28页
运算符表达式和流程控制.pptx_第4页
第4页 / 共28页
运算符表达式和流程控制.pptx_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、4.1 运算符oJava中,运算符有四大类:算术运算符、关系运算符、位运算符和逻辑运算符。另外,还有一些附加的运算符,用于处理那些特殊情况。o赋值运算符:在介绍四大类运算符之前,先介绍赋值运算符()。它的作用是将赋值运算符后的值(常量或表达式)赋给它前面的变量。o算术运算符 主要用于数学表达式。运算符运算符名称名称运算符运算符名称名称加加减法赋值减法赋值减减*乘法赋值乘法赋值*乘乘/除法赋值除法赋值/除除%取模赋值取模赋值%取模取模递增递增加法赋值加法赋值递减递减4.1 运算符o当整型数据与浮点数据之间进行算术运算时,当整型数据与浮点数据之间进行算术运算时,Java会自动完成数会自动完成数据类

2、型的转换,计算结果为浮点数型。据类型的转换,计算结果为浮点数型。o除法(除法(/):如果除法的操作数是整型的,则所有的余数都要舍去,):如果除法的操作数是整型的,则所有的余数都要舍去,结果都是一个整数。如果除法的操作数含有结果都是一个整数。如果除法的操作数含有double型的,那么型的,那么结果是结果是double型的,否则运算结果是型的,否则运算结果是float型。型。o关于关于0的问题:的问题:“/”和和“%”运算中,如果操作数都是整型,那么运算中,如果操作数都是整型,那么0不可以做除数。如果被除数是浮点型,那么不可以做除数。如果被除数是浮点型,那么0可以作为除数。对可以作为除数。对于除法

3、,当被除数是正数时,结果为于除法,当被除数是正数时,结果为Infinity,表示无穷大。被,表示无穷大。被除数是负数时,结果为除数是负数时,结果为-Infinity,表示无穷小。对于取模,结果,表示无穷小。对于取模,结果为为NaN。o和:作用是使变量的值加和:作用是使变量的值加1或减或减1,并且只能用于变量,并且只能用于变量,不能用于常量或表达式。自增和自减运算符放在变量前,表示使不能用于常量或表达式。自增和自减运算符放在变量前,表示使用该变量之前,将变量的值加用该变量之前,将变量的值加1或减或减1;放在变量后,表示先使用;放在变量后,表示先使用变量,然后再将变量值加变量,然后再将变量值加1或

4、减或减1.o算术赋值运算有:、算术赋值运算有:、*、/、%其含义是先进行其含义是先进行相应的运算,再将结果赋给变量。相应的运算,再将结果赋给变量。(ArithmeticOperatorTest.java)4.1 运算符 o关系运算符:关系运算符:用于关系运算,用来判断两个可以比较的数据的关系。其结果是一个用于关系运算,用来判断两个可以比较的数据的关系。其结果是一个boolean型。常见于型。常见于if语句和循环语句中,语句和循环语句中,用于判断条件是否为真。用于判断条件是否为真。运算符运算符名称名称可运算数据类型可运算数据类型大于整数型、浮点型、字符型小于整数型、浮点型、字符型等于所有数据类型

5、!不等于所有数据类型大于等于整数型、浮点型、字符型小于等于整数型、浮点型、字符型4.1 运算符要注意关系运算符“”和赋值运算符“”的区别 4.1 运算符运算符运算符名称名称运算符运算符名称名称&逻辑与逻辑与!逻辑反逻辑反|逻辑或逻辑或等于等于逻辑异或逻辑异或!不等于不等于&逻辑与赋值逻辑与赋值&短路与短路与|逻辑或赋值逻辑或赋值|短路或短路或逻辑异或赋值逻辑异或赋值o逻辑运算符:逻辑运算符:能够在逻辑运算中使用的运算符。在能够在逻辑运算中使用的运算符。在Java中,用于逻辑运算的数据类中,用于逻辑运算的数据类型必须是型必须是boolean型,其结果也是型,其结果也是boolean型。型。4.1

6、 运算符o常见逻辑运算符的运算结果如表:XYX&YX|YXYX&YX|Y!Xfalsefalsefalsefalsefalsefalsefalsetruefalsetruefalsetruetruefalsetruetruetruefalsefalsetruetruefalsetruefalsetruetruetruetruefalsetruetruefalse 其中,&和|的计算结果由第一个表达式决定。&的表达式中,第一个表达式的值已经为false了,则不用对第二个表达式进行计算,结果直接得到false。只有当第一个表达式值为true时,才有必要计算第二个表达式。如果更多表达式出现,以此类推

7、。|的表达式中,只有第一个表达式为false时,才有必要计算第二个表达式的值。而&和|要求每个表达式都要计算。(LogicOperator.java)4.1 运算符o位运算符:位运算符:Java中可以使用位运算进行二进制数的运算,操作数可以是整型、字符中可以使用位运算进行二进制数的运算,操作数可以是整型、字符型或者字节型,但不能是浮点型。型或者字节型,但不能是浮点型。运算符运算符名称名称运算符运算符名称名称按位取反按位取反&按位与赋值按位与赋值&按位与按位与|按位或赋值按位或赋值|按位或按位或按位异或赋值按位异或赋值按位异或按位异或符号左移赋值符号左移赋值符号右移赋值符号右移赋值符号右移符号右

8、移无符号右移赋值无符号右移赋值符号右移符号右移4.1 运算符1.位逻辑运算符操作数操作数X操作数操作数YXX&YX|YXY0010000110111000111101102.左移右移运算符左移:将某个数的各个二进制数均向左移动指定的位数。形式为:data n、data n3.位赋值符号:先进行位运算再将结果进行赋值o其他运算符:1.“()”声明和调用一个方法时,在“()”中列出方法的参数,参数可以为空2.“”声明数组、创建数组、以及访问数组中的元素时使用。3.“.”访问对象或者访问类的成员变量或者成员方法4.实例运算符instanceof:用来判断对象是否为某一类型,运算结果为boolean型

9、。用法如下:对象标识符 instanceof 类型标识符 5.条件运算符“?:”是Java中唯一的三元运算符,相当于一个简单的ifelse语句。格式为:判断条件?操作组1:操作组2;判断条件是一个逻辑值或者逻辑表达式,如果它为TRUE则执行操作组1,否则执行操作组6.强制类型转换运算符“(type)”:可以将某个类型的变量转换为type类型。4.1 运算符优先级优先级运算符运算符结合规律结合规律1()、.(点运算符用于连接对象和其成员)、(点运算符用于连接对象和其成员)、自左至右自左至右2!、!、+、-、-(取负数)(取负数)(byte)(强制类型转换)、)(强制类型转换)、instanceo

10、f自右至左自右至左3*、/、%自左至右自左至右4+、-自左至右自左至右5、自左至右自左至右6、=自左至右自左至右7=、!、!=自左至右自左至右8&自左至右自左至右9自左至右自左至右10|自左至右自左至右11&自左至右自左至右12|自左至右自左至右13?:自右至左自右至左14各种赋值运算符及其变形运算符各种赋值运算符及其变形运算符自右至左自右至左4.1 运算符(运算符优先级与结合规律)o“+”操作符的另外一个用法用+操作符进行字符串连接 1.执行String连接 2.产生新的String至少一个参数必须是String对象非字符串对象会自动转换为String对象o圆括号“()”优先级别最高,提高了

11、括在其中的运算的优先级有时被用来帮助澄清表达式含义圆括号不会降低程序运行速度 4.1 运算符(字符串连接)o表达式是用运算符和括号将操作数连接起来,并符合Java语法规范的式子。表达式可以用于计算一个公式的值、为变量赋值以及帮助控制程序的执行流程。表达式的任务是进行计算及返回计算的结果。o表达式的返回值的数据类型取决于表达式中使用的元素。可以在一个表达式中出现多个运算符。o语句是一个执行程序的基本单元。例如:c=s;double pi=3.14;i+;System.out.println(“Hello!”);o用“”将多个语句组合而成的语句是复合语句。4.2 表达式与语句o如果两种数据类型兼容

12、,且取值范围变大的话Java自动转换。整数型与浮点型彼此兼容,字符型与逻辑型不兼容,另外字符型与浮点型也不兼容。取值范围从小到大:4.3 数据类型转换byteshortcharintlongfloatbouble小大取值范围o如果两个数据不兼容,就必须进行强制类型转换。在这里用到了强制类型转换运算符“(type)”.Example:long bigVal=99L;int val1=bigVal;/错误 int val2=(int)bigVal;int i=(int)7.5;/i=7 byte b=(byte)774;/b=64.3 数据类型转换4.3 数据类型转换o表达式中类型的提升 1.所有

13、的byte和short以及char类型的值都被提升为int 2.如果一个操作数是long型,整个表达式将被提升到long型 3.如果一个操作数是float型,整个表达式将被提升到float型 4.如果一个操作数是double型,整个表达式将被提升到double型oJava是用控制语句来改变程序执行的顺序。是用控制语句来改变程序执行的顺序。主要选择控制语句、循环控制语句和程序转主要选择控制语句、循环控制语句和程序转移语句。移语句。选择控制语句:根据表达式结果或变量状态选选择控制语句:根据表达式结果或变量状态选择语句来使程序选择不同的执行路径。择语句来使程序选择不同的执行路径。循环语句:使程序能够

14、重复执行一个或一个以循环语句:使程序能够重复执行一个或一个以上语句。上语句。跳转语句:允许程序以非线性的方式执行。跳转语句:允许程序以非线性的方式执行。4.4 控制语句oif语句:形式如下:if(布尔表达式)/.statement1 else /statement2 如果布尔表达式为真,则执行statement1,否则,执行else后的statement2,else子句是可选的 4.4 控制语句(选择控制语句)if(布尔表达式1)/statement1 else if(布尔表达式2)/statement2 else /statement3 如果表达式1为真,则执行statement1,否则判断

15、表达式2,如果表达式2为真,则执行statement2,以此类推,如果条件都不满足则执行statement3 If语句还允许嵌套形式,就是在if或者else后的statement中,可以嵌套新的if语句。else遵循“就近原则”,即它总是与距离它最近的if相对应。4.4 控制语句(选择控制语句)oswitch(表达式或某一个变量)case value1:statement1;break;case value2:statement2;break;.case valueN:statementN;break;default:statementN+1 4.4 控制语句(选择控制语句)switch语句执

16、行过程:当括号内的表达式或变量的值是value1时,则执行statement1,然后跳出switch语句;若表达式或变量的值是value2则执行statement2,然后跳出swith语句。以此类推,若表达式或变量的值不能和任何一个case后面的value值相等,则执行default后面的饿statementN+1.default语句是可选的。如果没有匹配case语句,也没有default语句,则什么也不执行。Break语句用于跳出switch语句。支持的类型是byte、short、int、char有时需要在多个case语句之间没有break语句 4.4 控制语句(选择控制语句)o1.whil

17、e语句,形式:语句,形式:while(布尔表达式布尔表达式)/循环体循环体 当表达式的值是当表达式的值是true时,执行循环体,反时,执行循环体,反之,不执行其后的循环体,执行之,不执行其后的循环体,执行while语语句接下来的语句。(句接下来的语句。(WhileTest.java)如果如果while中的布尔表达式为假,则一次循中的布尔表达式为假,则一次循环也不执行。环也不执行。4.4 控制语句(循环控制语句)o2.dowhile语句语句 do /while(布尔表达式布尔表达式);与与while语句不同的是,当第一次进入语句不同的是,当第一次进入dowhile语句,它的表达式的值为语句,它的

18、表达式的值为false时,仍然执行一次循环体。因为时,仍然执行一次循环体。因为while语句是先执行后判断条件。语句是先执行后判断条件。4.4 控制语句(循环控制语句)o3.for语句语句 for(初始化循环变量初始化循环变量;判断条件的布尔表达式判断条件的布尔表达式;循环循环变量变化变量变化)/循环体;循环体;执行过程,首先执行循环变量的初始化,接着检执行过程,首先执行循环变量的初始化,接着检验判断条件是否成立,若成立则执行循环体,然验判断条件是否成立,若成立则执行循环体,然后修改循环变量,再检验判断条件是否成立,成后修改循环变量,再检验判断条件是否成立,成立则又执行循环体,修改循环变量,以

19、此类推立则又执行循环体,修改循环变量,以此类推直至判断条件不成立时,跳出循环,结束循直至判断条件不成立时,跳出循环,结束循环。环。4.4 控制语句(循环控制语句)ofor的其他格式:的其他格式:1.for语句中的初始化循环变量可以省略,但其后的语句中的初始化循环变量可以省略,但其后的“;”不能省略。不能省略。如如ForTest.java中,将循环变量中,将循环变量i在在for语句之前声明和初始化。语句之前声明和初始化。int i=1;for(;i=n;i+)2.for语句循环体可以写在循环变量变化部分,同时循环体是空,即只语句循环体可以写在循环变量变化部分,同时循环体是空,即只有一个有一个“;

20、”一般只有循环体比较简单时,才使用这这种形式,否则一般只有循环体比较简单时,才使用这这种形式,否则降低程序的可读性。降低程序的可读性。int i=1;for(;i=n;result*=i,i+);4.4 控制语句(循环控制语句)3.for语句循环变量变化部分可以写在循环体中,语句循环变量变化部分可以写在循环体中,但循环变量变化部分的但循环变量变化部分的“;”不能省略不能省略 int i=1;for(;i=n;)i+;4.For语句中允许循环嵌套语句中允许循环嵌套4.4 控制语句(循环控制语句)5.可能经常需要在初始化和可能经常需要在初始化和for循环的反复部分包括超过一个变量循环的反复部分包括

21、超过一个变量的声明。的声明。例如:例如:int a,b;b=4;for(a=1;a b;a+)System.out.println(”a=”+a);System.out.println(“b=”+b);b-;改写后为:改写后为:int a,b;for(a=1,b=4;a b;a+,b-)System.out.println(”a=”+a);System.out.println(“b=”+b);4.4 控制语句(循环控制语句)o1.break语句用于中止一个语句序列或者一个循环。语句用于中止一个语句序列或者一个循环。在在switch语句中它只能中止语句中它只能中止case后的语句序列,不能影后的

22、语句序列,不能影响语句。响语句。在循环语句中,在循环语句中,break用于立即中止当前循环,即跳出用于立即中止当前循环,即跳出break语句所在的循环。循环中只要遇到语句所在的循环。循环中只要遇到break语句,就语句,就会忽略循环体中的任何其他语句和循环的条件测试,循环会忽略循环体中的任何其他语句和循环的条件测试,循环被终止,程序控制在循环后面的语句重新开始。被终止,程序控制在循环后面的语句重新开始。在一系列嵌套循环中使用在一系列嵌套循环中使用break语句时,它将仅仅终止最语句时,它将仅仅终止最里面的循环里面的循环 另外另外break可以与标号(可以与标号(label)连用,其中)连用,其

23、中label是标识某是标识某一代码的标签,它可以是由一代码的标签,它可以是由Java中任意合法的标识符及冒号中任意合法的标识符及冒号组合而成。当程序运行到这种组合而成。当程序运行到这种break结构时,首先停止正常的结构时,首先停止正常的执行顺序,接着将转向带有指定执行顺序,接着将转向带有指定label标号的代码块。标号的代码块。4.4 控制语句(转移语句)4.4 控制语句(转移语句)2.continue语句作用是跳过循环体后面的语句作用是跳过循环体后面的语句,接着执行下一次的判断条件。语句,接着执行下一次的判断条件。3.return语句用来明确地从一个方法返回。语句用来明确地从一个方法返回。也就是使程序控制返回到调用它的方法。也就是使程序控制返回到调用它的方法。其常用形式是:其常用形式是:return;作用是使程序控制返回到调用方法作用是使程序控制返回到调用方法或者该子程序的原位置;或者该子程序的原位置;或或return(某一表达式或变量某一表达式或变量);作用是将执作用是将执行结果传递给它的调用者行结果传递给它的调用者

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服