当前位置:文档之家› Java2使用教程第三版电子教案--第3章

Java2使用教程第三版电子教案--第3章


课堂编程实践
编一程序产生3个20以内的随机数作为三 角形的三条边,检验是否构成三角形,若 可以,输出三条边的长度,计算其面积并 输出。 提示:
1、a,b,c是三角形的三条边,则任意两边的和大于第三边。 (或任意两边的差小于第三边)。 面积=Math.sqrt(s*(s-a)*(s-b)*s-c)),其中 s=1/2(a+b+c) 2、产生一个[x1,x2]内的随机整数x x=(int)(Math.random()*(x2-x1+1)+x1) Math.random()产生一个[0,1)区间内的实数。
行下一次循环。语法格式如下:
与C语言有 continue语句有带标号和不带标号两种形式。 何不同?
continue [label]; (1)不带标号的continue语句在while或do –while语句中使程 序流程直接跳转到循环条件的判断处,在for 语句中则直接计
算迭代部分(iteration)的值,然后再根据循环条件决定是否
与C语言一样,Java也提供了很多的复合赋值运算符, 是简单赋值表达式的一种缩写。如 x+=10 等价于 x=x+10 x*=10 0等价于 x=x*100
字符串连接运算符
C 语言如何 处理?
Java 中对运算符“+”进行了重载(就是对同一个运 算符赋予了两种以上的含义,在不同的场合可以标记 不同的操作。)字符串连接运算符的操作有两种情况:
if(boolean-expression) statement1; else statement2;
生活中使用ifelse选择的实 例?
编程实践:调试运行例题3_2。
问题:对比例题,if-else语句可以 用条件运算符实现吗?
分支语句(3)
3.多分支语句 (1)if-else if –else 语句 if (boolean-expression1) statement1; else if (booleanexpression2) statement2; ………… else if (booleanexpressionN) 思考:若输入一个实 statementN; 数需要修改程序吗?
继续循环。 (2)带标号的continue语句,可以终止内循环,直接跳到外 层循环处执行其下一轮循环,这里外层循环处要用标号标识。 调试例子3_7
return语句
return语句的功能是从当前方法中退出, 并返回到调用该方法的语句处继续执行 程序,同时将方法中的运行结果也带回 到调用方法中。它的语法格式如下: return [expression]; 或 return ([expression]); 其中expression为方法运行的结果,要 返回到调用方法中的。注意,如果一个 方法的返回值类型定义为void,则方法 体中不一定要有return语句,方法执行 完后,自动返回到调用处。
图3-5当型结构
图3-6直到型结构
Java循环语句的组成部分
循环语句由四个部分组成: 初始化部分(initialization) 循环条件部分(loop-condition) 循环体部分(body) 迭代部分(iteration)
1-100求和的Java实现
3 使用do…while语句 int count=1; int sum=0; 1 使用while语句 do{ int count=1; sum+=count; int sum=0; count++; while(count<=100){ sum+=count; } while(count<=100); count++; 2 使用for语句 } int sum=0,count; for(int count=0;count<=100;count++){ sum+=count; }
(1)不带标号的break语句。可用在switch、while、for
和do-while循环语句中,用来终止开关语句和循环语句。 (2)带标号的break语句。用在多重循环语句中,可从内 层循环中终止外层循环,将要终止的外层循环语句需用 标号标识。
Continue语句:
continue语句只能用在循环中,它的作用是终止本次循环,执
(3)复合语句 可以用“{”和“}”把一些语句括起来构成复合语句, 一个复合语句也称作一个代码块。例如, { z=23+x; System.out.println("hello"); } (4)控制语句 控制语句包括:条件分支语句、循环语句和跳转语句。 (5)package 语句和 import语句 package语句和import语句与类、对象有关,将在第4章 讲解。


字符串+字符串 字符串+基本数据类型数据或对象 例如 “hello”+” world”结果为“hello world” int c=100; “c=”+c的结果为“c=100”
3.2语句概述
Java里的语句可分为以下5类: (1)方法调用语句 在第4章将介绍类、对象等概念,对象可以调用类中 的方法产生行为,如:例子1中的 reader.nextInt(); (2)表达式语句 一个表达式的最后加上一个分号就构成了一个语句, 称作表达式语句。分号是语句不可缺少的部分。例如, 赋值语句: x=23;
关系运算符
>(大于) <(小于) <=(小于等于) ==(等于)


