美文网首页
3.循环结构

3.循环结构

作者: 唐英钏 | 来源:发表于2018-01-02 20:08 被阅读0次

while循环结构

  • while(循环条件)
    {
    循环操作
    }

练习题

  • 老师每天检查张三的学习任务是否合格,如果不合格,则继续进行。老师给张三安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。


String input = "n";
        while(input.equals("n"))
        {
            System.out.println("合格了吗?(y/n):");
            Scanner scanner = new Scanner(System.in);
            //接收用户输入
            input = scanner.next();
            if(input.equals("n"))//说明不合格
            {
                System.out.println("商务阅读教材!下午上级编程!");
            }
        }
        System.out.println("完成学习任务!");

do-while循环结构

  • do
    {
    循环操作
    }while(循环条件);

for循环结构

  • for(1参数初始化;2条件判断;4更新循环变量)
    {
    3循环操作;
    }

练习题

  • 循环输入某同学高考考试的5门课成绩,并计算平均分


public class linshi {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入学生姓名");
        String name = scanner.next();
        int grade = 0;
        int total = 0;
        for(int i = 1; i <= 5; i++)
        {
            System.out.println("请输入5门功课中第"+i+"门课的成绩");
            score = scanner.nextInt();
            total = total + grade;
        }
        System.out.println(name+"的平均分是"+total/5);
    }
}
  • 输出如图所示加法表


public class lingshi {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个值");
        int num = scanner.nextInt();//6
        int j = num;
        for(int i = 0; i <= num; i++)
        {
            System.out.println(i+"+"+j+"="+num);
            j--;
        }

    }
}

break

  • 用于do-while、while、for中时,可跳出循环而执行循环后面的语句

练习题

  • 循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误



    --分析
    循环录入成绩,判断录入正确性:录入错误,使用break语句立刻跳出循环;否则,累加求和
    1.自己的方法

public class linshi {
    public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
        System.out.print("请输入学生姓名:");
        String name = scanner.next();
        int sum = 0;
        int grade = 0;
        for (int i = 1; i <= 5;i++)
        {
            System.out.print("请输入第" + i + "门课的成绩:");
            grade = scanner.nextInt();
            if (grade < 0 || grade > 100) {
                System.out.println("抱歉,分数录入错误,请重新输入!");
                break;
            }
            sum += grade;
        }
        if (grade >= 0 && grade <= 100){
            System.out.print(name + "平均成绩是" + sum/5);
        }
        else {
        }
    }
}

2.老师的方法(运用boolean)

public class linshi {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入学生姓名:");
        String name = scanner.next();
        int sum = 0;
        int grade = 0;
        boolean error = false;//假设用户输入没有错误
        for (int i = 1; i <= 5;i++)
        {
            System.out.print("请输入第" + i + "门课的成绩:");
            grade = scanner.nextInt();
            if (grade < 0 || grade > 100) {
                error = true;
                break;
            }
            sum += grade;
        }
        if (error == false){
            System.out.print(name + "平均成绩是" + sum/5);
        }
        else {
            System.out.println("录入有错误,请重新输入");
        }
    }
}
  • 1~10之间的整数相加,得到累加值大于20的当前数
public class linshi {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        for ( i = 1; i<=10;i++ )
        {
            sum += i;
            if (sum > 20)
            {
                break;
            }
        }
        System.out.println(i);
    }
}

continue

  • 跳过循环体中剩余的语句而执行下一次循环

练习题

  • 循环录入Java课的学生成绩,统计分数大于等于80分的学生比例



    --分析:
    1.通过循环,获得分数大于等于80分的学生人数num
    2.判断:如果成绩<80,不执行num++,直接进入下一次循环

public class linshi {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System .in);
        System.out.print("请输入班级总人数:");
        int number = scanner.nextInt();
        int count = 0;
        for (int i = 1;i <= number;i++)
        {
            System.out.print("请输入第" + i + "位学生的成绩:");
            int grade = scanner.nextInt();
            if (grade < 80)
            {
                continue;
            }
            else
            {
                count++;
            }
        }
        System.out.println("80分以上的学生人数是:" + count);
        System.out.println("80分以上的学生所占的比例是:" + (double)count/number);
    }
}
  • 求1~10之间的所有偶数和
    --分析:
    1.使用循环进行累加,循环的范围是从1至10
    2.判断当前数是否为偶数
    3.如果为奇数跳过,执行下一个循环,如果为偶数,进行累加
public class linshi {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1;i <= 10;i++)
        {
            if(i%2 == 1)
            {
                continue;
            }
            else
            {
                sum += i;
            }
        }
        System.out.println("偶数和:" + sum);
    }
}

break和continue小结

  • break语句终止某个循环,程序跳转到循环块外的下一条语句
  • continue跳出本次循环,进入下一次循环

相关文章

  • 3.循环结构

    while循环结构 while(循环条件){循环操作} 练习题 老师每天检查张三的学习任务是否合格,如果不合格,则...

  • 3.逻辑结构(二):循环结构

    计算机科学中的逻辑结构第二种就是循环结构。 先看图1。 图1 图1 中的任务是, 在空地上建造房屋,我们使用学过的...

  • 反转单向链表

    1. 要求 2. 链表结构 3. 实现方式 循环、迭代 3.1 循环 3.2 迭代

  • web前端培训教程中程序的顺序结构及选择结构

    程序的三大结构: 1.顺序结构 2.选择结构 3.循环结构 if(){}判断语句 if(true){ //执...

  • Python循环

    流程控制语句: 分类 1.顺序结构2.判断结构解析,如果……否则……3.循环结构 判断结构 格式一 ① if ...

  • 3.顺序,选择,循环结构语句

    语句概述 表达式语句 指在任何一种表达式尾加上分号“;” 控制语句 用于控制程序语句的执行次序,由特定的语句定...

  • 原生JS-02

    1. 程序设计语言有三大结构:顺序结构、选择结构、循环结构2. 顺序结构:程序自上而下执行,不经任何跳转3. ...

  • SQL第9/9篇(基础部分完结撒花)流程控制结构

    流程控制结构 1.顺序结构2.分支结构3.循环结构 一、分支结构 1.if 函数 功能:简单的双分支语法:if(表...

  • 7. 流程控制

    1. 顺序结构 从上到下 从左往右 2. 选择结果 if 3.循环结构 while do ... while for

  • 好程序员Web前端培训分享程序的三大结构

    好程序员Web前端培训分享程序的三大结构 程序的三大结构: 1.顺序结构 2.选择结构 3.循环结构 if(){}...

网友评论

      本文标题:3.循环结构

      本文链接:https://www.haomeiwen.com/subject/qhngwxtx.html