JAVA基础知识: 流程控制
2015-03-20 13:56
267 查看
一、流程控制
流程控制的概念
控制流程(也称为流程控制)是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。不论是在声明式编程语言或是函数编程语言中,都有类似的概念。
在声明式的编程语言中,流程控制指令是指会改变程序运行顺序的指令,可能是运行不同位置的指令,或是在二段(或多段)程序中选择一个运行。
流程控制的分类
顺序控制,就是从头到尾依次执行每条语句操作。
条件控制,基于条件选择执行语句.
比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操作A,反之则执行操作B。
循环控制,又称为回路控制,根据循环初始条件和终结要求,执行循环体内的操作。
实际上,不管是各种控制,归根结底,就是做事情的步骤性的表现方式,有的是顺序的,有的是条件的,还有的是控制的。从广义上来思考,都是具有顺序性的完成工作。
Java的条件控制主要形式如下:
Java的循环控制主要形式如下:
二、说明
.IF语句
解释说明:如果判断条件是真的,就执行操作语句。
IF..else语句
语法结构:
解释说明:如果判断条件是真的,就执行操作语句,否则就执行操作语句2.
SWITCH..CASE语句
语句结构如下:
{ case 常量表达式1:语句1;
case 常量表达式2:语句2;
}
1.default就是如果没有符合的case就执行它,default并不是必须的.
2.case后的语句可以不用大括号.
3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
For循环
for 循环的句法是:
for (初值表达式; boolean 测试表达式; 改变量表达式/步长){
语句或块
}
执行顺序如下:
1、首先运行初值表达式。
2、然后计算测试表达式,如果表达式为true,
执行语句或块;如果表达式为false,退出for循环。
3、最后执行步长.
示例:
do循环
do 循环的句法是:
do {
语句或块;
}while (测试值表达式);
说明:
先执行语句或块,然后再判断布尔表达式。与while语句不同,当布尔表达式一次都不为true时,while语句一开始判断就跳出循环,一次都不执行语句或块,而在do语句中则要执行一次。
While语句
while 循环的句法是:
说明:当布尔表达式为true时,执行语句或块,否则跳出while循环。
实例:
foreach语句
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for
每一个”的意思。实际上也就是这个意思。
实例:
用于数组
用于集合:
四、 特殊循环流程控制
下列语句可被用在更深层次的控制循环语句中:
break [标注];
break 语句被用来从 switch 语句、循环语句和预先给定了 label 的块中退出,跳出离break 最近的循环。
continue[标注];
continue 语句被用来略过并跳到循环体的结尾,终止本次循环,继续下一次循环。
五、习题
第一题:
有 36 人 36 块板砖,男人每人般 4 块,女人每人搬 3 块,小孩每 2 人搬 1 块。36 人都搬了一次,把砖刚好搬晚,问:几男几女的几个小孩?
第二题: 打印 1-100 的素数 (只能被 1 和他本身整除的数)
素数 : 只能被 1 和他本身整除的数.
第三题: 写个猜数字的小游戏:
第四题:
出租车计费标准为:3 公里以内 10 元,3 公里以后每 1 公里加 2 元,每等待 5 分钟加 2 元。超过 15 公里,每公里加 3 元,打印出钱数。
第五题:
一电信公司的市内通话费计算标准如下:3 分钟 02 元,3 分钟后每增加一分钟加 0.1元,不足一分钟的按照一分钟计算。要求编写程序。给定一个通话时间(秒)。计算相应的费用。
第六题:
给定 3 个数,a b c ,输出最大数。
第七题:
用 scanner 输入一个数字,然后判断下数字大小,如果大于 0 输出为正数等于 0 输出为 0 否则输出为负数。
第八题:
用 scanner 输入一个分数,来判断分数等级:
>=90 打印 优秀
80-90 打印 良好
70-80 打印 中等
60-70 打印 及格
<60 打印 不及格
第九题:
循环打印 100 以内的数。
第十题:
循环打印 100 以内的所有奇数
第十一题:
用 scanner 输入一个数字,计算从 1 到这个数字的累加并打印出来。
第十二题:
打印
*
* *
* * *
* * * *
* * * * *
第十三题:
打印
*
***
*****
*******
*********
第十四题:
打印乘法表
第十五题:
打印乘法表:遇到 12 的倍数不显示,遇到 28 的倍数,本行终止。
第十六题:
打印 0-50 之间不是 5 的倍数和 7 的倍数
第十七题:
学习打印 1-100 的数字,遇到 7 的倍数或包含 7 的数字,不打印
流程控制的概念
控制流程(也称为流程控制)是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。不论是在声明式编程语言或是函数编程语言中,都有类似的概念。
在声明式的编程语言中,流程控制指令是指会改变程序运行顺序的指令,可能是运行不同位置的指令,或是在二段(或多段)程序中选择一个运行。
流程控制的分类
Java流程控制包括顺序控制、条件控制和循环控制。
顺序控制,就是从头到尾依次执行每条语句操作。
条件控制,基于条件选择执行语句.
比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操作A,反之则执行操作B。
循环控制,又称为回路控制,根据循环初始条件和终结要求,执行循环体内的操作。
实际上,不管是各种控制,归根结底,就是做事情的步骤性的表现方式,有的是顺序的,有的是条件的,还有的是控制的。从广义上来思考,都是具有顺序性的完成工作。
Java的条件控制主要形式如下:
1)if(condition){statement} 2)if(condtion){statement1} else {statement2} 3)switch(condition) { case condition1:statement1; break; .....default:statement} 4)上述形式的组合与嵌套
Java的循环控制主要形式如下:
1)while(condtion){statement} 2)do {statement} while(condtion); 3)for(initialCondition;circleCondition;iterator{statement} 4)上述形式的组合与嵌套
二、说明
.IF语句
> 语法结构: IF(判断条件){操作语句}
解释说明:如果判断条件是真的,就执行操作语句。
IF..else语句
语法结构:
IF(判断条件){操作语句} else {操作语句2}
解释说明:如果判断条件是真的,就执行操作语句,否则就执行操作语句2.
SWITCH..CASE语句
语句结构如下:
{ case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
1.default就是如果没有符合的case就执行它,default并不是必须的.
2.case后的语句可以不用大括号.
3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
For循环
for 循环的句法是:
for (初值表达式; boolean 测试表达式; 改变量表达式/步长){
语句或块
}
执行顺序如下:
1、首先运行初值表达式。
2、然后计算测试表达式,如果表达式为true,
执行语句或块;如果表达式为false,退出for循环。
3、最后执行步长.
示例:
for (int i = 0; i < 10; i++) { System.out.println("Java"); }
do循环
do 循环的句法是:
do {
语句或块;
}while (测试值表达式);
说明:
先执行语句或块,然后再判断布尔表达式。与while语句不同,当布尔表达式一次都不为true时,while语句一开始判断就跳出循环,一次都不执行语句或块,而在do语句中则要执行一次。
While语句
while 循环的句法是:
> while (布尔表达式) { 语句或块 }
说明:当布尔表达式为true时,执行语句或块,否则跳出while循环。
实例:
int i = 0; while (i < 10) { System.out.println("while语句"); i++; }
foreach语句
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for
每一个”的意思。实际上也就是这个意思。
foreach的语句格式: for(元素类型t 元素变量x : 遍历对象obj){ 引用了x的java语句; }
实例:
//定义并初始化一个数组 int arr[] = {2, 3, 1}; System.out.println("----1----排序前的一维数组"); for (int x : arr) { System.out.println(x); //逐个输出数组元素的值 } //对数组排序 Arrays.sort(arr); //利用java新特性for each循环输出数组 System.out.println("----1----排序后的一维数组"); for (int x : arr) { System.out.println(x); //逐个输出数组元素的值 } }
用于数组
for (type var : arr) { body-of-loop } // 等价于 for (int i = 0; i < arr.length(); i++) { body-of-loop }
用于集合:
for (type var : coll) { body-of-loop } // 等价于 for (Iterator<TYPE> iter = coll.iterator(); iter.hasNext();) { type arr = iter.next(); body-of-loop }
四、 特殊循环流程控制
下列语句可被用在更深层次的控制循环语句中:
break [标注];
break 语句被用来从 switch 语句、循环语句和预先给定了 label 的块中退出,跳出离break 最近的循环。
continue[标注];
continue 语句被用来略过并跳到循环体的结尾,终止本次循环,继续下一次循环。
五、习题
第一题:
有 36 人 36 块板砖,男人每人般 4 块,女人每人搬 3 块,小孩每 2 人搬 1 块。36 人都搬了一次,把砖刚好搬晚,问:几男几女的几个小孩?
第二题: 打印 1-100 的素数 (只能被 1 和他本身整除的数)
素数 : 只能被 1 和他本身整除的数.
第三题: 写个猜数字的小游戏:
生成一个 1-100 的随即数,让用户输入数字猜,如果猜错了 提示猜大了 还是猜小了,然后用户继续输入信数字猜,猜对了退出!
第四题:
出租车计费标准为:3 公里以内 10 元,3 公里以后每 1 公里加 2 元,每等待 5 分钟加 2 元。超过 15 公里,每公里加 3 元,打印出钱数。
第五题:
一电信公司的市内通话费计算标准如下:3 分钟 02 元,3 分钟后每增加一分钟加 0.1元,不足一分钟的按照一分钟计算。要求编写程序。给定一个通话时间(秒)。计算相应的费用。
第六题:
给定 3 个数,a b c ,输出最大数。
第七题:
用 scanner 输入一个数字,然后判断下数字大小,如果大于 0 输出为正数等于 0 输出为 0 否则输出为负数。
第八题:
用 scanner 输入一个分数,来判断分数等级:
>=90 打印 优秀
80-90 打印 良好
70-80 打印 中等
60-70 打印 及格
<60 打印 不及格
第九题:
循环打印 100 以内的数。
第十题:
循环打印 100 以内的所有奇数
第十一题:
用 scanner 输入一个数字,计算从 1 到这个数字的累加并打印出来。
第十二题:
打印
*
* *
* * *
* * * *
* * * * *
第十三题:
打印
*
***
*****
*******
*********
第十四题:
打印乘法表
第十五题:
打印乘法表:遇到 12 的倍数不显示,遇到 28 的倍数,本行终止。
第十六题:
打印 0-50 之间不是 5 的倍数和 7 的倍数
第十七题:
学习打印 1-100 的数字,遇到 7 的倍数或包含 7 的数字,不打印
相关文章推荐
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(7)-- 流程控制语句
- JAVA基础知识: 流程控制习题答案
- Java基础知识02-流程控制-while
- Java基础知识:流程控制
- java基础知识3——流程控制语句
- JAVA基础知识学习笔记(流程控制、数组)
- 从零开始学习Java——基础知识之流程控制(第三天)
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)
- Java基础知识02-流程控制结构
- java基础知识回顾----流程控制
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)
- Java基础知识02-流程控制if-else
- Java基础知识02-流程控制-for
- java 基础知识四 流程控制
- 黑马程序员--------java基础知识 程序流程控制
- 黑马程序员-Java基础知识预备之Java流程控制与数组
- java基础59 JavaScript运算符与控制流程语句(网页知识)
- Java基础知识学习之路-05-第四章-流程控制与数组
- JAVA基础知识——控制流程
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)