《第四章 运算符、表达式与语句ppt课件.ppt》由会员分享,可在线阅读,更多相关《第四章 运算符、表达式与语句ppt课件.ppt(42页珍藏版)》请在三一办公上搜索。
1、第四章运算符、表达式和语句,1、运算符与表达式2、语句概述3、控制语句4、循环语句5、break和continue语句6、数组与for语句,4.1运算符与表达式,1.算术运算符与算术表达式(1) 加减运算符:+ , -。 例如:2+39, 908.98-23 等。(2) 乘、除和求余运算符:* , / , %。 例如:2*39,908.98/23 等。2.自增,自减运算符: + , -。,3.关系运算符与关系表达式,4.逻辑运算符与逻辑表达式,5.赋值运算符与赋值表达式6.位运算符(1)”按位与”运算符例如:a00000000 00000000 00000000 00000111b100000
2、01 10100101 11110011 10101011&_ c00000000 00000000 00000000 00000011(2)”按位或”运算符(3)”按位非”运算符(4)“按位异或”运算符,例子 1: class Example3_1 public static void main(String args) char a1=十,a2=点,a3=进,a4=攻; char secret=8; a1=(char)(a1secret);a2=(char)(a2secret); a3=(char)(a3secret);a4=(char)(a4secret); System.out.pri
3、ntln(密文:+a1+a2+a3+a4); a1=(char)(a1secret);a2=(char)(a2secret); a3=(char)(a3secret); a4=(char)(a4secret); System.out.println(原文:+a1+a2+a3+a4); ,7.instanceof 运算符8.运算符综述,4.2 语句概述方法调用语句,如: System.out.println( Hello);表达式语句,如: x=23;复合语句 z=23+x; System.out.println(hello); 控制语句package 语句和 import 语句。,4.3 if
4、条件分支语句1、条件语句 a. if 语句 if 语句的一般形式: if(表达式) 若干语句 ,例子 2: public class Example3_2 public static void main(String args) int a=9,b=5,c=7,t; if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; System.out.println(a=+a+,b=+b+,c=+c); ,b. if-else 语句 if-else 语句的一般格式: if(表达式) 若干语句 else 若干语句 注:if 和
5、else 后面的复合句里如果只有一个语句, 可以省略不写,但为了增强程序的可读性最好不要省略.有时为了编程的需要,else 或 if 后面的大括号里可以没有语句。,例子 3: public class Example3_3 public static void main(String args) int math=65 ,english=85; if(math60) System.out.println(数学及格了); else System.out.println(数学不及格); if(english90) System.out.println(英语是优); else System.out.
6、println(英语不是优); if(math60 ,c. if 语句的扩充形式 if(表达式 1) 语句 1 else if(表达式 2) 语句 2 else if(表达式 n) 语句 n,4.4 switch 开关语句 switch 语句是多分支的开关语句,它的一般格式定义如下: switch(表达式) case 常量值 1 : 若干个语句 break; case 常量值 2 : 若干个语句 break; case 常量值 n : 若干个语句 break; default: 若干语句 ,例子 4:public class Example3_4 public static void main
7、(String args) int x=96,y=1; switch(x+y) case 1 : system.out.println(x+y); break; case a : system.out.println(x+y); case 10: system.out.println(x+y); break; default: system.out.println(没有般配的“+(x+y); ,4.5 循环语句1、for 循环 for (表达式 1;表达式 2;表达式 3) 若干语句 ,例子 5:public class Example3_5 public static void main(S
8、tring args) long sum=0,a=8,item=a,n=12,i=1; for(int i=1;i=n;i+) sum=sum+item; item=item*10+a; System.out.println(sum); ,2、while 循环 一般格式: while(表达式) 若干语句 3、do-while 循环 一般格式: do 若干语句 while(表达式);,用while语句求1到100的和public class WhileLoop public static void main(String args) int result = 0;int i=1;while(i=
9、100) result += i; i+;System.out.println(result= + result);,用do-while语句求1到100的和public class DoWhileLoop public static void main(String args) int result = 0;int i=1;do result += i; i+;while(i=100);System.out.println(result= + result);,例子 6:class Example3_6 public static void main(String args) double s
10、um=0,a=1; int i=1; while(i=20) sum=sum+a; i=i+1; a=a*(1.0/i); System.out.println(sum=+sum); ,第五节 break 和语句 continue例子 7:class Example3_7 public static void main(String args) int sum=0,i,j; for( i=1;ij/2) System.out.println(+j+是素数); ,break与continue练习:class Example1 public static void main(String args
11、) int sum=0; for(int i=0;i10;i+) sum+=i; if(i=5) break; System.out.println(“sum=”+sum); ,class Example2 public static void main(String args) for(int i=0;i10;i+) if(i=3) break; System.out.println(i=+i); System.out.println(Game Over); ,class Example3 public static void main(String args) for(int i=0;i0
12、) break; ,流程控制综合示例,示例1: 今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?,流程控制综合示例,示例2: 求m和n的最大公约数。,流程控制综合示例,示例3:百元百鸡问题 每只母鸡 3 元,每只公鸡 4 元,每只小鸡 0.5 元,如果花100 元钱买 100 只鸡,请问有哪些可能?说明:每种鸡的数量都可以为零。,流程控制综合示例,示例4:喝汽水问题 共有1000瓶汽水,每喝完1瓶后得到1个空瓶子,每3个空瓶子又能换1瓶汽水,喝掉以后又得到1个空瓶子,问总共能喝多少瓶汽水,最后还剩余多少个空瓶子。,4.7数组,1.声明数组声明一维数组有下列两种格式: 数组元
13、素类型数组名字 ; 数组元素类型 数组名字;声明二维数组有下列两种格式 数组元素类型数组名字 ; 数组元素类型 数组名字;例如: float boy ; double girl; char cat ; float a ; double b; char d ;,2.为数组分配内存为数组分配内存空间 的格式如下: 数组名字= new 数组元素的类型数组元素的个数; 例如:boy= new float4;声明数组和创建数组可以一起完成,例如: float boy=new float4;说明:数组boy获得4个用来存放float类型数据的内存空间。数组变量boy中存放着这些内存单元的首地址,该地址称作
14、数组的引用。,二维数组和一维数组一样,在定义之后必须用 new 运算符分配内存空间,例如: int mytwo; mytwo=new int 35; 或 int mytwo=new int34;说明:一个二维数组可以看成是由若干个一维数组组成。构成二维数组的一维数组不必有相同的长度例如:int a=new int3; a0=new int6;a1=new int12;a2=new int8; 和 C 语言不同的是,Java 允许使用 int 型变量指定数组的大小 。,3.数组元素的使用 一维数组通过下标符访问自己的元素, 如:boy0,boy1等. 二维数组也通过下标符访问自己的元素, 如:a
15、01,a12等 。注:需要注意的是下标从 0 开始。4.length的使用表示数组长度的格式:数组名.length说明:一维数组:数组中元素的个数二维数组:一维数组的个数,例如:float a=new float12;Int b=new int36;,5. 数组的初始化 创建数组后,系统会给每个数组元素一个默认的值, 如:float 型是 0.0。 我们在声明数组时同时也还可以给数组的元素一个初始值,如:float boy = 12.3f,23.89f,2.0f,23f,578.98f 上述语句相当于: float boy =new float5; boy0=12.3f; boy1=23.89
16、f; boy2=2.0f; boy3=23f; boy4=578.98f; 例如: String s = “we”, “are”, “hello”, “123”,“who? ” ;,6.数组的引用 两个相同类型的数组如果具有相同的引用,那么它们就有完全相同的元素。例如:int a=1,2,3,b=4,5;,例4:public class Example2_4 public static void main(String args) int a=1,2,3,4; int b=100,200,300; System.out.println(数组a的引用=+a); System.out.printl
17、n(数组b的引用=+b); a=b; System.out.println(数组a的元素个数=+a.length); System.out.println(数组b的元素个数=+b.length); System.out.print(a2=+a2+,b2=+b2); ,数组与for语句JDK1.5对for语句进行了改进。改进后的for语句的格式如下:for(声明循环变量:数组的名字) ,例子8:public class Example3_8 public static void main(String args) int a=1,2,3,4; char b=a,b,c,d; for(int i:
18、a) System.out.println(i); for(char ch:b) System.out.println(ch);,数组综合示例,示例1:歌手打分 在歌唱比赛中,共有10位评委打分,在计算选手得分时,去掉一个最高分,去掉一个最低分,然后剩余的8个评委的分数进行平均,就是该选手的最后得分。要求,在输入每位选手的打分后,输出该选手的最后得分。,数组综合示例,示例2:数字统计 统计一个数字中出现最多的数字。如果数字个数一样,则以最大的数字为准。 例如:1 1 121 2 23231 3,数组综合示例,示例3:拉丁矩阵 输出任意阶的拉丁矩阵 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3,数组综合示例,示例4:输出一个n*m的螺旋数组例如:1 2 3 4 10 11 12 5 9 8 7 6,