Java2使用教程第三版电子教案--第3章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系运算符
>(大于) <(小于) <=(小于等于) ==(等于)
>=(大于等于) !=(不等于)
运算结果数据类型: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);
返回
循环语句的嵌套使用
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; //清除上一次循环结果, 就是循环语句的嵌套 //为下次循环作好准备 使用。 }
继续循环。 (2)带标号的continue语句,可以终止内循环,直接跳到外 层循环处执行其下一轮循环,这里外层循环处要用标号标识。 调试例子3_7
return语句
return语句的功能是从当前方法中退出, 并返回到调用该方法的语句处继续执行 程序,同时将方法中的运行结果也带回 到调用方法中。它的语法格式如下: return [expression]; 或 return ([expression]); 其中expression为方法运行的结果,要 返回到调用方法中的。注意,如果一个 方法的返回值类型定义为void,则方法 体中不一定要有return语句,方法执行 完后,自动返回到调用处。
第3章运算符、表达式与语句
本章导读 1. 运算符与表达式 2. 语句概述 3. 控制语句 4. 循环语句 5. Break和continue语句
Java运算符
按连接操作数的运算符的数目来 划分,分为单目(一元)运算、 双目(二元)运算符和三目(三 元)运算符
按照运算符功能来分,运算符有8类: 算术运算符 + -(减) * / % ++ -- –(取负) 关系运算符 > < >= <= == != 逻辑运算符 ! && || ^ & | 位运算符 ~ & | ^ << >> >>> 条件运算符 表达式1?表达式2:表达式3 赋值运算符 = += -= *= /= %= 字符串连接运算符 + 其它运算符 () [ ] .
字符串+字符串 字符串+基本数据类型数据或对象 例如 “hello”+” world”结果为“hello world” int c=100; “c=”+c的结果为“c=100”
3.2语句概述
Java里的语句可分为以下5类: (1)方法调用语句 在第4章将介绍类、对象等概念,对象可以调用类中 的方法产生行为,如:例子1中的 reader.nextInt(); (2)表达式语句 一个表达式的最后加上一个分号就构成了一个语句, 称作表达式语句。分号是语句不可缺少的部分。例如, 赋值语句: x=23;
下面的例子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型数据的表达式,而复合语句称 作循环体。
标号是一个标识符,用于给某程序块一 个名字。格式如下: label: { ……… } 通常与break、continue语句一起使用, 实现程序的跳转。
break语句
格式为: break [label]; break语句有两种用法:
与C语言有 何不同?
break语句的作用是终止包含break语句的程序块,其语法
条件运算符
表达式1?表达式2:表达式3
C语言有吗 ?一样吗?
表达式1 是一个逻辑表达式或关系表达式,当 表达式1的值为true 时计算并返回表达式2的值 ,若为false,则计算并返回表达式3的值。
赋值运算符
简单赋值运算符 :=
c=a+10
x=20*a+100
复合赋值运算符:-= += *= /= %=
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内的全部完数
关系运算符两边的数据类型可以不同,但boolean类型的数据 只能进行“==”或“!=”两种关系运算。
逻辑运算符
!(非) ^ (异或) &&(短路与) & (与) ||(短路或) |(或)
问题1:进行逻辑运算的操作数的类型是什么 类型? 运算结果的类型也是什么类型? 问题2:&&和&的区别是什么?||和|的区 与C语言一样吗? 别又如何?
上机验证 三段代码
① 找出三种 语句形式中的 四个组成部分 ? ②比较三种循 环语句的差异 。将循环初始 值count设为 101,观察其 sum的值。
比较三种循环语句
while语句、for语句是当型循环结 构。它们的含义是当循环条件满足时, 执行循环体。当循环条件不满足时终 止循环。若循环初始条件不满足,则 循环体一次都不被执行。 do…while语句是直到型循环结构, 它的含义是执行循环体,直到循环条 件不满足时结束循环。无论循环条件 是否满足,循环体都会被执行一次。
演示例题3_4
分支语句(5)
思考问题与C语言进行比较: 1.程序中switch语句中变量switchValue是什 么类型?可以是float类型吗?可以是char类型 吗? 2.程序中break语句的作用是什么? 3.程序中default的作用是什么? 4.switch语句与if-else if-else语句相比较, 有何优势?
课堂编程实践
编一程序产生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)区间内的实数。
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; 数需要修改程序吗?
图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-100的和并输出。
1 如何实现 ? 3 写出C语言 的实现代码
2 用循环语 句实现
4 C 循环语句 由哪几个部分 组成?
Java循环语句
和C语言一样,Java的循环 语句也有三种形式,它们是:
while 循环语句 for 循环语句 do…while循环语句。
其中while和for循环语句对应当型结 构(图3-5),do…while语句对应 直到型结构(图3-6)。
如何改?
问题:从键盘 输入一个整数 涉及到程序中 哪几条语句?
调试例题3_3
else statement;
分支语句(4)
3.多分支语句 (2)switch 语句(开关语句) switch (expression){ case value1 : statement1; break; case value2 : statement2; break; ………… case valueN : statementN; break; [default : defaultStatement; ] }
(1)不带标号的break语句。可用在switch、while、for
和do-while循环语句中,用来终止开关语句和循环语句。 (2)带标号的break语句。用在多重循环语句中,可从内 层循环中终止外层循环,将要终止的外层循环语句需用 标号标识。
Continue语句:
continue语句只能用在循环中,它的作用是终止本次循环,执
行下一次循环。语法格式如下:
与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 中对运算符“+”进行了重载(就是对同一个运 算符赋予了两种以上的含义,在不同的场合可以标记 不同的操作。)字符串连接运算符的操作有两种情况:
内层循环的作用是什 1!+2!+3!+…+10! 么?内层循环的循环 条件和外层循环有何 关系?
问题:求
请上机调试!!
编程实践
编一程序打印九九乘法表。运行结果如下:
Java跳转语句
标号语句label break语句 continue语句 return语句
C语言有那 些跳转语 句?
标号语句lable
返回
分支语句(1)
1.判断语句if
if(booleanexpression) statement ;
生活中使用if 判断的实例?
编程实践:调试运行例题3_1。
问题:random()位于哪个包?哪 个类?其功能是什么?
java如何产生 一个指定范围 的随机整数?C 语言如何实现 ?
分支语句(2)wk.baidu.com
2 . 选 择 语 句 ifelse
(3)复合语句 可以用“{”和“}”把一些语句括起来构成复合语句, 一个复合语句也称作一个代码块。例如, { z=23+x; System.out.println("hello"); } (4)控制语句 控制语句包括:条件分支语句、循环语句和跳转语句。 (5)package 语句和 import语句 package语句和import语句与类、对象有关,将在第4章 讲解。