Java(7)程序控制结构 —— 顺序控制、分支控制、循环控制

本文详细介绍了Java编程中的程序控制结构,包括顺序控制、分支控制(单分支、双分支、多分支及switch结构)和循环控制(for、while、do-while及多重循环)。同时,讲解了跳转控制语句(break和continue)的用法以及return语句的作用。
摘要由CSDN通过智能技术生成

目录

顺序控制

分支控制

单分支、双分支、多分支

单分支、多分支程序流程图

嵌套分支

switch分支结构

switch和if的比较

for循环控制

for循环注意事项

while循环控制

do-while循环

多重循环控制

跳转控制语句-break

跳转控制语句-continue

return的用法

本章小作业


程序流程控制介绍:在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。1. 顺序控制;2. 分支控制;3. 循环控制;

顺序控制

介绍:程序从上至下逐行执行,中间没有任何中断和跳转。是程序默认执行方式。

Java中定义变量时采用合法的前向引用。如:变量先声明再使用。

分支控制

介绍:让程序有选择地执行,分支控制有三种:单分支,双分支,三分支。

单分支、双分支、多分支

  1. if 单分支:当条件表达式为true时,执行 {} 中的代码块,表达式为false时不执行。如果 {} 中只有一条语句,可以省略 {} 例如:if (a>0) a+1;
  2. if-else 双分支:当条件表达式为true时,执行代码块1,表达式为false时执行代码块2。语法:if(条件表达式) { 代码块1 } else { 代码块2 }
  3. if -else if 多分支:不管有多少分支只能有一个执行入口,且多分支可以没有else,如果所有的条件表达式都不满足,则没有执行入口。如果有else,在所有条件表达式都不成立情况下执行else。

判断闰年:(单双分支) 

import java.util.Scanner;
public class fenzhi {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int yesr = sc.nextInt();
        if ((yesr%4==0 && yesr%100!=0)||yesr%400==0){
            System.out.println(yesr + "是闰年");
        }else{
            System.out.println(yesr + "不是闰年");
        }
    }
}

判断成绩:(多分支)

class achieve {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        double res = sc.nextDouble();
        if (res<60){
            System.out.println("不及格");
        }else if (res>=60 && res<70){
            System.out.println("及格");

        }else if (res>=70 && res<80){
            System.out.println("良好");

        }else if (res>=80 && res<100){
            System.out.println("优秀");
        }else{
            System.out.println("神");
        }
    }
}

单分支、多分支程序流程图

单分支流程图:

双分支流程图

 

 多分支流程图:

嵌套分支

介绍:在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外 层分支。 最好不要超过3层(可读性差)。

嵌套分支案例:

import java.util.Scanner;
public class S {
    /**
     * 分数大于8.0进入决赛,分男女决赛
     * @param args
     */
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入分数");
        double score = sc.nextDouble();
        if (score>8.0){
            System.out.println("进入决赛!");
            char sex = sc.next().charAt(0);//获取char类型!!
            if (sex == '男'){
                System.out.println("男子组决赛");
            }else if (sex == '女'){
                System.out.println("女子组决赛");
            }else{
                System.out.println("信息有误!");
            }
        }else {
            System.out.println("OUT");
        }
    }
}

案例2:

import java.util.Scanner;
public class S {
    /**4~10月为旺季;
     * 成人(18+)60,儿童(<18)30,老年(60+)
     * 其余月份淡季:
     * 成人40,其余20
     * @param args
     */
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入季度");
        int sea = sc.nextInt();
        if (sea >= 4 && sea <= 10) {
            System.out.println("旺季,请输入年龄");
            int age = sc.nextInt();
            if (age < 18 && age >= 1) {
                System.out.println("旺季儿童票:30");
            } else if (age >= 18 && age < 60) {
                System.out.println("旺季成人票:60");
            } else if (age >= 60) {
                System.out.println("忘记老年票:20");
            } else {
                System.out.println("请输入正确的年龄!");
            }
        } else if ((sea < 4 && sea >= 1) || (sea > 10 &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值