>=(大于等于) !=(不等于)
运算结果数据类型:boolean
问题:关系运算符两边的数据类型是否必须一致? 将b的类型换为float可 分析调试下面程序 以吗?换为char型可以 int a=4,b=5; 吗?换为boolean型可 boolean c1,c2; 以吗? float a1=4.0f; c1=a>b;c2=a==a1; System.out.println("c1="+c1+" c2="+c2);
引入问题
编一程序求1-100的和并输出。
1 如何实现 ? 3 写出C语言 的实现代码
2 用循环语 句实现
4 C 循环语句 由哪几个部分 组成?
Java循环语句
和C语言一样,Java的循环 语句也有三种形式,它们是:

while 循环语句 for 循环语句 do…while循环语句。
其中while和for循环语句对应当型结 构(图3-5),do…while语句对应 直到型结构(图3-6)。
内层循环的作用是什 1!+2!+3!+…+10! 么?内层循环的循环 条件和外层循环有何 关系?
问题:求
请上机调试!!
编程实践

编一程序打印九九乘法表。运行结果如下:
Java跳转语句


标号语句label break语句 continue语句 return语句
C语言有那 些跳转语 句?
标号语句lable
返回
循环语句的嵌套使用
int i,j; long fact=1,sum=0; for(i=1;i<=10;i++){//外层循环 有时候,为了解决较为 for(j=1;j<=i;j++)//内层循环 复杂的问题,循环语 fact*=j; 句的循环体也需要用 sum+=fact;//累加 循环语句,这种用法 fact=1; //清除上一次循环结果, 就是循环语句的嵌套 //为下次循环作好准备 使用。 }
演示例题3_4
分支语句(5)
思考问题与C语言进行比较: 1.程序中switch语句中变量switchValue是什 么类型?可以是float类型吗?可以是char类型 吗? 2.程序中break语句的作用是什么? 3.程序中default的作用是什么? 4.switch语句与if-else if-else语句相比较, 有何优势?
下面的例子3_5分别用while和do-while循环计算常数e 的近似值:e=1+1/1+1/2!+1/3!+… …。
编程实践

编程求出1-100之间所有偶数的和。
3.for循环 for语句的一般格式: for (表达式1;表达式2;表达式3) { 若干语句 } for语句由关键字for、括号中用分号分割的3个表达 式,以及一个复合语句组成,其中的“表达式2”必须 是一个求值为boolean型数据的表达式,而复合语句称 作循环体。
如何改?
问题:从键盘 输入一个整数 涉及到程序中 哪几条语句?
调试例题3_3
else statement;
分支语句(4)
3.多分支语句 (2)switch 语句(开关语句) switch (expression){ case value1 : statement1; break; case value2 : statement2; break; ………… case valueN : statementN; break; [default : defaultStatement; ] }
上机验证 三段代码
① 找出三种 语句形式中的 四个组成部分 ? ②比较三种循 环语句的差异 。将循环初始 值count设为 101,观察其 sum的值。
比较三种循环语句


while语句、for语句是当型循环结 构。它们的含义是当循环条件满足时, 执行循环体。当循环条件不满足时终 止循环。若循环初始条件不满足,则 循环体一次都不被执行。 do…while语句是直到型循环结构, 它的含义是执行循环体,直到循环条 件不满足时结束循环。无论循环条件 是否满足,循环体都会被执行一次。
for语句的执行规则是: (1)计算“表达式1”,完成必要的初始化工作 (2)判断“表达式2”的值,若“表达式2”的值为 true, 则进行(3),否则进行(4)。 (3)执行循环体,然后计算“表达式3”,以便改 变循 环条件,进行(2)。图3.9 使用for语句 (4)结束for语句的执行. 一个数如果恰好等于它的因子之和,这个数就称为 “完数”。例如,6=1+2+3。下面的例子3_6使用for循 环计算出1000内的全部完数
相关主题