第3章运算符、表达式与语句_第1页
第3章运算符、表达式与语句_第2页
第3章运算符、表达式与语句_第3页
第3章运算符、表达式与语句_第4页
第3章运算符、表达式与语句_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、复习复习nJava编写程序的三步:编写程序的三步: 编辑:编辑:UltraEdit编译:编译:javac运行:运行:javanJava环境配置环境配置n简单的简单的DOS命令命令练习练习n写一个写一个Java程序,显示两个数据的值和交程序,显示两个数据的值和交换后的数值。换后的数值。第第3章运算符、表达式与语句章运算符、表达式与语句 本章导读本章导读1. 算术运算符和算术表达式算术运算符和算术表达式2. 关系运算符与关系表达式关系运算符与关系表达式3. 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式4. 赋值运算符与赋值表达式赋值运算符与赋值表达式5. 移位运算符移位运算符6. 位运算符位运算符

2、7. 条件运算符条件运算符8. instanceof 运算符运算符9.一般表达式一般表达式10. 语句概述语句概述11. 分支语句分支语句12.循环语句循环语句13.跳转语句跳转语句3.1算术运算符和算术表达式算术运算符和算术表达式n加减运算符加减运算符n+扩展:字串连接,显示时不同类型连接n乘、除和求余运算符乘、除和求余运算符 乘、除和求余运算的运算符号为乘、除和求余运算的运算符号为* *、/ /、% %,都是双目运算符。都是双目运算符。n自增、自减运算符自增、自减运算符 +、-,都是单目运算符,都是单目运算符n算术表达式算术表达式n算术混合运算的精度算术混合运算的精度 精度从精度从“低低”

3、到到“高高”排列的顺序是:排列的顺序是: byte short int long float doublebyte short int long float doublenJavaJava按运算符两边的操作元的最高精度保留按运算符两边的操作元的最高精度保留结果的精度。结果的精度。charchar型数据和整型数据运算结果的精度是型数据和整型数据运算结果的精度是intint。5/2的结果是的结果是2,要想得到,要想得到2.5,必须写成,必须写成5.0/2或或5.0f/2byte k=18; H+k的结果是的结果是int型型char ch=H+k;Xchar ch =(char)(H+k);3.2关

4、系运算符与关系表达式关系运算符与关系表达式n关系运算符的运算结果是关系运算符的运算结果是booleanboolean型数据。型数据。(1 1)大小关系运算符)大小关系运算符 大小关系运算的符号分别是:大小关系运算的符号分别是: 、=、 、=182418,(x+y+z)30+x(x+y+z)30+x等。等。3.3逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 逻辑运算用来实现逻辑运算用来实现booleanboolean型数据的逻辑型数据的逻辑“与与”、“或或”和和“非非”运算运算,运算结果是,运算结果是booleanboolean型数据。型数据。 (1 1)逻辑)逻辑“与与”和逻辑和逻辑“或或”

5、逻辑逻辑“与与”和逻辑和逻辑“或或”运算的符号是:运算的符号是:&、| (2 2)逻辑)逻辑“非非” 逻辑逻辑“非非”运算的符号是:运算的符号是:! ! (3 3)逻辑表达式)逻辑表达式 结果为结果为booleanboolean型的变量或表达式可以通过逻辑运型的变量或表达式可以通过逻辑运 算符形成逻辑表达式。算符形成逻辑表达式。 例如,例如,2418&418&40 x!=0|y!=03.4赋值运算符与赋值表达式赋值运算符与赋值表达式 赋值运算符:赋值运算符:=。 注意:注意:不要将赋值运算符不要将赋值运算符“=”与等号运算与等号运算符符“=”混淆。混淆。 3.5 移位运算符移位运算符 位运算符

6、用来对二进制位进行操作,分为左位运算符用来对二进制位进行操作,分为左移位操作和右移位操作。移位操作和右移位操作。 (1)左移位运算符)左移位运算符 左移位运算的符号为:左移位运算的符号为: a an an运算的结果是通过将运算的结果是通过将a a的所有位都右的所有位都右移移n n位,每右移一个位,右边的低阶位被位,每右移一个位,右边的低阶位被移出丢弃,并用移出丢弃,并用0 0或或1 1填充左边的高位,填充左边的高位,a a是正数用是正数用0 0填充,负数时用填充,负数时用1 1填充。填充。3.6 位运算符位运算符n“按位与按位与”运算符运算符 “ “&”&”n“按位或按位或”运算符运算符 “

7、“|”|”n“按位非按位非”运算符运算符 “ “”n“按位异或按位异或”运算符运算符“”3.7条件运算符条件运算符n 条件运算符是一个条件运算符是一个3 3目运算符,它的符目运算符,它的符号是:号是:“?:?:”n用法:用法: op1op1?op2op2:op3op3 128?100:200 128?100:200的结果是的结果是100100 128?100:200 120) y=10; z=20;else y=100;条件分支语句条件分支语句 (2)多条件)多条件if-else if-else语句语句 if(表达式表达式1) 若干语句若干语句 else if(表达式表达式2) 若干语句若干语

8、句 else if(表达式表达式n) 若干语句若干语句 else 若干语句若干语句 if(x=90) y=“优秀优秀”else if(x=80) y=“良好良好”;else if(x=70) y=“中等中等”;else if(x=60) y=“及格及格”;else y=“不及格不及格”;2.2.switchswitch开关语句开关语句switch(switch(表达式表达式) ) case case 常量值常量值1 1: 若干个语句若干个语句 breakbreak; case case 常量值常量值2 2: 若干个语句若干个语句 breakbreak; case case 常量值常量值n n:

9、 若干个语句若干个语句 breakbreak; defaultdefault: 若干语句若干语句 条件分支语句条件分支语句注意:注意:switchswitch语句计算表达式的值,如果表达式的值和语句计算表达式的值,如果表达式的值和某个某个case case 后面的常量值相同,就执行该后面的常量值相同,就执行该casecase里里的若干个语句。的若干个语句。如何没有遇到如何没有遇到breakbreak语句,继续执行后面语句,继续执行后面casecase所所指示的语句。指示的语句。若没有任何常量值与表达式的值相同,则执行若没有任何常量值与表达式的值相同,则执行defaultdefault后面的若干

10、个语句。其中后面的若干个语句。其中defaultdefault可有可可有可无。无。在同一个在同一个switchswitch语句中,语句中,casecase后的常量值必须互后的常量值必须互不相同。不相同。switchswitch语句中表达式的值必须是整型或字符型。语句中表达式的值必须是整型或字符型。n 例:使用了例:使用了switchswitch语句,用户在键盘输入一语句,用户在键盘输入一个代表月份的整数,程序输出是该月是在年度个代表月份的整数,程序输出是该月是在年度的第几季度。的第几季度。import java.util.*;public class Example3_4 public sta

11、tic void main (String args ) Scanner reader=new Scanner(System.in); System.out.println(输入一个月份输入一个月份:); int n=reader.nextInt(); switch(n) case 1 : case 2 : case 3 :System.out.printf(%d月属于第一季度月属于第一季度,n); break; case 4 : case 5 : case 6 :System.out.printf(%d月属于第二季度月属于第二季度,n); break; case 7 : case 8 : c

12、ase 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); 3.12循环语句循环语句 1while循环循环 while语句的一般格式:语句的一般格式: while(表达式表达式) 若干语句若干语句 while语句的执行过程:语句的执行过程: (1)计算表达式的值,如果该值是)计算表达式的值,如果该值是true时,就

13、进行时,就进行 (2),否则进行(),否则进行(3)。)。 (2)执行循环体,再进行()执行循环体,再进行(1) (3)结束)结束while语句的执行语句的执行表达式 循环体truefalse图3.5 while循环语句2 2do-whiledo-while循环循环 一般格式:一般格式: do do 若干语句若干语句 while( while(表达式表达式);); 区别:区别:do-whiledo-while的循环体至少被执行一次。的循环体至少被执行一次。 循环体表达式truefalse图3.6 do-while循环语句练习:练习: 输入若干个整数,以输入若干个整数,以0 0结束,统计正整数的

14、个数。结束,统计正整数的个数。分析:分析:实现:实现:例:分别用例:分别用while和和do-while循环计算常数循环计算常数e的的近似值:近似值:e=1+1/1+1/2!+1/3!+1/n! (近似到(近似到n=1000) 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(sum);double sum=0,item=1;int i=1;do sum=sum+item; i+; item=item*(1.0/i) ; whil

15、e(i=1000);sum=sum+1;System.out.println(sum); 3 3forfor循环循环 forfor语句的一般格式:语句的一般格式: for (for (表达式表达式1 1;表达式;表达式2 2;表达式;表达式3) 3) 语句块语句块 forfor语句的执行过程:语句的执行过程:计算计算“表达式表达式1”1”,初始化。,初始化。判断判断“表达式表达式2”2”的值,若的值,若“表达式表达式2”2”的值为的值为truetrue,则进行(,则进行(3 3),否则进行(),否则进行(4 4)。)。执行循环体,然后计算执行循环体,然后计算“表达式表达式3”3”,改变循环,改

16、变循环条件,进行(条件,进行(2 2)。)。结束结束forfor语句的执行。语句的执行。一个数如果恰好等于它的因子之和,这个数就称为一个数如果恰好等于它的因子之和,这个数就称为“完数完数”。例如,。例如,6=1+2+36=1+2+3。使用。使用forfor循环计算出循环计算出10001000内的全部完数内的全部完数 int sum,i,j;for(i=1;i=1000;i+) for(j=1,sum=0;j=i/2;j+) if(i%j=0) sum=sum+j; if(sum=i) System.out.printf(%8d是一个完数是一个完数%n,i); 练习:练习: 输入输入1010个整

17、数,统计正整数的个数。个整数,统计正整数的个数。分析:分析:实现:实现:3.13跳转语句跳转语句n跳转语句是用关键字跳转语句是用关键字breakbreak或或continuecontinue加上加上分号构成的语句。如:分号构成的语句。如:break;break;n在循环体的执行中执行了在循环体的执行中执行了breakbreak语句,那么语句,那么整个循环语句结束。整个循环语句结束。n在某次循环体的执行中执行了在某次循环体的执行中执行了continuecontinue语语句,那么本次循环就结束,即不再执行本句,那么本次循环就结束,即不再执行本次循环中循环体中次循环中循环体中continuecontinue语句后面的语语句后面的语句,而转入进行下一次循环。句,而转入进行下一次循环。n使用跳转语句计算满足使用跳转语句计算满足1+2+n=max)break;int max=200,sum=0for(i=1;i=max;i+) if(i%7!=0) continue; sum=sum+i;n上机题:上机题:n第三章例题第三章例题nP20作业题作业题 1、2nP35作业题:作业题:1、2、3、4、5 n求求1+2+3+100的和的和n练

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论