《【教学课件】第3章运算符、表达式与语句.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章运算符、表达式与语句.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 运算符、表达式与语句运算符、表达式与语句本章导读本章导读1 1、算术运算符和算术表达式算术运算符和算术表达式算术运算符和算术表达式算术运算符和算术表达式2 2、关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式3 3、逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式4 4、赋值运算符与赋值表达式赋值运算符与赋值表达式赋值运算符与赋值表达式赋值运算符与赋值表达式5 5、移位运算符移位运算符移位运算符移位运算符6 6、位运算符位运算符位运算符位运算符7 7、条件运算符条件运算符条件运算符条件运算符本章导读本章
2、导读8 8、instanceof instanceof 运算符运算符运算符运算符9 9、一般表达式一般表达式一般表达式一般表达式1010、语句概述语句概述语句概述语句概述1111、分支语句分支语句分支语句分支语句1212、循环语句循环语句循环语句循环语句1313、跳转语句跳转语句跳转语句跳转语句3.1 算术运算符和算术表达式算术运算符和算术表达式n n加减运算符加减运算符加减运算符加减运算符(+(+、-)-)qq结合性是从左到右结合性是从左到右结合性是从左到右结合性是从左到右qq双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据双目运算
3、符,操作元是整型或浮点型数据qq优先级是优先级是优先级是优先级是4 4级级级级n n乘、除和求余运算符乘、除和求余运算符乘、除和求余运算符乘、除和求余运算符(*(*、/、%)%)qq结合性是从左到右结合性是从左到右结合性是从左到右结合性是从左到右qq双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据qq5%2.25%2.2qq优先级是优先级是优先级是优先级是3 3级级级级n n自增、自减运算符自增、自减运算符自增、自减运算符自增、自减运算符(+(+、-)-)qq都是单目运算符,操作元必须是一个整型或浮
4、点型变量都是单目运算符,操作元必须是一个整型或浮点型变量都是单目运算符,操作元必须是一个整型或浮点型变量都是单目运算符,操作元必须是一个整型或浮点型变量(不能是常量或表达式不能是常量或表达式不能是常量或表达式不能是常量或表达式),作用是使变量的值增,作用是使变量的值增,作用是使变量的值增,作用是使变量的值增1 1或减或减或减或减1 1。qq运算符的优先级是运算符的优先级是运算符的优先级是运算符的优先级是2 2级。级。级。级。qq运算符可以放在操作元之前运算符可以放在操作元之前运算符可以放在操作元之前运算符可以放在操作元之前(前置式前置式前置式前置式),也可以放在操作,也可以放在操作,也可以放在
5、操作,也可以放在操作元之后元之后元之后元之后(后置式后置式后置式后置式)。n nint x=5;int y=x+;int x=5;int y=x+;n nint x=5;int y=+x;int x=5;int y=+x;n nint x=5;int y=x-;int x=5;int y=x-;n nint x=5;int y=-x;int x=5;int y=-x;n n算术表达式算术表达式算术表达式算术表达式qq用算术符号和操作元连接起来的符合用算术符号和操作元连接起来的符合用算术符号和操作元连接起来的符合用算术符号和操作元连接起来的符合JavaJava语法规则的语法规则的语法规则的语法规
6、则的式子,称为算术表达式。式子,称为算术表达式。式子,称为算术表达式。式子,称为算术表达式。qqx+2*y-30+3*(y+5)-12+n+(-n)x+2*y-30+3*(y+5)-12+n+(-n)n n算术混合运算的精度算术混合运算的精度算术混合运算的精度算术混合运算的精度qq精度从精度从精度从精度从“低低低低”到到到到“高高高高”排列的顺序是:排列的顺序是:排列的顺序是:排列的顺序是:n nbyte short int long float doublebyte short int long float doubleqqJavaJava将按运算符两边的操作元的最高精度保留结果的将按运算符
7、两边的操作元的最高精度保留结果的将按运算符两边的操作元的最高精度保留结果的将按运算符两边的操作元的最高精度保留结果的精度。精度。精度。精度。n n5/25/2的结果是的结果是的结果是的结果是2 2。n n要想得到要想得到要想得到要想得到2.52.5,必须写成,必须写成,必须写成,必须写成5.0/25.0/2或或或或5.0f/25.0f/2。qqcharchar型数据和整型数据运算结果的精度是型数据和整型数据运算结果的精度是型数据和整型数据运算结果的精度是型数据和整型数据运算结果的精度是intint。返回返回返回返回3.2 关系运算符与关系表达式关系运算符与关系表达式n n关系运算符关系运算符关
8、系运算符关系运算符用来比较两个值的关系,关系运算符的运算结用来比较两个值的关系,关系运算符的运算结用来比较两个值的关系,关系运算符的运算结用来比较两个值的关系,关系运算符的运算结果是果是果是果是booleanboolean型数据,当运算符对应的关系成立时,运算型数据,当运算符对应的关系成立时,运算型数据,当运算符对应的关系成立时,运算型数据,当运算符对应的关系成立时,运算结果是结果是结果是结果是truetrue,否则是,否则是,否则是,否则是falsefalse。n n大小关系运算符大小关系运算符大小关系运算符大小关系运算符(、=、=)18&418&40qqx!=0|y!=0 x!=0|y!=
9、0返回返回返回返回3.4 赋值运算符与赋值表达式赋值运算符与赋值表达式n n赋值运算符赋值运算符赋值运算符赋值运算符(=)(=)qq赋值运算符是双目运算符赋值运算符是双目运算符赋值运算符是双目运算符赋值运算符是双目运算符;优先级较低,是优先级较低,是优先级较低,是优先级较低,是1414级级级级;结合方结合方结合方结合方向右到左。向右到左。向右到左。向右到左。qq左面的操作元必须是变量左面的操作元必须是变量左面的操作元必须是变量左面的操作元必须是变量(左值左值左值左值),不能是常量或表达式。,不能是常量或表达式。,不能是常量或表达式。,不能是常量或表达式。n n赋值表达式赋值表达式赋值表达式赋值
10、表达式qq用赋值运算符和操作元连接起来的符合用赋值运算符和操作元连接起来的符合用赋值运算符和操作元连接起来的符合用赋值运算符和操作元连接起来的符合JavaJava语法规则的语法规则的语法规则的语法规则的式子,称为式子,称为式子,称为式子,称为赋值表达式赋值表达式赋值表达式赋值表达式qq赋值表达式赋值表达式赋值表达式赋值表达式的值就是的值就是的值就是的值就是“=”“=”左面变量的值。左面变量的值。左面变量的值。左面变量的值。qq “=”“=”“=”“=”返回返回返回返回3.5 移位运算符移位运算符 n n移移移移位运算符位运算符位运算符位运算符用来对二进制位进行操作,分为左移位操作用来对二进制位
11、进行操作,分为左移位操作用来对二进制位进行操作,分为左移位操作用来对二进制位进行操作,分为左移位操作()()()n n都是双目运算符,左面的操作元称作都是双目运算符,左面的操作元称作都是双目运算符,左面的操作元称作都是双目运算符,左面的操作元称作被移位数被移位数被移位数被移位数,右面的操,右面的操,右面的操,右面的操作数称作作数称作作数称作作数称作移位量移位量移位量移位量,操作元必须是,操作元必须是,操作元必须是,操作元必须是整型类型的数据整型类型的数据整型类型的数据整型类型的数据qqan;an;qqa a是被移位数,是被移位数,是被移位数,是被移位数,n n是移位量。是移位量。是移位量。是移
12、位量。n n左移位运算符左移位运算符左移位运算符左移位运算符()()qq an an运算的结果是通过将运算的结果是通过将运算的结果是通过将运算的结果是通过将a a的所有位都左移的所有位都左移的所有位都左移的所有位都左移n n位,每位,每位,每位,每左移一个位,左边的高阶位上的左移一个位,左边的高阶位上的左移一个位,左边的高阶位上的左移一个位,左边的高阶位上的0 0或或或或1 1被移出丢弃,并用被移出丢弃,并用被移出丢弃,并用被移出丢弃,并用0 0填充右边的低位填充右边的低位填充右边的低位填充右边的低位qq 对于对于对于对于bytebyte或或或或shortshort型数据,型数据,型数据,型数
13、据,anan的运算结果是的运算结果是的运算结果是的运算结果是intint型精型精型精型精度。度。度。度。运算时运算时运算时运算时,计算系统,计算系统,计算系统,计算系统首先首先首先首先将将将将a a升级为升级为升级为升级为intint型数据型数据型数据型数据(对于正数将高位用对于正数将高位用对于正数将高位用对于正数将高位用0 0填充;负数用填充;负数用填充;负数用填充;负数用1 1填充填充填充填充),然后然后然后然后再进行移位。再进行移位。再进行移位。再进行移位。qqbyte a=-8;a2;byte a=-8;a2;1111,10001111,10001111,1111,1111,1111,
14、1111,1111,1111,10001111,1111,1111,1111,1111,1111,1111,10001111,1111,1111,1111,1111,1111,1110,00001111,1111,1111,1111,1111,1111,1110,0000即得到即得到-25qq 在进行在进行在进行在进行anan运算时,如果运算时,如果运算时,如果运算时,如果a a是是是是bytebyte、shortshort或或或或intint型数型数型数型数据,系统总是先计算出据,系统总是先计算出据,系统总是先计算出据,系统总是先计算出n%32n%32的结果的结果的结果的结果mm,然后进行,
15、然后进行,然后进行,然后进行amam运算。运算。运算。运算。n n例如例如例如例如:a33:a33的计算结果与的计算结果与的计算结果与的计算结果与a1a1相同相同相同相同qq 对于对于对于对于longlong型数据,系统总是先计算出型数据,系统总是先计算出型数据,系统总是先计算出型数据,系统总是先计算出n%64n%64的结果的结果的结果的结果mm,然后进行,然后进行,然后进行,然后进行ama)()qqanan运算的结果是通过将运算的结果是通过将运算的结果是通过将运算的结果是通过将a a的所有位都移右的所有位都移右的所有位都移右的所有位都移右n n位,每右位,每右位,每右位,每右移一个位,右边的
16、低阶位上的移一个位,右边的低阶位上的移一个位,右边的低阶位上的移一个位,右边的低阶位上的0 0或或或或1 1被移出丢弃,并用被移出丢弃,并用被移出丢弃,并用被移出丢弃,并用0 0或或或或1 1填充左边的高位填充左边的高位填充左边的高位填充左边的高位qqbyte a=9;a2;byte a=9;a2;0000,10010000,10010000,0000,0000,0000,0000,0000,0000,10010000,0000,0000,0000,0000,0000,0000,10010000,0000,0000,0000,0000,0000,0000,00100000,0000,0000,
17、0000,0000,0000,0000,0010(例例例例3-3-1 1)返回返回返回返回即得到即得到2。例3-1 Example3_1.javaimport java.util.*;public class Example3_1 public static void main(String args)Scanner reader=new Scanner(System.in);System.out.println(输入待移位的输入待移位的int型整数型整数:);int x=reader.nextInt();System.out.println(输入移位量输入移位量:);int n=reader
18、.nextInt();System.out.println(左移位的结果左移位的结果:+(xn);输入待移位的输入待移位的int型整数型整数:3输入移位量输入移位量:2左移位的结果左移位的结果:12右移位的结果右移位的结果:0输出结果:输出结果:3.6 位运算符位运算符n n包括包括包括包括“按位与按位与按位与按位与”运算符运算符运算符运算符(&)(&)、“按位或按位或按位或按位或”运算符运算符运算符运算符(|)(|)、“按按按按位非位非位非位非”运算符运算符运算符运算符()()、“按位异或按位异或按位异或按位异或”运算符运算符运算符运算符()()n n“&”“&”、“|”“|”、“”“”是是
19、是是双目运算符,对两个整型数据双目运算符,对两个整型数据双目运算符,对两个整型数据双目运算符,对两个整型数据a a、b b按位进行运算,运算结果是一个整型数据按位进行运算,运算结果是一个整型数据按位进行运算,运算结果是一个整型数据按位进行运算,运算结果是一个整型数据c c;如果;如果;如果;如果b b的精的精的精的精度高于度高于度高于度高于a a,那么结果,那么结果,那么结果,那么结果c c的精度和的精度和的精度和的精度和b b相同相同相同相同n n“”“”是单目运算符,对一个整型数据是单目运算符,对一个整型数据是单目运算符,对一个整型数据是单目运算符,对一个整型数据a a按位进行运算,运按位
20、进行运算,运按位进行运算,运按位进行运算,运算结果是一个整型数据算结果是一个整型数据算结果是一个整型数据算结果是一个整型数据c cn n“&”“&”运算法则是:如果运算法则是:如果运算法则是:如果运算法则是:如果a a、b b两个数据对应位都是两个数据对应位都是两个数据对应位都是两个数据对应位都是1 1,则,则,则,则c c的该位是的该位是的该位是的该位是1 1,否则是,否则是,否则是,否则是0 0n n“|”“|”运算法则是:如果运算法则是:如果运算法则是:如果运算法则是:如果a a、b b两个数据对应位都是两个数据对应位都是两个数据对应位都是两个数据对应位都是0 0,则,则,则,则c c的
21、该位是的该位是的该位是的该位是0 0,否则是,否则是,否则是,否则是1 1n n“”“”运算法则是:如果运算法则是:如果运算法则是:如果运算法则是:如果a a、b b两个数据对应位相同,则两个数据对应位相同,则两个数据对应位相同,则两个数据对应位相同,则c c的的的的该位是该位是该位是该位是0 0,否则是,否则是,否则是,否则是1 1n n“”“”运算法则是:如果运算法则是:如果运算法则是:如果运算法则是:如果a a对应位是对应位是对应位是对应位是0 0,则,则,则,则c c的该位是的该位是的该位是的该位是1 1,否,否,否,否则是则是则是则是0 0n n例例例例3-23-2返回返回返回返回例
22、例3_2 Example3_2.javapublic class Example3_2 public static void main(String args)char a=金金,木木,水水,火火,土土;char secret=z;for(int i=0;ia.length;i+)ai=(char)(aisecret);System.out.printf(密文密文:n);for(int i=0;ia.length;i+)System.out.printf(%3c,ai);for(int i=0;ia.length;i+)ai=(char)(aisecret);System.out.printf
23、(n原文原文:n);for(int i=0;i8?100:200128?100:200的结果是的结果是的结果是的结果是100100qq128?100:200128?100:200的结果是的结果是的结果是的结果是200200返回返回返回返回3.8 instanceof 运算符运算符n n该运算符是双目运算符,左面的操作元是一个对象,右面该运算符是双目运算符,左面的操作元是一个对象,右面该运算符是双目运算符,左面的操作元是一个对象,右面该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。是一个类。是一个类。是一个类。n n当左面的对象是右面的类创建的对象时,该运算的结果是当左面的对象是右面
24、的类创建的对象时,该运算的结果是当左面的对象是右面的类创建的对象时,该运算的结果是当左面的对象是右面的类创建的对象时,该运算的结果是truetrue,否则是,否则是,否则是,否则是falsefalse。n n该运算符将在第该运算符将在第该运算符将在第该运算符将在第4 4章以后使用。章以后使用。章以后使用。章以后使用。返回返回返回返回例:Strings=newString(javaisland);System.out.println(sinstanceofString);/true3.9 一般表达式一般表达式n n JavaJava的一般表达式就是用运算符及操作元连接起来的的一般表达式就是用运算
25、符及操作元连接起来的的一般表达式就是用运算符及操作元连接起来的的一般表达式就是用运算符及操作元连接起来的符合符合符合符合JavaJava规则的式子,简称规则的式子,简称规则的式子,简称规则的式子,简称表达式。表达式。表达式。表达式。n n 一个一个一个一个JavaJava表达式必须能求值,即按着运算符的计算法表达式必须能求值,即按着运算符的计算法表达式必须能求值,即按着运算符的计算法表达式必须能求值,即按着运算符的计算法则,可以计算出表达式的值。则,可以计算出表达式的值。则,可以计算出表达式的值。则,可以计算出表达式的值。qqint x=1,y=-2,n=10;x+y+nint x=1,y=-
26、2,n=10;x+y+n的值是的值是的值是的值是intint型数据型数据型数据型数据9 9。qqint x=2,y;y=xint x=2,y;y=x的值是的值是的值是的值是intint型数据型数据型数据型数据2 2。返回返回返回返回3.10 语句概述语句概述n nJavaJava里的语句可分为以下里的语句可分为以下里的语句可分为以下里的语句可分为以下5 5类:类:类:类:1 1、方法调用语句方法调用语句方法调用语句方法调用语句:对象调用类中的方法产生行为。对象调用类中的方法产生行为。对象调用类中的方法产生行为。对象调用类中的方法产生行为。n nreader.nextInt();reader.n
27、extInt();2 2、表达式语句:表达式语句:表达式语句:表达式语句:一个表达式的最后加上一个分号就构成一个表达式的最后加上一个分号就构成一个表达式的最后加上一个分号就构成一个表达式的最后加上一个分号就构成了一个语句,称作了一个语句,称作了一个语句,称作了一个语句,称作表达式语句表达式语句表达式语句表达式语句;分号是语句不可缺少的分号是语句不可缺少的分号是语句不可缺少的分号是语句不可缺少的部分。部分。部分。部分。n nx=2+3;x=2+3;返回返回返回返回3 3、复合语句:复合语句:复合语句:复合语句:可以用可以用可以用可以用“”“”和和和和“”“”把一些语句括起来构把一些语句括起来构把
28、一些语句括起来构把一些语句括起来构成复合语句,一个复合语句也称作一个成复合语句,一个复合语句也称作一个成复合语句,一个复合语句也称作一个成复合语句,一个复合语句也称作一个代码块。代码块。代码块。代码块。n n z=23+x;System.out.println(“Hello”);z=23+x;System.out.println(“Hello”);4 4、控制语句:控制语句:控制语句:控制语句:条件分支语句、循环语句和跳转语句条件分支语句、循环语句和跳转语句条件分支语句、循环语句和跳转语句条件分支语句、循环语句和跳转语句5 5、packagepackage语句语句语句语句和和和和importi
29、mport语句语句语句语句3.11 分支语句分支语句n n条件分支语句条件分支语句条件分支语句条件分支语句(if-else)(if-else)qq格式:格式:格式:格式:if(if(表达式表达式表达式表达式)else else 2 qq流程图:流程图:流程图:流程图:qq表达式的值必须是表达式的值必须是表达式的值必须是表达式的值必须是booleanboolean型的型的型的型的qq多个多个多个多个if-elseif-else语句嵌套可以形成多条件语句嵌套可以形成多条件语句嵌套可以形成多条件语句嵌套可以形成多条件if-elseif-else语句语句语句语句qq例例例例3-33-3:用户在键盘输入
30、用户在键盘输入用户在键盘输入用户在键盘输入3 3个数个数个数个数,程序判断这程序判断这程序判断这程序判断这3 3个数能构成个数能构成个数能构成个数能构成什么形状的三角形什么形状的三角形什么形状的三角形什么形状的三角形?表达式表达式表达式表达式truetruefalsefalse语句语句语句语句1 1语句语句语句语句2 2importjava.util.*;publicclassExample3_3publicstaticvoidmain(Stringargs)Scannerreader=newScanner(System.in);doublea=0,b=0,c=0;System.out.pri
31、nt(输入边a:);a=reader.nextDouble();System.out.print(输入边b:);b=reader.nextDouble();System.out.print(输入边c:);c=reader.nextDouble();if(a+bc&a+cb&b+ca)if(a*a=b*b+c*c|b*b=a*a+c*c|c*c=a*a+b*b)System.out.printf(%-8.3f%-8.3f%-8.3f构成是直角三构成是直角三角形角形,a,b,c);else if(a*ab*b+c*c&b*ba*a+c*c&c*ca*a+b*b)System.out.printf(
32、%-8.3f%-8.3f%-8.3f构成锐角三角构成锐角三角形形,a,b,c);else System.out.printf(%-8.3f%-8.3f%-8.3f构成钝角三角构成钝角三角形形,a,b,c);else System.out.printf(%f,%f,%f不能构成三角形不能构成三角形,a,b,c);输入边输入边a:3 4 5输入边输入边b:输入边输入边c:3.000 4.000 5.000 构成是直角三角形构成是直角三角形输出结果:输出结果:输入边输入边a:1 2 3输入边输入边b:输入边输入边c:1.000000,2.000000,3.000000不能不能构成三角形构成三角形输出
33、结果:输出结果:输入边输入边a:3 8 10输入边输入边b:输入边输入边c:3.000 8.000 10.000 构成钝角三角形构成钝角三角形输出结果:输出结果:有一函数:有一函数:x (x1)x (x1)y=2x-1 (1x10)y=2x-1 (1x=1)if(x10)y=2*x-1;else y=3*x-11;else y=x;输入输入x:2y=3.000000输出结果:输出结果:输入输入x:0.5y=0.500000输出结果:输出结果:输入输入x:11y=22.000000输出结果:输出结果:n ns switchwitch开关语句开关语句开关语句开关语句qq格式格式格式格式:switc
34、h(switch()case case 常量值常量值常量值常量值1 1:若干语句:若干语句:若干语句:若干语句 break;break;case case 常量值常量值常量值常量值2 2:若干语句:若干语句:若干语句:若干语句 break;break;case case 常量值常量值常量值常量值n n:若干语句:若干语句:若干语句:若干语句 break;break;default:default:若干语句若干语句若干语句若干语句 qqswitchswitch语句中表达式的值必须是整型或字符型。语句中表达式的值必须是整型或字符型。语句中表达式的值必须是整型或字符型。语句中表达式的值必须是整型或字
35、符型。qq常量值常量值常量值常量值1 1到常量值到常量值到常量值到常量值 n n必须也是整型或字符型。必须也是整型或字符型。必须也是整型或字符型。必须也是整型或字符型。qq执行过程:执行过程:执行过程:执行过程:n nswitchswitch语句首先计算表达式的值,如果表达式的值语句首先计算表达式的值,如果表达式的值语句首先计算表达式的值,如果表达式的值语句首先计算表达式的值,如果表达式的值和某个和某个和某个和某个case case 后面的常量值相同,就执行该后面的常量值相同,就执行该后面的常量值相同,就执行该后面的常量值相同,就执行该casecase里的里的里的里的若干个语句,直到碰到若干个
36、语句,直到碰到若干个语句,直到碰到若干个语句,直到碰到breakbreak语句为止。语句为止。语句为止。语句为止。n n若没有任何常量值与表达式的值相同,则执行若没有任何常量值与表达式的值相同,则执行若没有任何常量值与表达式的值相同,则执行若没有任何常量值与表达式的值相同,则执行defaultdefault后面的若干个语句;其中后面的若干个语句;其中后面的若干个语句;其中后面的若干个语句;其中defaultdefault是可有可无是可有可无是可有可无是可有可无的,如果它不存在,并且所有的常量值都和表达式的的,如果它不存在,并且所有的常量值都和表达式的的,如果它不存在,并且所有的常量值都和表达式
37、的的,如果它不存在,并且所有的常量值都和表达式的值不相同,那么值不相同,那么值不相同,那么值不相同,那么switchswitch语句就不会进行任何处理。语句就不会进行任何处理。语句就不会进行任何处理。语句就不会进行任何处理。qq需要注意的是,在同一个需要注意的是,在同一个需要注意的是,在同一个需要注意的是,在同一个switchswitch语句中,语句中,语句中,语句中,casecase后的常后的常后的常后的常量值必须互不相同。量值必须互不相同。量值必须互不相同。量值必须互不相同。qq例例例例3-43-4:使用:使用:使用:使用switchswitch语句,用户在键盘输入一个代表月语句,用户在键
38、盘输入一个代表月语句,用户在键盘输入一个代表月语句,用户在键盘输入一个代表月份的整数,程序输出是该月是在年度的第几季度?份的整数,程序输出是该月是在年度的第几季度?份的整数,程序输出是该月是在年度的第几季度?份的整数,程序输出是该月是在年度的第几季度?返回返回返回返回importjava.util.*;publicclassExample3_4publicstaticvoidmain(Stringargs)Scannerreader=newScanner(System.in);System.out.println(输入一个月份:);intn=reader.nextInt();switch(n)
39、case1:case2:case3:System.out.printf(%d月属于第一季度,n);break;case 4:case 5:case 6:System.out.printf(%d月属于第二季度月属于第二季度,n);break;case 7:case 8:case 9:System.out.printf(%d月属于第三季度月属于第三季度,n);break;case 10:case 11:case 12:System.out.printf(%d月属于第四季度月属于第四季度,n);break;default:System.out.printf(%d不代表月份不代表月份,n);输入一个月
40、份输入一个月份:44月属于第二季度月属于第二季度输出结果:输出结果:3.12 循环语句循环语句n nwhilewhile循环循环循环循环qq格式:格式:格式:格式:while (while (表达式表达式表达式表达式)若干语句若干语句若干语句若干语句 qq流程图:流程图:流程图:流程图:qq表达式的值为表达式的值为表达式的值为表达式的值为booleanboolean型数据型数据型数据型数据表达式表达式表达式表达式truetruefalsefalse循环体循环体循环体循环体n ndo-whiledo-while循环循环循环循环 qq格式:格式:格式:格式:do do 若干语句若干语句若干语句若干
41、语句 while(while(表达式表达式表达式表达式);qqdo-whiledo-while循环和循环和循环和循环和whilewhile循环的区别是:循环的区别是:循环的区别是:循环的区别是:do-whiledo-while的循环的循环的循环的循环体至少被执行一次。体至少被执行一次。体至少被执行一次。体至少被执行一次。qq流程图:流程图:流程图:流程图:qq例例例例3-53-5:分别用分别用分别用分别用whilewhile和和和和do-whiledo-while循环计算常数循环计算常数循环计算常数循环计算常数e e的近似值:的近似值:的近似值:的近似值:e=1+1/1+1/2!+1/3!+e
42、=1+1/1+1/2!+1/3!+表达式表达式表达式表达式truetruefalsefalse循环体循环体循环体循环体do do 语句入口语句入口语句入口语句入口向下执行向下执行向下执行向下执行public class Example3_5 public static void main(String args)double sum=0,item=1;int i=1;while(i=1000)sum=sum+item;i+;item=item*(1.0/i);sum=sum+1;System.out.println(e=+sum);sum=0;i=1;item=1;do sum=sum+ite
43、m;i+;item=item*(1.0/i);while(i=1000);sum=sum+1;System.out.println(e=+sum);输出结果:输出结果:n nforfor循环循环循环循环 qq格式:格式:格式:格式:for(for(表达式表达式表达式表达式1 1;表达式;表达式;表达式;表达式2 2;表达式;表达式;表达式;表达式3)3)若干语句若干语句若干语句若干语句 qq“表达式表达式表达式表达式2”2”必须是一个求值为必须是一个求值为必须是一个求值为必须是一个求值为booleanboolean型数据的表达式型数据的表达式型数据的表达式型数据的表达式qq流程图:流程图:流程
44、图:流程图:表达式表达式表达式表达式2 2truetruefalsefalse表达式表达式表达式表达式1 1循环体循环体循环体循环体表达式表达式表达式表达式3 3qq例例例例3-63-6:一个数如果恰好等于它的因子之和,这个数就:一个数如果恰好等于它的因子之和,这个数就:一个数如果恰好等于它的因子之和,这个数就:一个数如果恰好等于它的因子之和,这个数就称为称为称为称为“完数完数完数完数”。例如,。例如,。例如,。例如,6=1+2+36=1+2+3。下面使用。下面使用。下面使用。下面使用forfor循环计循环计循环计循环计算出算出算出算出10001000内的全部完数内的全部完数内的全部完数内的全
45、部完数 。返回返回返回返回publicclassExample3_6publicstaticvoidmain(Stringargs)intsum,i,j;for(i=1;i=1000;i+)for(j=1,sum=0;j=max)break;System.out.println(1+2+.n+max+的最大整数的最大整数n是是:+(i-1);for(i=1,max=200,sum=0;i=max;i+)if(i%number!=0)continue;sum=sum+i;System.out.println(max+内能被内能被+number+整除的数字之和整除的数字之和:+sum);1+2+.namiddle)start=middle;else if(na.length/2)break;if(counta.length/2)System.out.println(n+不在数组中不在数组中);else System.out.println(n+是数组中的第是数组中的第+middle+个元素个元素);请输入一个整数请输入一个整数:1212是数组中的第是数组中的第5个元素个元素输出结果:输出结果:请输入一个整数请输入一个整数:1010不在数组中不在数组中输出结果:输出结果:
限制150内