选择结构¶
程序设计有三种基本控制结构:顺序结构、选择结构和循环结构。
顺序结构:程序按语句的顺序依次执行。
选择结构:根据是否满足某个条件确定**选择**执行哪些操作
循环结构:根据是否满足某个条件确定**反复**执行某些操作。
单分支¶
Java | |
---|---|
1 2 3 |
|
趁热打铁:编写程序,从键盘上读取一个整数,若该数是偶数,输出该数。
双分支¶
Java | |
---|---|
1 2 3 4 5 |
|
趁热打铁:在求圆面积问题中,要求只有当radius>=0时才计算圆的面积,否则,程序给出错误提示。
多分支¶
if-else if-else多分支¶
又称阶梯式if-else结构。
举例:输入学生的百分制成绩,打印输出等级的成绩。等级规定为,90分(包括)以上的为“优秀”,80分(包括)以上的为“良好”,70分(包括)以上的为“中等”,60分(包括)以上的为“及格”,60分以下为“不及格”。
switch多分支¶
Java | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
趁热打铁:编写程序,从键盘输入一个年份(如2016年)和一个月份(如2月),输出该月的天数(29)。
分支嵌套¶
分支语句中的再分支。
Java | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
趁热打铁:求a、b和c中最大值并将其保存到max中,就可以使用一个嵌套的if结构。
条件运算符¶
简化版的if-else语句:条件 ?表达式1:表达式2
Java | |
---|---|
1 2 3 4 5 6 7 |
|
循环结构¶
Java语言提供了4种循环结构:
- while 循环
- do-while 循环
- for 循环
- for each 循环
一般情况下,一个循环结构包含四部分内容:
1)初始化部分
2)循环条件
3)迭代部分
4)循环体部分
while¶
Java | |
---|---|
1 2 3 4 5 |
|
趁热打铁:随机产生一个100~200之间的整数,用户从键盘上输入所猜的数,程序显示是否猜中的消息,如果没有猜中要求用户继续猜,直到猜中为止。
do while¶
特点:循环体至少被执行一次
Java | |
---|---|
1 2 3 4 5 |
|
for¶
Java | |
---|---|
1 2 3 |
|
趁热打铁:编写程序,显示从100到1000之间所有能被5和6整除的数
for each¶
主要用于对数组和集合元素迭代。
Java | |
---|---|
1 2 3 |
|
循环嵌套¶
循环体中的循环。
Java | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
趁热打铁:打印九九乘法口诀表。
break¶
跳出循环或switch的执行。
Java | |
---|---|
1 2 3 4 5 |
|
趁热打铁:编程计算1+2+3+…之和,和超过100结束,输出结果。
continue¶
终止执行当前的迭代,进入下一次迭代。
Java | |
---|---|
1 2 3 4 5 |
|
趁热打铁:编程计算1到10之间的数的和,能被3整除的数除外。
小试牛刀¶
开发一个让学生练习一位数加法的程序。程序开始运行随机生成两个一位数,显示题目让学生输入计算结果,程序给出结果是否正确。
问题描述:从一副纸牌中任意抽取一张,并打印出抽取的是哪一张牌。
思路:一副牌有4种花色,黑桃、红桃、方块和梅花。每种花色有13张牌,共有52张牌。可以将这52张牌编号,从0到51。规定编号0到12为黑桃,13到25为红桃,26到38为方块,39到51为梅花。可以使用整数的除法运算来确定是哪一种花色,用求余数运算确定是哪一张牌。例如,假设抽出的数是n,计算n/13的结果,若商为0,则牌的花色为黑桃,若商为1,则牌的花色为红桃,若商为2,则牌的花色为方块,若商为3,则牌的花色为梅花。计算n%13的结果可得到第几张牌。余数为0表示为A,余数为1表示2,…余数为12表示K。
问题描述:求最大公约数。
思路:两个正整数的最大公约数(Greatest Common Divisor,GCD)是能够同时被两个数整除的最大整数。例如,4和2的最大公约数是2,16和24的最大公约数是8。一种方法是,假设求两个整数m和n的最大公约数,显然1是一个公约数,但它可能不是最大的。可以依次检查k(k=2,3,4,…)是否是m和n的最大公约数,直到k大于m或n为止。
问题描述:打印输出若干素数
思路:素数又称质数,有无限个。素数定义为在大于1的正整数中,除了1和它本身以外不再有其他因数的数。判断一个正整数number是否是素数,从2开始判断number是否能被这个数整除,若能被它整除,则不是素数,一直到number-1为止,若都不能整除,则是素数。
问题描述:编写程序,要求用户从键盘上输入一个年份,输出该年是否是闰年。符合下面两个条件之一的年份即为闰年:(1)能被4整除,但不能被100整除;(2)能被400整除。
问题描述:编写程序,计算并输出1-1000之间含有7或者是7倍数的整数之和及个数。