Java基础应用编程—— 流程控制语句

本章内容

Java基础应用编程—— 流程控制语句_第1张图片

条件语句

if语句 (单一条件)

if (表达式)
{
    执行语句块
}

执行流程

Java基础应用编程—— 流程控制语句_第2张图片

if语句

条件表达式可以是任何一种逻辑表达式
如果表达式值为true,则执行花括号的内容后,再执行后面的语句
如果表达的值为false,则直接执行后面的语句
如果,大括号号中,只有一条语句,则可以省略大括号(推荐不省略)

☻ 练习 If_exercise.java

编写java程序,完成以下功能:
假设有整型变量x,判断x是否为偶数,若为偶数,则在控制台上打印“输入的数值是偶数”。
无论x是否为偶数,最后都要在控制台上输出x的值

if语句(二选一)

if (表达式)
{
    执行语句块1
}
else
{
    执行语句块2
}
Java基础应用编程—— 流程控制语句_第3张图片

变量 = 布尔表达式 ? 语句1:语句2

如果布尔表达式的值为true,则执行语句1
如果布尔表达式的值为false,则执行语句2

if语句

Java基础应用编程—— 流程控制语句_第4张图片

☻ 练习 IfElse_exercise.java

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

Java基础应用编程—— 流程控制语句_第5张图片
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 (条件表达式)
{
       执行语句块
}

执行流程

Java基础应用编程—— 流程控制语句_第6张图片
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循环

Java基础应用编程—— 流程控制语句_第7张图片

执行流程

Java基础应用编程—— 流程控制语句_第8张图片
int x=3;
do{
     System.out.println("x="+x);
     x++;
} while(x<3);

☻ 练习 DoWhile_exercise.java

用do while 循环来改写1加到100

for循环

for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
         执行语句块
}
Java基础应用编程—— 流程控制语句_第9张图片

示例 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

Java基础应用编程—— 流程控制语句_第10张图片
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基础应用编程—— 流程控制语句)