Java基础应用编程—— 流程控制语句
Java基础应用编程—— 流程控制语句
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
本章内容

条件语句
if语句 (单一条件)
if (表达式)
{
执行语句块
}
执行流程

if语句
条件表达式可以是任何一种逻辑表达式 如果表达式值为true,则执行花括号的内容后,再执行后面的语句 如果表达的值为false,则直接执行后面的语句 如果,大括号号中,只有一条语句,则可以省略大括号(推荐不省略)
☻ 练习 If_exercise.java
编写java程序,完成以下功能: 假设有整型变量x,判断x是否为偶数,若为偶数,则在控制台上打印“输入的数值是偶数”。 无论x是否为偶数,最后都要在控制台上输出x的值
if语句(二选一)
if (表达式)
{
执行语句块1
}
else
{
执行语句块2
}

变量 = 布尔表达式 ? 语句1:语句2
如果布尔表达式的值为true,则执行语句1
如果布尔表达式的值为false,则执行语句2
if语句

☻ 练习 IfElse_exercise.java
有两个整型变量x,y,请在控制台上输出x与y中值较大的那个数。

int x = 88;
if(x<60){
System.out.println(“成绩不合格”);
}
else if(x>=85){
System.out.println(“成绩优秀”);
}
else{
System.out.println(“成级良好”);
}
条件语句
switch语句
switch (表达式)
{
case 取值1:语句块1
…
case 取值n:语句块n
default: 语句块n+1
}
int n = 2;
int result;
switch(n+1)
{
case 1: System.out.println(“Block A”);
result = n;
break;
case 2:System.out.println(“Block B”);
result = n*n;
break;
case 3:System.out.println(“Block C”);
result = n*n*n;
break;
default: result = 0;
}
System.out.println(“result=“+result);
表达式的值只可以接受int、byte、char、short 、String型,不接受其他类型的值
不允许有重复的case取值
switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置,开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,直到碰到break语句为止
在JDK7中,在switch中可以使用String类型,注意比较是大小写敏感的。
String state = "NEW";
switch (state ) {
case "NEW": System.out.println("Order is in NEW state"); break;
case "CANCELED": System.out.println("Order is Cancelled"); break;
case "REPLACE": System.out.println("Order is replaced successfully"); break;
default: System.out.println("Invalid");
}
int x = 2;
switch (x) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Sorry,I don't know");
}
☻ 练习 Switch_exercise.java
仿照左侧示例完成如下练习:如果是星期五则在页面上显示“Finally Friday!”, 如果是星期六则在页面上显示“Super Saturday!”,如果是星期日则在页面上显示“Sleepy Sunday!”, 其他日子显示“I hope for my weekend!”(提示利用switch语句)
循环语句
while循环
while (条件表达式)
{
执行语句块
}
执行流程

int x=1;
while(x<3){
System.out.println("x="+x);
x++;
}
☻ 练习 While_exercise.java
计算1+2+3+…+10的和(提示利用while语句)
☻ 练习 While_exercise2.java
计算1+2+3+…+100的和(提示利用while语句)
☻ 练习 While_exercise3.java
计算从1到100的所有奇数相加(提示利用while语句)
do…while循环

执行流程

int x=3;
do{
System.out.println("x="+x);
x++;
} while(x<3);
☻ 练习 DoWhile_exercise.java
用do while 循环来改写1加到100
for循环
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句块
}

示例 For_sample.java
for(int x=1;x<3;x++){
System.out.println("x="+x);
}
☻ 练习 For_exercise.java
用for循环来改写1加到100
☻ 练习 For_exercise2.java
用for循环改写从1到100的所有奇数相加的和
死循环
for(int x=1;;x++){
System.out.println("x="+x);
}
while(true){
System.out.println("x="+x);
}
循环嵌套
public class Multiplicaiton {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++){
for(int n = 1; n <= i; n++){
System.out.print(n+" x "+i+" = "+n*i+" ");
}
System.out.println();
}
}
}
循环的中断
在使用循环语句时, 只有循环条件表达式的 值为false时,才能结束 循环。有时,我们想提前 中断循环,要实现这一点, 只需要在循环语句块中 添加break或continue语句
break语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环。 “break;”语句:可以出现在while、do…while、for、switch语句体中。 “break label”语句 :可以出现在任何语句体中。
示例 Break_Sample.java

public class Test {
public static void main(String[] args) {
outer: for (int i = 0; i < 10; i++) {
System.out.println("Outer loop");
inner: while (true) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
System.out.println("inner Loop:" + s);
if (s.equals("hello"))
break inner;
if (s.equals("kitty"))
break outer;
}
}
}
}
continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下未执行的循环,开始下一次循环过程 “continue;” 语句:只能出现在循环语句while、do…while、for中
示例 Continue_Sample.java
for(int i=1;i<50;i++) {
if((i%2)==0){
continue;
}
System.out.print(i+" ");
}
本章重点总结
条件语句
if if…else… switch
循环控制语句
for while do…while break、continue
课后作业
1、企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元, 低于或等于20万元时,高于10万元的部分,可提成7.5%;高于20万,低于或等于40万时, 高于20万元的部分,可提成5%;高于40万,低于或等于60万时,高于40万元的部分,可提成3%;高于60万, 低于或等于100万时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成, 在程序中设定一个变量为当月利润,求应发放奖金总数?(知识点:条件语句) [必做题]
2、给定一个成绩a,使用switch结构求出a的等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0~59(知识点:条件语句switch) [必做题]
3、假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪, 并统计未来10年(从今年算起)总收入。(知识点:循环语句for)[选做题]
4、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半, 又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。 求第一天共摘了多少。(知识点:循环语句 while)[选做题]
5、输入一个数字,判断是一个奇数还是偶数(知识点:条件语句) [必做题]
6、编写程序, 判断一个变量x的值,如果是1,输出x=1,如果是5,输出x=5, 如果是 10,输出x=10,除了以上几个值,都输出x=none。(知识点:条件语句) [必做题]
7、判断一个数字是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除), 或只能被6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)(知识点:条件语句) [必做题]
8、输入一个年份,判断这个年份是否是闰年(知识点:条件、循环语句) [必做题]
9、输入一个0~100的分数,如果不是0~100之间,打印分数无效,根据分数等级打印A,B,C,D,E(知识点:条件语句if elseif) [必做题]
10、输入三个整数x,y,z,请把这三个数由小到大输出(知识点:条件语句) [必做题]
11、有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。(知识点:条件语句)[必做题]
12、编写一个程序,计算邮局汇款的汇费。如果汇款金额小于100元,汇费为一元,
如果金额在100元与5000元之间,按1%收取汇费,如果金额大于5000元,汇费为50元。汇款金额由命令行输入。(知识点:条件语句) [选做题]
13、分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) [选做题]
14、输出0-9之间的数,但是不包括5。 [选做题]
15、编写一个程序,求整数n的阶乘,例如5的阶乘是12345 [选做题]
16、编写一个程序,找出大于200的最小的质数[选做题]
17、由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321 [选做题]
分割线
相关信息
以上就是我关于 Java基础应用编程—— 流程控制语句 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。