第4章顺序选择和循环
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2.5 优先级
(1) 操作符的顺序不同将导致结果不同。 (2)可以用圆括号来改变优先级或使你的意
图更明确。
4.3 循环和简捷运算
4.3.1 while循环 • 例4.16: 一个无限循环 • While (4>2) • System.out.println(“Hello”); • 为了防止while循环无限执行,应该采取以下三个措
施: • 某些循环控制变量要初始化。 • 在while语句里测试循环控制变量。 • While语句的循环体中必须写一些语句来修改循环
控制变量的值。
4.3.2简捷算术运算符
• 例4.21:演示前缀和后缀增量运算符的作用。
•
public class DemoIncrement
•{
• public static void main (String [] args ) throws Exception
4.2.4 条件运算符
Java不只提供了一种方式来作判定。条件运 算符需要三个表达式分别用一个问号和一 个冒号隔开,并且它用作if…else结构的 缩写版。如果用switch结构,没有必要使 用条件运算符。条件运算符的语法是 testExpression(测试表达式)?ture Result(表达式为true的结果):false Result(表达式为false的结果);
4.3.5 循环嵌套
• 例4.27:创建一个嵌套循环来打印1到100之间每个数的除数。
• public class EvenInt
•{
• public static void main(String[] args)
•{
• int num,textNum;
• for(testNum=1;testNum<=100;++testNum)
第4章 顺序、选择和循环
第4章 顺序、选择和循环
• 4.1 输入和判定
• 4.1.1 简单的键盘输入
例4.1: DemoInput程序。 public class DemoIuput {
public static void main(String[] args) throws Exception {
4.2.2 开关语句
switch结构使用四种新的关键字: (1)用关键字switch开头并在它后面紧跟一个括在圆括号中
的测试表达式。 (2)关键字case后面跟一个测试表达式可能的值以及一个冒
号。 (4) 每个case语句末尾的关键字break可以随意地终止一个
switch结构。 (4)
当 测 试 变 量 与 任 何 case 都 不 匹 配 时 , 执 行 关 键 字 default后面的操作。 注意:不需要像下面这样按升序排列case的值。把最常用的 case而不是最小的值放在最前面是最有效的。 例如:例4.14显示的是用case结构打印四个年级。
•}
•}
4.3.3 For 循环
• 例4.23用 for循环打印从1到10的整数 • for(int val=1;val<11;++val) •{ • System.out.println(val); •}
4.3.4 Do…while循环
• 例4.25:用do…while循环做的银行余额程序的一部分 • System.in.read(); //absorbs enter key • Do •{ • System.out.println(“bank balance is”+bankBal); • bankBal=bankBal+bankBal*intRate; • System.out.println • (“do you want to see next year’s balance? Y or N”); • response=(char)System.in.read(); • }while (response= =”Y”);
例4.8 AND运算符 If (itemsSold>4&&totalValue>1000)
bonus=50; 注意:在&&运算符两端必须是一个完整的布尔表达式 if(saleAmount>1000&&<5000)…是不正确的将不会被编译
4.2.1 AND和OR运算符
例 4.9 使用2个if语句和OR运算符的代码 //使用2个if if(itemsSold>100) bonus=200; else if(totalValue>4000) bonus=200; //使用OR运算符 if(itemsSold>100||totalValue>4000) bonus=200;
4.1.6 if和if…else的嵌套
• 例4.7:if嵌套语句 • if (itemsSold > 3) • if ( totalValue > 1000) • bonus = 50;
4.2 特殊运算符、开关语句和优先级
4.2.1 AND和OR运算符 AND运算符写为“&&” OR运算符写为“||”
• 例4.2:存储用户的响应。 • char userResponse; • int someVariable=512; • System.out.println(“Do you want to see the value of
someVariable?”); • System.out.println(“Enter Y for yes or N for no”); • char userResponse=(char)System.in.read();
Char userInput; System.out.println(“please enter a character”); userInput=(char)System.in.read(); System.out.printIn(“You entered”+userInput); } }
4.1.2 绘制流程图
• System.out.println();//此语句让光标换行显示。
•}
•}
•}
例4.14 case 结构示例 switch(year) { case 1: System.out.println(“Freshman”); Break; case 2: System.out.println(“Sophomore”); Break; case 4: System.out.println(“Junior”); Break; case 4: System.out.println(“Senior”); Break; Default: System.out.println(“Invalid year”);
• 流程图用框图的形式写出步骤,并用箭头 连接这些框图
Wash car
Looklike rain
Study for test
Test cancelled
Still speaking to Mom
Buy birthday gift for Mom
4.1.3 用if判定
• if语句可以用来作判定。例如:可以在变量someVariable 中存储一个整型值。然后当用户需要时显示这个变量的值。 如例4.2所示,可以提示用户输入Y或N(代表“Yes”或 “No”)并把用户的响应存储到一个字符型变量。
}
4.2.3 条件运算符
• 条件运算符的语法是testExpression(测试表达 式)?ture Result(表达式为true的结果): false Result(表达式为false的结果)
• 第一个表达式testExpression(测试表达式)是一 个求true或false的布尔表达式。如果它为true,整 个条件表达式将取冒号之前的表达式的值 (trueResult)。如果表达式的值是false,整个 表达式将取冒号之后的表达式的值 (falseResult)。
•{
• System.out.print(testNum +” is evenly divisible by”);
• for(num=1;num<testNum;++num)
•
if (testNum%num= =0)
• System.out.print(num+ “ ”);
• //打印这个数以及2个空格
4.1.5复合语句
• 例4.4:控制多个语句的if语句 • If (hoursWorked >40) •{ • regularPay=40*rate; • overTimePay=(hours-40)*1.5*rate; • //超时部分乘以1.5 • System.out.println(“Regualr Pay is”+ regualrPay); • System.out.println(“Overtime pay is”+ overTimePay); • }// if 结构到此结束
•{
• int v=4
• int plusPlusV=++v;
•
v=4;
•
int vPlusPlus =v++;
• System .out .println(“v is ”+v);
• System .out .println(“++v is ”+ plusPlusV);
• System .out .println(“v++ is ” + vPlusPlus);
例如:biggerNum=(a>b)? a:b;比较表达 式a>b。如果a大于b,那么表达式取值a赋给 biggerNum,如果a小于等于b,那么表达式 取值b赋给biggerNum。
4.2.4 NOT运算符
使用NOT运算符可以给任何布ቤተ መጻሕፍቲ ባይዱ表达式的值取 反,写为 “!”。
通过NOT运算符处理之后任何为true的表达式 将变为false,并且任何为false的表达式 将变成true。
4.1.4 if…else 结构
• 例4.3: if…else语句 if (userResponse==‘Y’)
System.out.println(“The value of someVariable is”+someVariable); else System.out.println(“Too bad.”);