预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章结构控制 一.复习第二章: 1.标识符的命名规则: a)由字母、数字、下划线、$组成并且第一个字符不能是数字 b)区分大小写 c)不能是关键字 2.基本类型: a)1位:boolean b)8位:byte c)16位:short、char d)32位:int、float e)64为:long、double 3.变量&常量 a)变量:Strings=“Hello” b)常量:finalintPI=3.14 i.有final修饰 ii.只能赋一次值定义的时候赋值或定义完之后赋值 4.表达式&语句 a)语句=表达式+“;” 5.注释 a)单行注释:// b)多行注释:/**/ c)文档注释:/***/ 二.引出本课主题 先问学生两个问题: 1.让学生用现有的知识写从1加到10的和能写出来吗?从1加到100呢?到1 千、1万甚至是1亿呢?是不是能写出来但是很不方便呢?由此引出循环 2.让学生用现有的知识实现“知道一个学生的学习成绩,将其划分为A,B,C, D,E等级”能不能实现?由此引出分支 3.还有一种控制结构是跳转,一会讲跳转的作用 三.课程目标及重点难点 1.课程目标 •掌握分支语句的使用。 •掌握循环语句的使用。 •掌握跳转语句的使用。 •熟悉结构化程序设计的思想。 2.重点难点 分支、循环和跳转语句的使用及理解。 四.控制结构 控制结构:分支、循环和跳转。 分支结构根据表达式和变量的不同状态选择不同的分支; 循环结构使用程序重复执行某个程序块或语句; 跳转结构能够导致语句执行流的转向。 1.单分支语句 if语句是用来判定所给定的条件是否满足,根据判定的结果(true或false)决定执 行给出的两种操作之一。 细节:让学生思考为什么只能是boolean值或boolean表达式呢? 答案:if语句是根据判定的结果(true或false)决定执行给出的两种操作之一,只有 boolean值或boolean表达式的结果可能为true或false。 语法一:if(boolean值或boolean表达式){ 语句段1; }else{ 语句段2; } 注意:else{}可省 流程图: 图1图2 图1表示的是省去else{}的情况,图2表示有else{}的情况 分析:图1:先去判断表达式是否为true,为true的话去执行语句段1, 再去执行单分支语句之后的语句,为false的话直接去执行单分支语句之后的语 句。 图2:先去判断表达式是否为true,为true的话去执行语句段1,再去执 行单分支语句之后的语句,为false的话去执行语句段2,再去执行单分支语句之 后的语句。 细节:语句段1和语句段2能不能同时执行? 答案:不能,因为boolean值或boolean表达式的值永远只能为true或 false中的一种,不可能同时为true和false。 练习一:输入一个数判断是奇数还是偶数。 练习二:求三个随机变量中的最大值。 方法一:带学生分析过程: 1.利用java.util.Random类 Randomr=newRandom(); r.nextInt(100);产生从[0,100)之间的整数。 2.分析比较的过程 假设现在已经产生了三个随机变量a,b,c abca>b?truea>c?truea最大 falsec最大 falseb>c?trueb最大 falsec最大 3.写代码: Randomr=newRandom(); inta,b,c; a=r.nextInt(100); b=r.nextInt(100); c=r.nextInt(100); if(a>b){ //a>b if(a>c){ //a>ba>c System.out.println("最大值:"+a); }else{ //a>bc>a System.out.println("最大值:"+a); } }else{ //b>a if(b>c){ //b>ab>c System.out.println("最大值:"+b); }else{ //b>ac>b System.out.println("最大值:"+c); } } 方法二: 带学生分析: 定义一个中间变量max,始终指向三个变量中大的值。先假设a为 三个变量中的最大值,给max赋值为a。 abcmax>b?truemax>c?truemax falsemax=cmax falsemax=bmax>c?truemax falsemax=cmax 代码: Randomr=newRandom(); inta,b,c; a=r.nextInt(100); b=r.nextInt(100); c=r.nextInt(100); intmax=a; if(max<b){ max=b; } if(m