版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 流程控制语句目录3.1 流程控制的定义3.2 选择语句3.3 循环语句3.4 跳转语句3.5 综合实例3.6 习题3.1 流程控制的定义经过前面的学习曾经知道,Java语句是Java标识符的集合,由关键字、常量、变量和表达式构成。简单的Java语句以分号“;作为终了标志,单独的一个分号被看成一个空语句,空语句不做任何事情。复合构造的Java语句以大括号“作为终了标志。而流程控制语句是用来控制程序中各语句执行顺序的语句,是程序中非常关键和根本的部分。流程控制语句可以把单个的语句组合成有意义的,能完成一切功能的小逻辑模块。3.1.1 根本流程控制构造 人们习惯将java根本控制构造分为了三
2、个部分,分别是:顺序构造,选择构造,循环构造。3.1.2 java语句的种类 Java具有多种常用的流程控制语句,分属于不同的根本控制构造中,下面经过表格的方式呈现每一种语句,如表3-1 流程控制语句:基本控制结构语句顺序结构break语句: break statement;continue语句:continue statement;return语句:return result;选择结构If-else语句:If(condition) statement;else another statement;switch语句:switch(expression)case 1:statement;case
3、 2:another statement; default: statements;循环结构while语句:while(condition) 循环; ;do-while语句:do 循环; while(condition);for语句:for(statement; statement; statement)循环; 3.2 选择语句3.2.1 if-else 条件语句1 if语句If语句的根本方式为:if(condition) statement; 2 if-else语句if-else语句的根本方式为:if(condition) statement; /if分支else another state
4、ment; /else分支3if-else-if语句if-else-if语句是条件语句中最复杂也是最常见的情况,这种情况下有多个条件的判别,其根本方式如下:if(condition) statement1;else if (condition) statement2;else if(condition) statement3;.else statementn;【实例3-1】Condition1.javapublic class Condition1 public static void main(String args)double mySales = 10000; /进入if条件选择if(
5、mySales 8000)/执行if语句System.out.println(去商场购物);System.out.println(请朋友吃饭);System.out.println(出国旅游); 运转结果:去商场购物请朋友吃饭出国旅游【实例3-2】Condition2.javapublic class Condition2 public static void main(String args) double mySales = 6000; if( mySales 8000)/执行if语句System.out.println(去商场购物); System.out.println(请朋友吃饭);
6、 System.out.println(出国旅游); /执行else语句 else System.out.println(努力任务); 运转结果:努力任务【实例3-3】Condition3.javapublic class Condition3 public static void main(String args) double mySales = 6000; if( mySales 8000)/执行if语句System.out.println(去商场购物); System.out.println(请朋友吃饭); System.out.println(出国旅游); /执行else语句 els
7、e if(mySales5000 & mySales 3000 & mySales =5000) System.out.println(努力任务);System.out.println(在家休憩);else System.out.println(辞职!); 运转结果:外出逛街请朋友喝咖啡3.2.2 switch 语句 Switch语句也是选择语句的一部分,它的特点是多分支。本质上来说,这种多分支语句构造实践上也是一种if-else构造,不过它使得在编码时很容易写出判别条件,特别是条件有很多项选择项而且比较简单的时候。switch的语法构造如下:switch(expression)case 1:
8、statement1;break;case 2:statement2;break;case 3:statement3;break; case n:statementn;break;default: statements;3.3 循环语句3.3.1 while 语句while循环语句是java控制语句中最简单的一种循环语句。while语句的普通方式如下:while(condition)statement;【实例3-5】Sum.javaclass Sum public static void main(String args) int i,sum = 0; / 设循环初值 i=1; / 设循环条件
9、为 i=100 while(i = 100) / 在循环体中执行i+,当i的值到101时,循环条件即为false sum += i ;i+ System.out.println(1到100的和为:+sum); 运转结果:1到100的和为:50503.3.2 do-while 语句 do-while语句和while语句略有不同,do-while语句是先进入循环体,执行一次终了后才进展条件表达式的判别,因此比起while循环来说,多执行了一次循环。比如说,while循环假设开场条件为假,那么循环一次都不执行,而do-while循环中可以直接进入循环执行一次,然后才判别条件,假设为假,那么推出,循环
10、执行了一次。do-while语句的普通方式如下:do statement;while(condition);【实例3-6】Sum2.javaimport java.util.Scanner;class Sum2 public static void main(String args) Scanner sc = new Scanner(System.in); int n,sum=0; System.out.println(请输入数据,输入0 终了。); /do-while循环体开场,直接进入循环体 do n = sc.nextInt(); sum += n; System.out.println
11、(当前的和是 : + sum); while(n != 0); System.out.println(“终了!); 运转结果:请输入数据,输入0终了。2当前的和是 : 24当前的和是 : 68当前的和是 : 1416当前的和是 : 3032当前的和是 : 620当前的和是 : 62终了!3.3.3 for 语句 for循环语句可以说是整个java程序设计中最常见用途最多的语句,for语句指的是明确了循环次数而进展的循环语句,for循环语句在第一次反复之前要进展初始化。随后,它会进展条件测试,而且在每一次反复的时候,进展某种方式的“步进,for语句的普通方式如下:for(statement; s
12、tatement; statement) 循环体; 【实例3-7】打印九九乘数表,Multiply.javapublic class Multiply public static void main(String args) /第一层for循环 for (int i=1; i=9;i+) /第一层for循环 for (int j=1; j=i;j+) /循环体 System.out.print( +i+*+j+=+i*j); System.out.println(); 3.4 跳转语句3.4.1 break 语句 break语句的作用是使程序的执行流程从一个语句块内部转移出去。break语句只
13、在switch语句和循环语句中运用,目的是从switch语句的case子句中跳出,或者从循环体中跳出。break语句的普通方式为: break;【实例3-9】Break.javapublic class Break public static void main( String args ) String output = ; int i; for ( i = 1; i = 10; i+ ) if ( i = 8 ) /当计数为8的时候终了 break; output += i + ; output += nBroke out of loop at i = + i; System.out.pr
14、intln(output); 运转结果:1 2 3 4 5 6 7 Broke out of loop at i = 83.4.2 continue 语句 continue语句和break语句都是中断语句,但是略有不同之处,continue语句只能在循环语句中运用,并且它的目的是终止当前这一轮循环,跳过本次循环剩余的语句,直接进入下一轮循环。continue语句的普通方式为: continue; 当然也可以同break语句的第二种用法一样,跳转到指定的循环处: continue BLOCK;【实例3-11】Continue.javapublic class Continue public st
15、atic void main( String args ) Outer:for (int i = 0;i8;i+)if(i = 3) /continue语句实现终止本次循环continue Outer;System.out.println(i= + i); 3.4.3 return 语句 跳转语句中的最后一个语句,也是Java言语流程控制中的最后一个是return语句,return语句常用,而且简单。前往语句return是从当前的方法中退出。return语句和continue语句一样也是有两种用法: return; return expression;【实例3-12】Return.javapu
16、blic class Return public static void main( String args ) /调用sum方法 int result = sum(8,12); System.out.println(sum(8,12)= + result); static int sum(int a ,int b) /前往值return (a+b); 运转结果:sum(8,12)= 203.5 综合实例【实例3-13】Calculate.java 经典习题:输入某年某月某日,判别这一天是这一年的第几天。import java.util.*;public class Calculate pub
17、lic static void main(String args) /声明变量并赋值 int year, month, day; int days = 0; int d = 0; int e; input fymd = new input();/do-while循环 do e = 0; System.out.print(输入年:); year =fymd.input(); System.out.print(输入月:); month = fymd.input(); System.out.print(输入天:); day = fymd.input(); /条件语句 if ( year 0 | mo
18、nth 12 | day 31) System.out.println(输入错误,请重新输入!); e=1 ; while( e=1); /for循环 for (int i=1; i month; i+) /嵌套的switch switch (i) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: if (year % 400 = 0) | (year % 4 = 0 & ye
19、ar % 100 != 0) days = 29; else days = 28; break; d += days; System.out.println(year + - + month + - + day + 是这年的第 + (d+day) + 天。); class inputpublic int input() int value = 0; Scanner s = new Scanner(System.in); value = s.nextInt(); return value; 运转结果:输入年:1988输入月:11输入天:71988-11-7是这年的第312天3.6 习题4编写两个
20、方法,分别求两个整数的最大公约数和最小公倍数,在主方法中由键盘输入两个整数并调用这两个方法,最后输出相应的结果。5. 经典习题:请输入星期几的第一个字母来判别一下是星期几,假设第一个字母一样,那么继续 判别第二个字母。4.import java.io.*;public class test public static void main(String args)int a=0; System.out.print(请输入数a:); try BufferedReader br=new BufferedReader(new InputStreamReader(System.in); a=Intege
21、r.parseInt(br.readLine(); catch(IOException e) int b=0; System.out.print(请输入数b:); try BufferedReader br=new BufferedReader(new InputStreamReader(System.in); b=Integer.parseInt(br.readLine(); catch(IOException e) if(a=0|b=0) System.out.println(输入不合法!); System.out.println(最大公约数为:+Gys(a,b); System.out.
22、println(最小公倍数为:+Gbs(a,b); public static int Gys(int a,int b) int r=0; if(ab) r=a; b=a; a=r;int i=1; while(i!=0) i=a%b; a=b; b=i; return a; return ab/a; 运转结果:请输入数a:36请输入数b:8最大公约数为:4最小公倍数为:72 public static int Gbs(int a,int b) int ab=a*b; int r=0; if(ab) r=a; b=a; a=r; int i=1; while(i!=0) i=a%b; a=b; b=i;5.import java.util.*;public class test public static void main(String args) getChar tw = new getChar(); System.out.println(请输入星期的第一个大写字母:); char ch = tw.getChar(); switch(ch) case M: System.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中职第二学年(机械制造技术)组合机床调试试题及答案
- 100%股权项目可行性研究报告
- 管道闭水试验实操规范
- 开放大学电大《建筑施工技术》机考3套真题题库及答案
- 企业流程整体梳理方案
- 电子支付系统安全技术研究
- 教师国家通-用语言模拟题及答案
- 建筑工程-抹灰、饰面施工安全技术交底表格
- 某服装厂加班管理细则
- 夹具设计考试题目及答案
- 2026年湖南科技职业学院单招职业技能考试题库含答案解析
- 施工现场施工设备选型方案
- 安检锂电池培训课件
- 2026国泰海通证券(投行专场)校园招聘考试历年真题汇编附答案解析
- 耳部CT扫描课件
- 《风景园林学名词》
- 山路车辆行车安全培训课件
- 2025《义务教育道德与法治课程标准(2022年版)》测试题库及答案(共4套)
- (2025年标准)sm调教协议书
- 云南水库管理办法
- 生物医学工程概论课件
评论
0/150
提交评论