《运算符、表达式、语句.ppt》由会员分享,可在线阅读,更多相关《运算符、表达式、语句.ppt(51页珍藏版)》请在金锄头文库上搜索。
1、第第3章章 运算符、表达式与语句运算符、表达式与语句本章导读本章导读3.1 3.1 算术运算符和算术表达式算术运算符和算术表达式算术运算符和算术表达式算术运算符和算术表达式3.2 3.2 关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式3.3 3.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式3.4 3.4 赋值运算符与赋值表达式赋值运算符与赋值表达式赋值运算符与赋值表达式赋值运算符与赋值表达式3.5 3.5 移位运算符移位运算符移位运算符移位运算符3.6 3.6 位运算符位运算符位运算符位运算符3.7 3.
2、7 条件运算符条件运算符条件运算符条件运算符本章导读本章导读3.8 3.8 instanceofinstanceof 运算符运算符运算符运算符3.9 3.9 一般表达式一般表达式一般表达式一般表达式3.10 3.10 语句概述语句概述语句概述语句概述3.11 3.11 分支语句分支语句分支语句分支语句3.12 3.12 循环语句循环语句循环语句循环语句3.13 3.13 跳转语句跳转语句跳转语句跳转语句本章重点本章重点3.1 算术运算符和算术表达式算术运算符和算术表达式 各种各种各种各种算术运算符算术运算符算术运算符算术运算符的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先
3、级、的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先级、在表达式中的应用。在表达式中的应用。在表达式中的应用。在表达式中的应用。3.2 关系运算符与关系表达式关系运算符与关系表达式 各种关系各种关系各种关系各种关系运算符运算符运算符运算符的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先级、在表达式中的应用。在表达式中的应用。在表达式中的应用。在表达式中的应用。3.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 各种逻辑各种逻辑各种逻辑各种逻辑运算符运算符运算符运算符的表示、结合性、
4、目,操作元、优先的表示、结合性、目,操作元、优先的表示、结合性、目,操作元、优先的表示、结合性、目,操作元、优先级、在表达式中的应用。级、在表达式中的应用。级、在表达式中的应用。级、在表达式中的应用。本章重点本章重点3.4 赋值运算符赋值表达式赋值运算符赋值表达式 各种赋值各种赋值各种赋值各种赋值运算符运算符运算符运算符的表示、结合性、目,操作元、优先的表示、结合性、目,操作元、优先的表示、结合性、目,操作元、优先的表示、结合性、目,操作元、优先级、在表达式中的应用。级、在表达式中的应用。级、在表达式中的应用。级、在表达式中的应用。 3.5 移位运算符移位运算符 各种各种各种各种移位运算符移位
5、运算符移位运算符移位运算符的表示、目,操作元、优先级、在表达的表示、目,操作元、优先级、在表达的表示、目,操作元、优先级、在表达的表示、目,操作元、优先级、在表达式中的应用。式中的应用。式中的应用。式中的应用。3.6 位运算符位运算符 各种各种各种各种移位运算符移位运算符移位运算符移位运算符的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先级、的表示、结合性、目,操作元、优先级、在表达式中的应用。在表达式中的应用。在表达式中的应用。在表达式中的应用。本章重点本章重点3.7 3.7 条件运算符条件运算符条件运算符条件运算符 条件运算符条件运算
6、符条件运算符条件运算符的表示、结合性、目,操作元、优先级、在的表示、结合性、目,操作元、优先级、在的表示、结合性、目,操作元、优先级、在的表示、结合性、目,操作元、优先级、在表达式中的应用。表达式中的应用。表达式中的应用。表达式中的应用。3.8 instanceof 3.8 instanceof 运算符运算符运算符运算符 运算符运算符运算符运算符的表示、结合性、目,操作元、优先级、结果的表示、结合性、目,操作元、优先级、结果的表示、结合性、目,操作元、优先级、结果的表示、结合性、目,操作元、优先级、结果3.9 3.9 一般表达式一般表达式一般表达式一般表达式 概念、使用概念、使用概念、使用概念
7、、使用本章重点本章重点3.10 3.10 语句概述语句概述语句概述语句概述 语句分类语句分类语句分类语句分类3.11 3.11 分支语句分支语句分支语句分支语句 格式、流程图、使用格式、流程图、使用格式、流程图、使用格式、流程图、使用3.12 3.12 循环语句循环语句循环语句循环语句 有几种循环语句、格式、流程图、使用有几种循环语句、格式、流程图、使用有几种循环语句、格式、流程图、使用有几种循环语句、格式、流程图、使用3.13 3.13 跳转语句跳转语句跳转语句跳转语句 格式、流程图、使用格式、流程图、使用格式、流程图、使用格式、流程图、使用3.1 算术运算符和算术表达式算术运算符和算术表达
8、式n n加减运算符加减运算符加减运算符加减运算符(+(+、-) -)qq结合性是从左到右结合性是从左到右结合性是从左到右结合性是从左到右qq双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据qq优先级是优先级是优先级是优先级是4 4级级级级n n乘、除和求余运算符乘、除和求余运算符乘、除和求余运算符乘、除和求余运算符(* (*、/ /、%)%)qq结合性是从左到右结合性是从左到右结合性是从左到右结合性是从左到右qq双目运算符,操作元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据双目运算符,操作
9、元是整型或浮点型数据双目运算符,操作元是整型或浮点型数据qq5%2.25%2.2qq优先级是优先级是优先级是优先级是3 3级级级级n n自增、自减运算符自增、自减运算符自增、自减运算符自增、自减运算符 (+(+、- -)- -)qq都是单目运算符,操作元必须是一个整型或浮点型变量都是单目运算符,操作元必须是一个整型或浮点型变量都是单目运算符,操作元必须是一个整型或浮点型变量都是单目运算符,操作元必须是一个整型或浮点型变量( (不能是常量或表达式不能是常量或表达式不能是常量或表达式不能是常量或表达式) ),作用是使变量的值增,作用是使变量的值增,作用是使变量的值增,作用是使变量的值增1 1或减或
10、减或减或减1 1。qq运算符的优先级是运算符的优先级是运算符的优先级是运算符的优先级是2 2级。级。级。级。qq运算符可以放在操作元之前运算符可以放在操作元之前运算符可以放在操作元之前运算符可以放在操作元之前( (前置式前置式前置式前置式) ),也可以放在操作,也可以放在操作,也可以放在操作,也可以放在操作元之后元之后元之后元之后( (后置式后置式后置式后置式) )。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
11、-;n nint x=5; int y=-x;int x=5; int y=-x;n n算术表达式算术表达式算术表达式算术表达式qq用算术符号和操作元连接起来的符合用算术符号和操作元连接起来的符合用算术符号和操作元连接起来的符合用算术符号和操作元连接起来的符合JavaJava语法规则的语法规则的语法规则的语法规则的式子,称为算术表达式。式子,称为算术表达式。式子,称为算术表达式。式子,称为算术表达式。qqx+2*y-30+3*(y+5) -12+n+(-n)x+2*y-30+3*(y+5) -12+n+(-n)n n算术混合运算的精度算术混合运算的精度算术混合运算的精度算术混合运算的精度qq精
12、度从精度从精度从精度从“ “低低低低” ”到到到到“ “高高高高” ”排列的顺序是:排列的顺序是:排列的顺序是:排列的顺序是:n nbyte short int long float doublebyte short int long float doubleqqJavaJava将按运算符两边的操作元的最高精度保留结果的将按运算符两边的操作元的最高精度保留结果的将按运算符两边的操作元的最高精度保留结果的将按运算符两边的操作元的最高精度保留结果的精度精度精度精度。n n5/25/2的结果是的结果是的结果是的结果是2 2。n n要想得到要想得到要想得到要想得到2.52.5,必须写成,必须写成,必须
13、写成,必须写成5.0/25.0/2或或或或5.0f/25.0f/2。qqcharchar型数据和整型数据运算结果的精度是型数据和整型数据运算结果的精度是型数据和整型数据运算结果的精度是型数据和整型数据运算结果的精度是intint。返回返回返回返回3.2 关系运算符与关系表达式关系运算符与关系表达式n n关系运算符关系运算符关系运算符关系运算符用来比较两个值的关系,关系运算符的运算结用来比较两个值的关系,关系运算符的运算结用来比较两个值的关系,关系运算符的运算结用来比较两个值的关系,关系运算符的运算结果是果是果是果是booleanboolean型数据,当运算符对应的关系成立时,运算型数据,当运算
14、符对应的关系成立时,运算型数据,当运算符对应的关系成立时,运算型数据,当运算符对应的关系成立时,运算结果是结果是结果是结果是truetrue,否则是,否则是,否则是,否则是falsefalse。n n大小关系运算符大小关系运算符大小关系运算符大小关系运算符(、=、 、=)18&418&40qqx!=0|y!=0x!=0|y!=0返回返回返回返回3.4 赋值运算符与赋值表达式赋值运算符与赋值表达式n n赋值运算符赋值运算符赋值运算符赋值运算符( (= = ) ) qq赋值运算符是双目运算符赋值运算符是双目运算符赋值运算符是双目运算符赋值运算符是双目运算符; ;优先级较低,是优先级较低,是优先级较
15、低,是优先级较低,是1414级级级级; ;结合方结合方结合方结合方向右到左。向右到左。向右到左。向右到左。qq左面的操作元左面的操作元左面的操作元左面的操作元必须是变量必须是变量必须是变量必须是变量( (左值左值左值左值) ),不能是常量或表达式。,不能是常量或表达式。,不能是常量或表达式。,不能是常量或表达式。n n赋值表达式赋值表达式赋值表达式赋值表达式qq用用用用赋值运算符赋值运算符赋值运算符赋值运算符和操作元连接起来的符合和操作元连接起来的符合和操作元连接起来的符合和操作元连接起来的符合JavaJava语法规则的语法规则的语法规则的语法规则的式子,称为式子,称为式子,称为式子,称为赋值
16、表达式赋值表达式赋值表达式赋值表达式qq赋值表达式赋值表达式赋值表达式赋值表达式的值就是的值就是的值就是的值就是“=”“=”左面变量的值。左面变量的值。左面变量的值。左面变量的值。qq “=” “=” “=”“=”返回返回返回返回3.5 移位运算符移位运算符 n n移移移移位运算符位运算符位运算符位运算符用来对二进制位进行操作,分为左移位操作用来对二进制位进行操作,分为左移位操作用来对二进制位进行操作,分为左移位操作用来对二进制位进行操作,分为左移位操作()()()n n都是双目运算符,左面的操作元称作都是双目运算符,左面的操作元称作都是双目运算符,左面的操作元称作都是双目运算符,左面的操作元
17、称作被移位数被移位数被移位数被移位数,右面的操,右面的操,右面的操,右面的操作数称作作数称作作数称作作数称作移位量移位量移位量移位量,操作元必须是,操作元必须是,操作元必须是,操作元必须是整型类型的数据整型类型的数据整型类型的数据整型类型的数据qqan;an;qqa a是被移位数,是被移位数,是被移位数,是被移位数,n n是移位量。是移位量。是移位量。是移位量。n n左移位运算符左移位运算符左移位运算符左移位运算符()()qq a ann运算的结果是通过将运算的结果是通过将运算的结果是通过将运算的结果是通过将a a的所有位都左移的所有位都左移的所有位都左移的所有位都左移n n位,每位,每位,每
18、位,每左移一个位,左边的高阶位上的左移一个位,左边的高阶位上的左移一个位,左边的高阶位上的左移一个位,左边的高阶位上的0 0或或或或1 1被移出丢弃,并用被移出丢弃,并用被移出丢弃,并用被移出丢弃,并用0 0填充右边的低位填充右边的低位填充右边的低位填充右边的低位qq 对于对于对于对于bytebyte或或或或shortshort型数据,型数据,型数据,型数据,anan的运算结果是的运算结果是的运算结果是的运算结果是intint型精型精型精型精度。度。度。度。运算时运算时运算时运算时,计算系统,计算系统,计算系统,计算系统首先首先首先首先将将将将a a升级为升级为升级为升级为intint型数据型
19、数据型数据型数据( (对于对于对于对于正数将高位用正数将高位用正数将高位用正数将高位用0 0填充;负数用填充;负数用填充;负数用填充;负数用1 1填充填充填充填充) ),然后然后然后然后再进行移位。再进行移位。再进行移位。再进行移位。qqbyte a=-8; a2;byte a=-8; a2;1111,10001111,10001111,1111,1111,1111,1111,1111,1111,10001111,1111,1111,1111,1111,1111,1111,10001111,1111,1111,1111,1111,1111,1110,00001111,1111,1111,111
20、1,1111,1111,1110,0000即得到即得到-24 如果把如果把a1的结果赋值给一个的结果赋值给一个byte类型变量就必须类型变量就必须进行强制类型转换:进行强制类型转换:byte b=(byte)(a1);qq 在进行在进行在进行在进行anan运算时,如果运算时,如果运算时,如果运算时,如果a a是是是是bytebyte、shortshort或或或或intint型数型数型数型数据,系统总是先计算出据,系统总是先计算出据,系统总是先计算出据,系统总是先计算出n%32n%32的结果的结果的结果的结果mm,然后进行,然后进行,然后进行,然后进行aamm运算。运算。运算。运算。n n例如例
21、如例如例如:a33:a33的计算结果与的计算结果与的计算结果与的计算结果与a1a1相同相同相同相同qq 对于对于对于对于longlong型数据,系统总是先计算出型数据,系统总是先计算出型数据,系统总是先计算出型数据,系统总是先计算出n%64n%64的结果的结果的结果的结果mm,然后进行,然后进行,然后进行,然后进行ama)()qqanan运算的结果是通过将运算的结果是通过将运算的结果是通过将运算的结果是通过将a a的所有位都移右的所有位都移右的所有位都移右的所有位都移右n n位,每右位,每右位,每右位,每右移一个位,右边的低阶位上的移一个位,右边的低阶位上的移一个位,右边的低阶位上的移一个位,
22、右边的低阶位上的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,0000,0000,0000,0000,0010( (例例例例3-3
23、-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.nextInt(); System.
24、out.println(左移位的结果左移位的结果:+(xn); 输入待移位的输入待移位的int型整数型整数:3输入移位量输入移位量:2左移位的结果左移位的结果:12右移位的结果右移位的结果:0输出结果:输出结果:3.6 位运算符位运算符n n包括包括包括包括“ “按位与按位与按位与按位与” ”运算符运算符运算符运算符(&)(&)、 “ “按位或按位或按位或按位或” ”运算符运算符运算符运算符(|)(|)、“ “按按按按位非位非位非位非” ”运算符运算符运算符运算符()()、“ “按位异或按位异或按位异或按位异或” ”运算符运算符运算符运算符()()n n“&”“&”、 “ “|”|”、 “ “
25、”是是是是双目运算符,对两个整型数据双目运算符,对两个整型数据双目运算符,对两个整型数据双目运算符,对两个整型数据a a、b b按位进行运算,运算结果是一个整型数据按位进行运算,运算结果是一个整型数据按位进行运算,运算结果是一个整型数据按位进行运算,运算结果是一个整型数据c c;如果如果如果如果b b的精度的精度的精度的精度高于高于高于高于a a,那么结果,那么结果,那么结果,那么结果c c的精度和的精度和的精度和的精度和b b相同相同相同相同n n“ “”是单目运算符,对一个整型数据是单目运算符,对一个整型数据是单目运算符,对一个整型数据是单目运算符,对一个整型数据a a按位进行运算,运按位
26、进行运算,运按位进行运算,运按位进行运算,运算结果是一个整型数据算结果是一个整型数据算结果是一个整型数据算结果是一个整型数据c cn n“ “&”&”运算法则是:如果运算法则是:如果运算法则是:如果运算法则是:如果a a、b b两个数据对应位都是两个数据对应位都是两个数据对应位都是两个数据对应位都是1 1,则,则,则,则c c的的的的该位是该位是该位是该位是1 1,否则是,否则是,否则是,否则是0 0n n“|”“|”运算法则是:运算法则是:运算法则是:运算法则是:如果如果如果如果a a、b b两个数据对应位都是两个数据对应位都是两个数据对应位都是两个数据对应位都是0 0,则,则,则,则c c
27、的的的的该位是该位是该位是该位是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返回返回返回返回
28、例例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); Syst
29、em.out.printf(n原文原文:n); for(int i=0;i8?100:200128?100:200的结果是的结果是的结果是的结果是100100qq128?100:200128?100:200的结果是的结果是的结果是的结果是200200返回返回返回返回3.8 instanceof 运算符运算符n n该运算符是双目运算符,左面的操作元是一个对象,右面该运算符是双目运算符,左面的操作元是一个对象,右面该运算符是双目运算符,左面的操作元是一个对象,右面该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。是一个类。是一个类。是一个类。n n当左面的对象是右面的类创建的对象时,该运
30、算的结果是当左面的对象是右面的类创建的对象时,该运算的结果是当左面的对象是右面的类创建的对象时,该运算的结果是当左面的对象是右面的类创建的对象时,该运算的结果是truetrue,否则是,否则是,否则是,否则是falsefalse。n n该运算符将在第该运算符将在第该运算符将在第该运算符将在第4 4章章章章以后使用。以后使用。以后使用。以后使用。返回返回返回返回例:Strings=newString(javaisland);System.out.println(sinstanceofString);/true3.9 一般表达式一般表达式n n JavaJava的一般表达式就是用运算符及操作元连接
31、起来的的一般表达式就是用运算符及操作元连接起来的的一般表达式就是用运算符及操作元连接起来的的一般表达式就是用运算符及操作元连接起来的符合符合符合符合JavaJava规则的式子,简称规则的式子,简称规则的式子,简称规则的式子,简称表达式。表达式。表达式。表达式。n n 一个一个一个一个JavaJava表达式必须能求值,即按着运算符的计算法表达式必须能求值,即按着运算符的计算法表达式必须能求值,即按着运算符的计算法表达式必须能求值,即按着运算符的计算法则,可以计算出表达式的值。则,可以计算出表达式的值。则,可以计算出表达式的值。则,可以计算出表达式的值。qqint x=1,int x=1, y=-
32、2,y=-2, n=10;n=10; x+y+nx+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 nre
33、ader.nextIntreader.nextInt();();2 2、表达式语句:表达式语句:表达式语句:表达式语句:一个表达式的最后加上一个分号就构成一个表达式的最后加上一个分号就构成一个表达式的最后加上一个分号就构成一个表达式的最后加上一个分号就构成了一个语句,称作了一个语句,称作了一个语句,称作了一个语句,称作表达式语句表达式语句表达式语句表达式语句; ;分号是语句不可缺少的分号是语句不可缺少的分号是语句不可缺少的分号是语句不可缺少的部分。部分。部分。部分。n nx=2+3;x=2+3;返回返回返回返回3 3、复合语句:复合语句:复合语句:复合语句:可以用可以用可以用可以用“ “”和和
34、和和“ “”把一些语句括起来构把一些语句括起来构把一些语句括起来构把一些语句括起来构成复合语句,一个复合语句也称作一个成复合语句,一个复合语句也称作一个成复合语句,一个复合语句也称作一个成复合语句,一个复合语句也称作一个代码块。代码块。代码块。代码块。n n z=23+x; z=23+x; System.out.println(“HelloSystem.out.println(“Hello”); ”); 4 4、控制语句:控制语句:控制语句:控制语句:条件分支语句、循环语句和跳转语句条件分支语句、循环语句和跳转语句条件分支语句、循环语句和跳转语句条件分支语句、循环语句和跳转语句5 5、pack
35、agepackage语句语句语句语句和和和和importimport语句语句语句语句3.11 分支语句分支语句n n条件分支语句条件分支语句条件分支语句条件分支语句(if-else)(if-else)qq格式:格式:格式:格式:if (if (表达式表达式表达式表达式) ) else else 2 qq流程图:流程图:流程图:流程图:qq表达式的值必须是表达式的值必须是表达式的值必须是表达式的值必须是booleanboolean型的。型的。型的。型的。qq多个多个多个多个if-elseif-else语句嵌套可以形成多条件语句嵌套可以形成多条件语句嵌套可以形成多条件语句嵌套可以形成多条件if-e
36、lseif-else语句。语句。语句。语句。qq例例例例3-33-3: :用户在键盘输入用户在键盘输入用户在键盘输入用户在键盘输入3 3个数个数个数个数, ,程序判断这程序判断这程序判断这程序判断这3 3个数能构成个数能构成个数能构成个数能构成什么形状的三角形什么形状的三角形什么形状的三角形什么形状的三角形? ?表达式表达式表达式表达式truetruefalsefalse语句语句语句语句1 1语句语句语句语句2 2importjava.util.*;publicclassExample3_3publicstaticvoidmain(Stringargs)Scannerreader=newSca
37、nner(System.in);doublea=0,b=0,c=0;System.out.print(输入边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
38、(a*ab*b+c*c&b*ba*a+c*c&c*ca*a+b*b) System.out.printf(%-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 构成是直角三角形构成是直角三角形第一次运行,输出结果:第一次运行,输出结果:输入边
39、输入边a:1 2 3输入边输入边b:输入边输入边c:1.000000,2.000000,3.000000不能构成三角形不能构成三角形第二次运行,输出结果:第二次运行,输出结果:输入边输入边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第一次运行
40、,输出结果:第一次运行,输出结果:输入输入x:0.5y=0.500000第二次运行,输出结果:第二次运行,输出结果:输入输入x:11y=22.000000第三次运行,输出结果:第三次运行,输出结果:n ns switchwitch开关开关开关开关语句语句语句语句qq格式格式格式格式: :switch (switch () ) case case 常量值常量值常量值常量值1 1:若干语句:若干语句:若干语句:若干语句 break; break; case case 常量值常量值常量值常量值2 2:若干语句:若干语句:若干语句:若干语句 break; break; case case 常量值常量值
41、常量值常量值n n:若干语句:若干语句:若干语句:若干语句 break;break; default: default: 若干语句若干语句若干语句若干语句 qqswitchswitch语句中语句中语句中语句中表达式的值表达式的值表达式的值表达式的值必须是必须是必须是必须是整型或字符型整型或字符型整型或字符型整型或字符型。qq常量值常量值常量值常量值1 1到常量值到常量值到常量值到常量值 n n必须也是必须也是必须也是必须也是整型或字符整型或字符整型或字符整型或字符型。型。型。型。qq执行过程:执行过程:执行过程:执行过程:n nswitchswitch语句首先计算表达式的值,如果表达式的值语句
42、首先计算表达式的值,如果表达式的值语句首先计算表达式的值,如果表达式的值语句首先计算表达式的值,如果表达式的值和某个和某个和某个和某个case case 后面的常量值相同,就执行该后面的常量值相同,就执行该后面的常量值相同,就执行该后面的常量值相同,就执行该casecase里的里的里的里的若干个语句,直到碰到若干个语句,直到碰到若干个语句,直到碰到若干个语句,直到碰到breakbreak语句语句语句语句为止。为止。为止。为止。n n若没有任何常量值与表达式的值相同,则执行若没有任何常量值与表达式的值相同,则执行若没有任何常量值与表达式的值相同,则执行若没有任何常量值与表达式的值相同,则执行de
43、faultdefault后面的若干个语句;其中后面的若干个语句;其中后面的若干个语句;其中后面的若干个语句;其中defaultdefault是可有可无是可有可无是可有可无是可有可无的,如果它不存在,并且所有的常量值都和表达式的的,如果它不存在,并且所有的常量值都和表达式的的,如果它不存在,并且所有的常量值都和表达式的的,如果它不存在,并且所有的常量值都和表达式的值不相同,那么值不相同,那么值不相同,那么值不相同,那么switchswitch语句就不会进行任何处理。语句就不会进行任何处理。语句就不会进行任何处理。语句就不会进行任何处理。qq需要注意的是,在同一个需要注意的是,在同一个需要注意的是
44、,在同一个需要注意的是,在同一个switchswitch语句中,语句中,语句中,语句中,casecase后的常后的常后的常后的常量值必须互不相同量值必须互不相同量值必须互不相同量值必须互不相同。qq例例例例3-43-4:使用:使用:使用:使用switchswitch语句,用户在键盘输入一个代表月语句,用户在键盘输入一个代表月语句,用户在键盘输入一个代表月语句,用户在键盘输入一个代表月份的整数,程序输出是该月属于年度的第几季度?份的整数,程序输出是该月属于年度的第几季度?份的整数,程序输出是该月属于年度的第几季度?份的整数,程序输出是该月属于年度的第几季度?返回返回返回返回importjava.
45、util.*;publicclassExample3_4publicstaticvoidmain(Stringargs)Scannerreader=newScanner(System.in);System.out.println(输入一个月份:);intn=reader.nextInt();switch(n)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 :
46、 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); 输入一个月份输入一个月份:44月属于第二季度月属于第二季度输出结果:输出结果:3.12 循环语句循环语句n nwhilewhile循环循环循环循环qq格式:格式:格式:格式: while (while (表达式表达式表达式表达式) ) 若干语句若干语句
47、若干语句若干语句 qq流程图:流程图:流程图:流程图:qq表达式的值为表达式的值为表达式的值为表达式的值为booleanboolean型数据型数据型数据型数据表达式表达式表达式表达式truetruefalsefalse循环体循环体循环体循环体n ndo-do-wwhilehile循环循环循环循环 qq格式:格式:格式:格式: do do 若干语句若干语句若干语句若干语句 while( while(表达式表达式表达式表达式) );qqdo-whiledo-while循环和循环和循环和循环和whilewhile循环的区别是循环的区别是循环的区别是循环的区别是:do-whiledo-while的循环
48、的循环的循环的循环体至少被执行一次。体至少被执行一次。体至少被执行一次。体至少被执行一次。qq流程图:流程图:流程图:流程图:qq例例例例3-53-5: :分别用分别用分别用分别用whilewhile和和和和do-whiledo-while循环计算常数循环计算常数循环计算常数循环计算常数e e的近似值:的近似值:的近似值:的近似值:e=1+1/1+1/2!+1/3!+ e=1+1/1+1/2!+1/3!+ 表达式表达式表达式表达式truetruefalsefalse循环体循环体循环体循环体do do 语句入口语句入口语句入口语句入口向下执行向下执行向下执行向下执行public class Ex
49、ample3_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+item; i+; item=item*(1.0/i) ; while(i=1000); sum=sum+1; System.out.println(e=+sum); e=2.71828182845904
50、55e=2.7182818284590455输出结果:输出结果:n nforfor循环循环循环循环 qq格式:格式:格式:格式:for (for (表达式表达式表达式表达式1 1;表达式;表达式;表达式;表达式2 2;表达式;表达式;表达式;表达式3) 3) 若干语句若干语句若干语句若干语句 qq“ “表达式表达式表达式表达式2”2”必须是一个求值为必须是一个求值为必须是一个求值为必须是一个求值为booleanboolean型数据的表达式型数据的表达式型数据的表达式型数据的表达式qq流程图:流程图:流程图:流程图:表达式表达式表达式表达式2 2truetruefalsefalse表达式表达式表
51、达式表达式1 1循环体循环体循环体循环体表达式表达式表达式表达式3 3qq例例例例3-63-6:一个数如果恰好等于它的因子之和,这个数就一个数如果恰好等于它的因子之和,这个数就一个数如果恰好等于它的因子之和,这个数就一个数如果恰好等于它的因子之和,这个数就称为称为称为称为“ “完数完数完数完数” ”。例如,。例如,。例如,。例如,6=1+2+36=1+2+3。下面使用。下面使用。下面使用。下面使用forfor循环计循环计循环计循环计算出算出算出算出10001000内的全部完数内的全部完数内的全部完数内的全部完数 。返回返回返回返回publicclassExample3_6publicstati
52、cvoidmain(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不在数组中不在数组中输出结果:输出结果: