1、单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第三章标识符 关键字和数据类型,第三章 运算符、表达式、语句,运算符与表达式,语句,运算符与表达式,1.算术运算符与算术表达式,加减运算符:,+,,,-,乘,除和求余运算符:,*,,,/,,,%,算术表达式:用算术符号和括号连接起来的符合,java,语法规则的式子,整数除,0,会得到,ArithmeticException,异常,浮点数除,0,则会得到,+/-,INFINITY,取余的结果符号和第一个数一致,然后是绝对值相减操作,+,操作符至少要有一个原型数据或,String,类型,否则编译错误,运算符与
2、表达式,2赋值运算符与赋值表达式,变量,=,表达式,变量,=,变量,变量,a=,变量,a operator,变量,b;,可以简写为:变量,a operator=,变量,b;,提升:,byte a=1,b=2,a=a+b;/,错误,a+=b;,则正确,因为,op=,包含隐式强转(,cast,),byte x=2;,x+=3;/,正确,它等同于:,x=(byte)(x+3);,short b=12;b=b+b;/,错误,算术提升,因为整型数据计算,结果最低是,int,如果表达式中有高类型,那么低数据类型向高的转换(提升)。,运算符与表达式,3自增,自减运算符:+,-,自增、自减运算符是单目运算符,
3、放在操作元前或后。必须是整型或浮点型变量,使变量的值增,1,或减,1,,如:,+,x,-x (,在使用,x,之前,先使,x,的值加(减),1),x+,x-(,在使用,x,之后,使,x,的值加(减),1),运算符与表达式,4.关系运算符与关系表达式,关系运算符用来比较两个值的关系,运算结果是,boolean,型,、=、4)?99.99:9);/,结果是,9.0,语句,1 语句概述,Java,里的语句可分为以下五类,方法调用语句,:,System.out.,println,(“Hello”);,表达式语句,,,最典型的是赋值语句,复合语句,:,用,把语句括起来构成复合语句,控制语句,package
4、语句和,import,语句,语句,2,Java,语言的控制语句,有三种类型,即条件语句,循环语句,,包语句,1,)条件语句,:两种,if,和,switch,if,语句,if,语句的一般形式,.,if(,表达式,),若干语句,else,若干语句,if,语句的扩充形式,if(,表达式,1),语句,1,else if(,表达式,2),语句,2,else if(,表达式,n),语句,n,语句,Switch,开关语句:适合多分支,格式:,switch(,表达式),case,常量,值1,:,若干个语句,break,;,case,常量,值2,:,若干个语句,break,;,case,常量值,n,:,若干个
5、语句,break,;,default,:,若干语句,switch,语句中表达式的值必须是整型或字符型,常量值1到常量值,n,必须也是整型或字符型,在同一个,switch,语句中,,case,后的常量值必须互不相同,switch,语句先计算表达式的值,若值和某个,case,后面的值相同,就执行该,case,里的语句直到,break,语句为止。,若没有值与表达式的值相同,则执行,default,后面的语句。,default,是可有可无的,若它不存在,且所有的值都和表达式的值不同,则,switch,语句就不会进行任何处理。,2,)循环语句,for,循环语句,for(,表达式,1;,表达式,2;,表达
6、式,3),若干语句,语句,表达式1负责完成变量的初始化,表达式式,2,是值为,boolean,型的表达式,称为循环条件,表达式3用来修整变量,改变循环条件,for,语句的执行过程:,首先计算表达式1,完成必要的初始化工作;,再判断表达式2的值,若表达式2的值为,true,,则执行循环体.,执行完循环体之后紧接着计算表达式3,以便改变循环条件,这样一轮循环就结束了,例:求1到100之间整数的和;,例:求10的阶乘,语句,while,循环,一般格式:,while(,表达式,),若干语句,表达式,若干语句,true,false,while,循环语句,语句,do-while,循环,一般格式,do ,若
7、干语句,while(,表达式,);,do-while,循环和,while,循环的区别是:,do-while,的循环体至少被执行一次,例:用,while,与,do-while,循环计算1到100之间数的和。,在循环体中使用语句,break,和语句,continue,continue,语句:,循环到该语句的位置结束本次循环,直接进入到下一次循环,break,语句:,循环到该语句的位置整个循环语句结束,例:用,continue,语句打印连续5行8个*,语句,语句,3,),package,语句与,import,语句,package,语句:,Java,源文件的第一条语句,指明该源文件定义的类所在的包,。
8、package,语句的一般格式为:,package,包名,;,如果源程序中省略了,package,语句,源文件中定义命名的类被隐含地认为是无名包的一部分,即源文件中定义命名的类在同一个包中,但该包没有名字,语句,3,),package,语句与,import,语句,import,语句:,可以使用,import,语句来引入所需要的类,import,语句,它们必须写在,package,语句和源文件中类的定义之间,Java,提供了大约,60,个包。,Java API,的类被组织成,8,个包,:,java.applet,,,java.,awt,,,java.,awt,.image,,,java.,la
9、ng,,,java.,io,,,,,java.until,注:系统自动引入,java.,lang,包,因此不需要再使用,import,语句引入该包,高级循环控制,嵌套式循环,格式:,for(,表达式,1;,表达式,2;,表达式,3),for(,表达式,1;,表达式,2;,表达式,3,),若干语句,特点:外层循环一次,内层循环一圈,九九乘法表,for(,int,a=1;a=4;a+),for(,int,b=1;ba;b+),System.out.print(“*”);,System.out.,println,();,高级循环控制,标号语句,格式:,标记名:,for(,表达式,1;,表达式,2;,表达式,3,),if(,表达式,),break,标记名;,Loop1:,for(,int,I=1;I5;I+),Loop2:,for(,int,j=1;j=5;j+),if(j=3),break Loop2;,if(j=3),continue Loop2;,Systeml,.out.,println,(I+*+j+”=”+I*);,练习与总结,求20的阶乘,编写一个小应用程序求,100,以内的全部能被5整除的数的和,(要求用,continue,语句),






