第四章 运算符表达式和流程控制优秀PPT.ppt
《第四章 运算符表达式和流程控制优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第四章 运算符表达式和流程控制优秀PPT.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 运算符表达式和流程控制第一页,本课件共有77页第四章 运算符、表达式和流程控制 本章学习目标1、运算符2、表达式3、分支语句4、循环语句5、递归第二页,本课件共有77页运算符 1)算术运算符:+,-,*,/,%,+,-2)关系运算符:,=,5)赋值运算符:=6)扩展赋值运算符:+=,-=,*=,/=7)字符串连接运算符:+8)条件运算符:?:第三页,本课件共有77页例4-1 使用取模运算符public class TestRemainderpublic static void main(String args)int i=10%3;System.out.println(i);Syste
2、m.out.println(-10%3);double d=11%3.5;System.out.println(d);System.out.println(-11%3.5);运算结果:第四页,本课件共有77页例4-2 使用关系运算符public class TestComparisonpublic static void main(String args)int a=4;int b=5;if(a=b)System.out.println(a等于b);if(a!=b)System.out.println(a不等于b);第五页,本课件共有77页if(a b)System.out.println(a
3、大于b);if(a=b)System.out.println(a大于等于b);if(a=b)System.out.println(a小于等于b);运行结果:第六页,本课件共有77页逻辑运算符1)逻辑运算符功能 !-逻辑非&-逻辑与|-逻辑或 -逻辑异或&-短路与|-短路或2)逻辑运算符功能说明:第七页,本课件共有77页短路逻辑运算符使用短路逻辑运算符&和|可实现“短路”的“与”和“或”运算的功能-当根据第一个操作数的值已经能够确定整个表达式的结果时,将跳过对第二个操作数值的评估,直接得出最终结果。public void m1(int n)if(n31)System.out.println(“非
4、法赋值”);第八页,本课件共有77页例4-3 使用短路的逻辑运算符 class Personprivate String name;private int age;public Person(String name,int age)this.name=name;this.age=age;public void setAge(int age)this.age=age;第九页,本课件共有77页public int getAge()return age;public void setName(String name)this.name=name;public String getName()retu
5、rn name;第十页,本课件共有77页public class TestShortCircuitingpublic static void main(String args)Person p1=null;if(p1!=null)&(p1.getAge()=10)System.out.println(可以学Java!);elseSystem.out.println(有问题,不能学Java!);运行结果:有问题,不能学Java!第十一页,本课件共有77页位运算符 1)位运算符功能 取反&按位与|按位或 按位异或2)位运算符功能说明:第十二页,本课件共有77页Java整数二进制表示1)Java语言
6、二进制数采用补码形式表示,数正负区分标志:符号位。2)正数进制转换 十进制-二进制:除2取余、除尽为止 二进制-十进制:累加求和3)负数进制转换 十进制-二进制:1、取绝对值 2、转换为二进制 3、逐位取反 4、加1 二进制-十进制:1、减1 2、逐位取反 3、转换为十进制正数 4、乘-1第十三页,本课件共有77页例4-4 使用位运算符 public class TestBitwiseOperatorpublic static void main(String args)int a=9&12;int b=9|12;int c=9 12;int d=12;System.out.println(a
7、);System.out.println(b);System.out.println(c);System.out.println(d);输出结果:8 13 5 -13第十四页,本课件共有77页移位运算符 1)移位运算符用于对整型数据的二进制位进行移位处理。用于图形图像等低层处理及科学计算上。2)左移:“ab;”将二进制形式的a逐位右移b位,最高位(左侧)空出的b位补原来的符号位;4)无符号右移 “ab;”将二进制形式的a逐位右移b位,最高位空出的b位补0。第十五页,本课件共有77页移位运算展示第十六页,本课件共有77页移位运算符性质1)适用数据类型:byte,short,char,int,lo
8、ng,对低于int型(32位)的操作数将先自动转换为int 型,再进行移位。2)对于int 型整数移位ab,系统先将b对32取模,得到的结果才是真正移位的位数。3)对于long型整数移位时ab,则先将移位位数b对64取模。第十七页,本课件共有77页使用移位运算符public class Test public static void main(String args)int a=10;int j=a3;int k=a32;System.out.println(“j=”+j);System.out.println(“k=”+k);System.out.println(“m=”+m);输出结果:j
9、=1 k=80 m=10第十八页,本课件共有77页例4-5 实现二进制的屏蔽效果 public class TestMask/*获取指定整数num二进制表示从右侧数第n位的值*n从1开始,到32结束*/public int getOneBit(int num,int n)int i=1 (n-1);第十九页,本课件共有77页public static void main(String args)int x=6;TestMask tm=new TestMask();System.out.print(tm.getOneBit(x,4);System.out.print(tm.getOneBit(x
10、,3);System.out.print(tm.getOneBit(x,2);System.out.print(tm.getOneBit(x,1);输出结果:0110第二十页,本课件共有77页赋值运算符1)将等号右侧表达式的值赋给等号左侧的变量。2)赋值操作时遵循值传递原则。3)“=”左侧必须是一个已经声明过的变量,而不允许是常量或复合表达式。int i=5,j=6;/合法 j=i+10;/合法 10=i+j;/非法 i+j=10;/非法4)赋值运算符左右两侧的数据类型应保持一致,可以自动进行类型转换的情况除外。第二十一页,本课件共有77页扩展赋值运算符将赋值运算符和其他的运算符结合起来可以组
11、成扩展赋值运算符,以实现简化的运算标记效果。第二十二页,本课件共有77页条件运算符1)语法格式:?:2)说明:其中必须是boolean类型,系统将首先广告牌的值,当其值为true时,则将的值作为整个表达式的最终结果,否则将的值作为整个表达式的最终结果。3)举例:int score=50;int result=x60?60:x;String type=scope=60)?及格:不及格;System.out.println(result);第二十四页,本课件共有77页自增/自减运算符1)+/-也称增量/减量运算符,用于对单个变量进行增1和减1操作。2)可以单独使用,也可用于复合表达式中;运算符可以
12、位于变量之前,也可用于变量之后:位于变量之前时,先进行变量的增量/减量运算,然后再取用变量的值计算整个表达式的结果;位于变量之后时,先取用变量的值计算整个表达式的结果,然后才进行变量的增量/减量运算。第二十五页,本课件共有77页例4-7 使用自增自减运算符public class TestIncrementpublic static void main(String args)int i=5,j;j=+i;/等价于j=i+1;j=i;System.out.println(i=+i+tj=+j);j=i+;/等价于j=i;i=i+1;System.out.println(i=+i+tj=+j);
13、j=4*i-;/等价于j=4*i;i=i-1;System.out.println(i=+i+tj=+j);运行结果:第二十六页,本课件共有77页字符串连接运算符+1)“+”除用于算术加法运算外,还可用于对字符串进行连接操作。2)“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。第二十七页,本课件共有77页例4-8 实现字符串连接操作public class TestConcatpublic static void main(String args)int i=300+5;String s=Hello,+world!;Syst
14、em.out.println(s);s=你好,+i +号;System.out.println(s);运行结果:第二十八页,本课件共有77页表达式1)表达式是符合一定语法规则的运算符和操作数的序列。2)表达式的类型和值 对表达式中操作数进行运算得到的结果称为表达式的值 表达式的值的类型即为表达式的类型3)表达式的运算顺序 首先应按照运算符的优先级从高到低的顺序进行 优先级相同的运算符按照事先约定的结合方向进行第二十九页,本课件共有77页4)运算符优先级/结合方向第三十页,本课件共有77页例4-9 特殊的表达式public class TestExpressionpublic static vo
15、id main(String args)int i,j,k;i=j=k=5+3;/等价于 i=(j=(k=5);System.out.println(i+t+j+t+k);boolean b=false;if(b=true)/注意,这里只有一个=号System.out.println(ok!);elseSystem.out.println(error!);A a=new A();a.ma();/合法第三十一页,本课件共有77页/System.out.println(a.ma();/非法/int result=a.ma();/非法 class Apublic void ma()System.ou
16、t.println(In method ma()!);运行结果:第三十二页,本课件共有77页数值类型转换1)表达式运算中会出现将数值从一种类型转换为另外一种类型的情况。2)自动类型转换int n=35;long a=n;float f=n;double d=c;double e=3.14f;3)强制类型转换int i=(int)3.14;byte b=(byte)i;第三十三页,本课件共有77页例4-10 数值的类型转换public class TestConversionpublic static void main(String args)int i1=1234567891;float f
17、=i1;/合法,但仍然可能存在精度损失System.out.println(f);double d1=i1;/合法,不存在精度损失System.out.println(d1);double d2=3.99;int i2=(int)d2;System.out.println(i2);第三十四页,本课件共有77页byte a=37;/合法byte b=112;/合法/byte c=200;/非法,超出表数范围/byte d=a+b;/非法,可能存在精度损失int e=a+b;/合法System.out.println(e);int k=12;/byte b1=k;/非法,可能存在精度损失运算结果:
18、第三十五页,本课件共有77页程序运行流程 按照运行流程来划分,程序可分为三种基本结构-顺序性结构、分支结构和循环结构。1)顺序性结构:按照语句出现的顺序依次执行的程序结构。第三十六页,本课件共有77页2)分支结构:也称选择性结构,有条件地执行或跳过特定的语句或语句块,实现有选择的流程执行。第三十七页,本课件共有77页3)循环结构:在一定的条件下重复执行特定的代码。第三十八页,本课件共有77页if-else语句if-else语句用于实现分支结构,其中的else子句不是必须的,if语句又可细分为三种形式:1)使用if语句实现单路分支结构 语法格式:if()使用举例:第三十九页,本课件共有77页例4
19、-11 使用if语句实现单路分支结构 import java.util.*;public class TestIfpublic static void main(String args)Scanner sc=new Scanner(System.in);System.out.print(Input score:);int score=sc.nextInt();if(score 90)System.out.print(Input your name:);String name=sc.next();System.out.println(name:+name);运行结果:Input score:91
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 运算符表达式和流程控制优秀PPT 第四 运算 表达式 流程 控制 优秀 PPT
限制150内