Java学习day03-选择结构与循环结构
发布日期:2021-06-23 02:02:56 浏览次数:25 分类:技术文章

本文共 26473 字,大约阅读时间需要 88 分钟。

选择结构与循环结构

今日目标:

1.If分支结构

2.Switch分支结构

1.程序的流程结构

顺序结构 :体现在程序进入某一个方法后,从上往下执行。

选择结构 :今天学
循环结构 :下次课学
1.基本if选择结构
1.格式
1>2 || 2>3
在这里插入图片描述

2.流程图

在这里插入图片描述

案例:1.如果我能看得见,生命也许完全不同。

2.如果我有5000元,我就去云南旅游。
3…如果你考试比我分数高,我就告诉老师你作弊。

private static void text01() {        Scanner sc=new Scanner(System.in);        boolean a;        int b;        double c,d;        System.out.println("请输入 看得见true或看不见false");        a=sc.nextBoolean();        if(a){            System.out.println("如果我能看得见,生命也许完全不同。");        }else {            System.out.println("这里漆黑一片。");        }        System.out.println("请输入数值");        b=sc.nextInt();        if(b>5000){            System.out.println("去云南旅游。");        }else {            System.out.println("太穷了,家里呆着。");        }        System.out.println("请输入两个分数:");        c=sc.nextDouble();        d=sc.nextDouble();        if(c>d){            System.out.println("你考试比我分数高,我要告诉老师你作弊。");        }else {            System.out.println("我就知道,你不行。");        }    }

在这里插入图片描述

2.认识流程图

在这里插入图片描述

3.复杂条件的if选择结构

条件中参杂着逻辑运算符

案例:1.如果我有5000元,空气污染指数<100,我就去云南旅游。
2.如果我身高1.8m,视力1.5,我就可以去当飞行员。
3.如果小明语文分数大于60,并且数学大于70;或者他的钢琴课大于80,就可以回家吃冰淇淋。

private static void text02() {        double a,b,c,d,e,f,g;        Scanner sc2=new Scanner(System.in);        System.out.println("请输入财产和空气污染指数");        a=sc2.nextDouble();        b=sc2.nextDouble();        if (a>=5000&&b<=100){            System.out.println("我去云南旅游");        }else {            System.out.println("去不了");        }        System.out.println("请输入你的身高和视力");        c=sc2.nextDouble();        d=sc2.nextDouble();        if (c>=1.8&&d>=1.5){            System.out.println("可以当飞行员");        }else{            System.out.println("当不了飞行员");        }        System.out.println("请输入语文成绩,数学成绩,钢琴成绩");        e= sc2.nextDouble();        f= sc2.nextDouble();        g= sc2.nextDouble();        if (e>=60&&f>=70||g>=80){            System.out.println("可以回家吃冰激凌");        }else{            System.out.println("不能回家吃冰淇淋");        }    }

在这里插入图片描述

4.if-else结构

如果,,,,否则,,,,

1.在某种情况下(运算后有一个具体的结果),三元运算符可以看成是if else的简写。

在这里插入图片描述

2.两个结果互斥的基本if结构的合并

3.案例:
1.如果孙悟空在五行山下压了500年,唐僧就会带他去西天取经,否则还得继续服刑。
2.如果师徒四人经历了九九八十一难,就可以修成正果,否则师父还要被妖精抓走。
3.如果小明考试大于60分,回家可以吃饭,否则回家挨打。

private static void text03() {        Scanner sc3=new Scanner(System.in);        System.out.println("请输入被压年数");        int a=sc3.nextInt();        if(a>=500){            System.out.println("可以去取经");        }else {            System.out.println("继续服刑");        }        System.out.println("师徒四人经历的难数");        int b=sc3.nextInt();        if (b>=81){            System.out.println("可以修成正果");        }else {            System.out.println("师傅被妖精抓走了");        }        System.out.println("请输入小明的成绩");        double c=sc3.nextDouble();        if (c>=60){            System.out.println("可以回家吃饭");        }else {            System.out.println("回来挨打");        }    }

5.多重if选择结构

思考:最终结果会执行多少行?

多重if选择结构,最终只会执行一种结果,执行完后,马上跳出该选择结构,不会继续往下执行。
在这里插入图片描述

1.格式:If- else if -else

2.逻辑分析:
程序面临的选择在3个或以上。
一旦进入了某一个选择,将不再执行后面的选择。意味着程序只能进入一个选择里面。
3.案例:
1.中国的歼20服役数量大于100架,将无敌于天下;
如果大于50架,可以排名世界第二;
如果大于30架,可以排名世界前五;
否则,恐怕要被小日本欺负了。
2.如果小明java考试成绩大于90分,学校奖励飞机一架,
如果大于80分,奖励坦克一辆,
如果大于60分,奖励拖拉机一辆,
否则留级重考。

6.嵌套if选择结构

针对有前提条件的情况,也就是条件有层级包含关系。

案例:
1.在全校举行的100米赛跑中,如果跑出10秒的成绩,进入决赛,如果是男生,进入男子队,如果是女生,进入女子队。
2.在厚溥的学员,顺利完成结业考试(>60),允许毕业,找到工作(true),出去挣钱,没有找到,回来继续学习。

private static void text04() {        Scanner sc4=new Scanner(System.in);        System.out.print("请输入比赛成绩:");        float a=sc4.nextFloat();        if(a<=10){            System.out.println("进入决赛");            boolean b;            System.out.println("男生请输入true,女生请输入false");            b=sc4.nextBoolean();            if (b==true){                System.out.println("进入男子队");            }else if (b==false){                System.out.println("进入女子队");            }        }else {            System.out.println("淘汰");        }        System.out.print("请输入考试成绩:");        double c=sc4.nextDouble();        if (c>=60){            System.out.println("允许毕业,去找工作");        }else if (c<60){            System.out.println("回来继续学习");        }    }

7.switch的用法

1.案例:

某新型彩票中奖规则:猜中6个球,一等奖,5个球,二等奖,4个球,三等奖,否则没有中奖。

private static void text06() {        Scanner sc6=new Scanner(System.in);        System.out.println("请输入你猜中的球数");        int num=sc6.nextInt();        switch(num){            case 6:                System.out.println("一等奖");                break;            case 5:                System.out.println("一等奖");                break;            case 4:                System.out.println("一等奖");                break;            default:                System.out.println("没有中奖");                break;        }    }

在这里插入图片描述

注意两个细节:1.任何一种情况,都建议带上break ,如果忘记了,会继续往下执行
2.default可以放在任意位置,也建议带上break,如何不加break,建议放在末尾
3.switch不支持long类型
4.switch不能使用continue

2.理解:多重if在等值判断的情况下作形式上的改版和演化:

1.Select which:选择哪一个?
2.提取公因式
3.只能选择多种结果中的一种,故每一种结果执行完后要跳出结构,即break;
3.特点:条件为等值判断
4.注意:忘记写break会怎样?
程序会从匹配的条件一直往下执行。
5.补充:jdk7版本及更高版本,支持String类型和枚举类型的判断。

总结:

根据不同的条件和选择的情况现作出以下分类讨论:
1.一个条件一种选择结果:
基本if选择结构
2.多个条件一种选择结果:
复杂条件if选择结构(通过逻辑运算符把多个条件判断连接起来)
3.一个条件,2种选择结果:
If - else
4.一个条件,3种以上选择结果:
If else if … else(范围条件判断)
5.多个条件,存在前提条件的情况:
嵌套if结构
6.在第4种情况中,条件判断为等值判断,而不是范围判断的情况下,一般使用
Switch

8.代码块

什么是代码块?

每一个代码块有它的作用域 ,相当于一个局部的小天地,小环境。
{ }
不能在外面调用代码块里面的变量。

作业:

1.编写程序,用户输入一个1~7的数字,输出对应的星期。

private static void one() {        Scanner sc1=new Scanner(System.in);        System.out.println("请输入数字1-7");        int num=sc1.nextInt();        switch(num){            case 1:                System.out.println("今天是星期"+num);                break;            case 2:                System.out.println("今天是星期"+num);                break;            case 3:                System.out.println("今天是星期"+num);                break;            case 4:                System.out.println("今天是星期"+num);                break;            case 5:                System.out.println("今天是星期"+num);                break;            case 6:                System.out.println("今天是星期"+num);                break;            case 7:                System.out.println("今天是星期日");                break;            default:                System.out.println("输入错误,没有星期"+num+"这个日期");                break;        }    }

在这里插入图片描述

2.用户输入一个月份数,判断该月份属于哪个季节,并输入结果。(3,4,5春季,6,7,8夏季, 9,10,11秋季, 12,1,2冬季)

private static void two() {        Scanner sc2=new Scanner(System.in);        System.out.print("请输入月份数:");        int a1=sc2.nextInt();        switch(a1){            case 3: ;            case 4: ;            case 5:                System.out.println("现在是春季");                break;            case 6: ;            case 7: ;            case 8:                System.out.println("现在是夏季");                break;            case 9: ;            case 10: ;            case 11:                System.out.println("现在是秋季");                break;            case 12: ;            case 1: ;            case 2:                System.out.println("现在是冬季");                break;            default :                System.out.println("没有这个季节");                break;        }    }

在这里插入图片描述

  1. 要求用户输入一个四位数,如果用户输入不是四位数,将提示错误信息,如果是四位数,将这个四位数的个,十,百,千位的数字单独输出来,并将他们的和求出来!
    例:用户输入2045,输出结果为:个位:5,十位:4,百位:0,千位:2,和为:11
private static void three() {        Scanner sc3=new Scanner(System.in);        System.out.println("请输入四位数:");        int a=sc3.nextInt();        if (a>999||a<10000){            int b=a%10,c=(a%100)/10,d=(a/100)%10,e=a/1000;            System.out.println("个位:"+b+"  十位:"+c+"  百位:"+d+"  1千位:"+e);            System.out.println("和为:"+(b+c+d+e));        }else{            System.out.println("输入错误");        }    }

在这里插入图片描述

  1. 某公司即将为员工买保险,要求如下:已婚的男、女性都可以买保险,未婚男性25岁以下不提供保险,25岁以上(包括)提供保险,未婚女性22岁以下不提供保险,22岁以上(包括)提供保险,请用程序实现以上功能,接受员工的信息,显示公司是否为他提供保险,并显示原因(如:因为已婚,公司为你提供保险;公司不能为你提供保险,因为未婚男性在25岁以上才能提供保险,已未婚和性别都用0和1表示)
private static void four() {        Scanner sc4=new Scanner(System.in);        int a;        int b,c,d,e,f;        System.out.println("请输入数字,男 0,女 1");        a=sc4.nextInt();        if(a==0){            System.out.println("请输入是否已婚,已婚 1,未婚 0");            b=sc4.nextInt();            if (b==1){                System.out.println("因为已婚,公司为你提供保险");            }else {                System.out.println("请输入年龄:");                c=sc4.nextInt();                if (c>=25){                    System.out.println("应为年龄到25,公司可以为你提供保险");                }else {                    System.out.println("应为年龄没到25,公司不能为你提供保险");                }            }        }else{            System.out.println("请输入是否已婚,已婚 1,未婚 0");            d=sc4.nextInt();            if (d==1){                System.out.println("因为已婚,公司为你提供保险");            }else {                System.out.println("请输入年龄:");                e=sc4.nextInt();                if (e>=22){                    System.out.println("应为年龄到22,公司可以为你提供保险");                }else {                    System.out.println("应为年龄没到22,公司不能为你提供保险");                }            }        }    }

在这里插入图片描述

在这里插入图片描述

  1. 用A,B,C等级对学生的的成绩分类, 其中0 - 59是A, 60 – 80是B,81 – 100 是C等级,请用代码实现该功能,判断某位同学的分数等级,同学的的分数由用户输入
private static void five() {       /* 用A,B,C等级对学生的的成绩分类, 其中0 - 59是A, 60 – 80是B,81 – 100 是C等级,            请用代码实现该功能,判断某位同学的分数等级,同学的的分数由用户输入*/        Scanner sc5=new Scanner(System.in);        System.out.println("请输入你的分数0-100");        double a=sc5.nextDouble();        if(a<60){            System.out.println("你的成绩等级是A");        }else if (a<81){            System.out.println("你的成绩等级是B");        }else {            System.out.println("你的成绩等级是C");        }    }

在这里插入图片描述

  1. 某超市进行促销活动,规则如下:如果是本超市的会员,购买的商品总价在100元以上,八折优惠;如果是会员但商品总价在100元以下9折优惠;如果非会员商品总价在100以上九折优惠;如果非会员商品总价在100以下,不打折;询问用户是否是会员(0和1代表),和商品的总价,根据答案判断折扣额以及最终要付款的金额
private static void six() {        Scanner sc = new Scanner(System.in);        System.out.println("您是否是会员输入0是,输入1不是:");        int hy=sc.nextInt();        System.out.println("你的商品总价是:");        double p=sc.nextDouble();        if(hy!=0&&p>100){            double z=p*0.9;            double k=p-z;            System.out.println("你优惠了:"+k+",最终付款:"+z);        }else if(hy!=0&&p<100){            System.out.println("你最终付款:"+p);        }else if(hy!=1&&p>100){            double z1=p*0.8;            double k=p-z1;            System.out.println("你优惠了:"+k+",最终付款:"+z1);        }else if(hy!=1&&p<100){            double z2=p*0.9;            double k=p-z2;            System.out.println("你优惠了:"+k+",最终付款:"+z2);        }    }

在这里插入图片描述

  1. 判断用户输入的年份是不是闰年,接受用户输入的年份后,首先要判断数字是不是正确的年份,年份是四位数,闰年的条件是符合下面二者之一:①能被4整除,但不能被100整除;②能被4整除,又能被400整除。
private static void seven() {        Scanner sc7=new Scanner(System.in);        System.out.println("请输入四位数的年份:");        int a=sc7.nextInt();        if ((a%4==0&&(a%100)!=0)||a%400==0){            System.out.println("是闰年");        }else {            System.out.println("不是闰年");        }    }

在这里插入图片描述

  1. 判断某个变量里存放的字母是不是元音字母(aoeiu)
private static void eight() {        Scanner sc8=new Scanner(System.in);        System.out.println("请输入字母:");        String a1=sc8.next();        switch (a1){            case "a": ;            case "e": ;            case "i": ;            case "o": ;            case "u":                System.out.println("是元音字母");                break;            default:                System.out.println("不是元音字母");                break;        }    }

在这里插入图片描述

  1. 用代码实现以下的本周食谱:周一:鸡蛋 周二:鱼 周三:青菜 周四:牛肉 周五: 虾 周六:汉堡 周天:鸡翅,先询问用户今天是星期几,接受用户的答案后,判断输出今天的食谱
private static void nine() {        Scanner sc9=new Scanner(System.in);        System.out.println("今天是星期几:");        int a=sc9.nextInt();        switch(a){            case 1:                System.out.println("鸡蛋") ;                break;            case 2:                System.out.println("鱼");                break;            case 3:                System.out.println("青菜");                break;            case 4:                System.out.println("牛肉");                break;            case 5:                System.out.println("虾");                break;            case 6:                System.out.println("汉堡");                break;            case 7:                System.out.println("鸡翅");                break;            default:                System.out.println("出错了");                break;        }    }

在这里插入图片描述

  1. 接受用户输入的四个数字a,b,c,d,将四个数中的最大值求出来(例如输出结果为:a的值为20,a最大)!
private static void ten() {        Scanner sc10=new Scanner(System.in);        System.out.println("请输入四个整数");        int a=sc10.nextInt();        int b=sc10.nextInt();        int c=sc10.nextInt();        int d=sc10.nextInt();        int max;        max=a>b?a:b;        max=max>c?max:c;        max=max>d?max:d;        System.out.println("最大的值为:"+max);        if (max==a){            System.out.println("a的值为"+a+",a最大");        } if (max==b){            System.out.println("b的值为"+b+",b最大");        } if (max==c){            System.out.println("c的值为"+c+",c最大");        } if (max==d){            System.out.println("d的值为"+d+",d最大");        }      /*  Scanner sc = new Scanner(System.in);        System.out.println("请输入第一个数:");        int a1=sc.nextInt();        System.out.println("请输入第二个数:");        int a2=sc.nextInt();        System.out.println("请输入第三个数:");        int a3=sc.nextInt();        System.out.println("请输入第四个数:");        int a4=sc.nextInt();        if(a1>a2&&a1>a3&&a1>a4){            System.out.println("a的值为"+a1+",a最大");        }else if(a2>a1&&a2>a3&&a2>a4){            System.out.println("b的值为"+a2+",b最大");        }else if(a3>a1&&a3>a2&&a3>a4){            System.out.println("c的值为"+a3+",c最大");        }else if(a4>a3&&a4>a2&&a4>a1){            System.out.println("d的值为"+a4+",d最大");        }*/    }

在这里插入图片描述

预习内容:

循环

循环结构

今日目标:

while循环

do-while循环
for循环

1.while循环

循环变量:记录循环的次数

循环条件:决定是否还要继续下去,循环变量的范围(上限,下限)
循环体:重复性的工作

一.当我们需要重复做一件事情时,可以用循环来解决。参考ppt 6页

二.While循环的格式和步骤:(画流程图)
1.定义循环变量,并初始化
2.While作条件判断,执行循环或跳出循环。
三.案例:
1.某学员为表决心,决定抄写100遍“好好学习,天天向上。”
2.输入小明的考试成绩,如果及格,奖励钢笔一支,否则继续学习和做作业,然后再考。
3.输入你想在这个星球上待多少年,然后模拟时光飞快的过了每一年。

package com;import java.util.Scanner;public class xunhuan {    public static void main(String[] args) {        three();    }    private static void three() {        Scanner sc3=new Scanner(System.in);        System.out.print("请输入你想在这个星球上待多少年:");        int a1=sc3.nextInt(),b=1;        while (b<=a1){            System.out.println("你已经呆了"+b+"年");            b++;        }    }    private static void two() {        Scanner sc2=new Scanner(System.in);        System.out.println("请输入小明的成绩");        double a1=sc2.nextDouble();        while(a1<60){            System.out.println("继续学习");            System.out.println("请再输入小明的成绩");            a1=sc2.nextDouble();        }        System.out.println("奖励钢笔一支");    }    private static void one() {        Scanner sc1=new Scanner(System.in);        int i=0;        while (i<10){            System.out.println("好好学习,天天向上");            i++;        }    }}

总结:循环就像是一个人在河里顺水而下,突然遇到一个漩涡。

2.do-while

一.格式:

二.案例:
1.U1学完了,同学们很开心,接下来就要面临考试了,考试及格的学员,顺利升级U2课程学习,不及格的呢,则要准备重考!
2.火车中途安检,查看身上是否有违禁物品,如果没有,可以继续乘坐,否则,赶下车去!
3.飞机中途安检,查看身上是否有违禁物品,如果没有,可以继续乘坐,否则自己跳下去!

3.While 和 do -while 的区别

1.while 和do-while格式写三遍体会写法的区别和注意分号。

2.While先条件判断,再执行循环体,do-while 先执行循环体,再条件判断。
3.区分理解:先安检,在上车;先坐车,出站安检。
先看口袋钱够不够,再决定是否进店消费;
先进去点餐吃饭,结账买单时再看钱够不够

4For循环:

一.语法和执行顺序:

二.使用场景:循环次数固定:更加突出具体了开始节点和结束节点
三.案例:
1.打印边长为5矩形
2.打印平行四边形
3.打印三角形
4.打印菱形
5.打印空心菱形
6.升级上面的案例,边长由用户输入
在这里插入图片描述

package four;import java.util.Scanner;public class XunHuan {    public static void main(String[] args) {        five1();    }//任意长度的空心菱形    private static void five1() {        Scanner sc=new Scanner(System.in);        System.out.print("请输入空心菱形的边长:");        int a=sc.nextInt();        for (int i = 1; i <=a; i++) {            for (int k=a;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                if (j==1||j==i){                    System.out.print("* ");                }else {                    System.out.print("  ");                }            }            System.out.println();//换行        }        for (int i = (a-1); i>=1; i--) {            System.out.print(" ");            for (int k=(a-1);k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                if (j==1||j==i){                    System.out.print("* ");                }else {                    System.out.print("  ");                }            }            System.out.println();//换行        }    }    //边长任意的菱形    private static void four1() {        Scanner sc=new Scanner(System.in);        System.out.print("请输入菱形的边长:");        int a=sc.nextInt();        for (int i = 1; i <=a; i++) {            for (int k=a;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                System.out.print("* ");            }            System.out.println();//换行        }        for (int i = (a-1); i>=1; i--) {            System.out.print(" ");            for (int k=(a-1);k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                System.out.print("* ");            }            System.out.println();//换行        }    }    //边长任意的正三角形    private static void three1() {        Scanner sc=new Scanner(System.in);        System.out.print("请输入三角形的边长:");        int a=sc.nextInt();        for (int i = 1; i <= a; i++) {            for (int k=a;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                System.out.print("* ");            }            System.out.println();//换行        }    }    //任意长度的平行四边形    private static void two1() {        Scanner sc=new Scanner(System.in);        System.out.println("请输入平行四边形的长:");        int b=sc.nextInt();        System.out.println("请输入平行四边形的宽:");        int a=sc.nextInt();        for (int i = 1; i <= a; i++) {//每行            for (int k = 1; k < i; k++) {//空格                System.out.print(" ");            }            for (int j = 1; j <= b; j++) {                System.out.print("* ");            }            System.out.println();//换行        }    }//输入任意长度的矩形    private static void one1() {        Scanner sc=new Scanner(System.in);        System.out.println("请输入矩形的宽:");        int a=sc.nextInt();        System.out.println("请输入矩形的长:");        int b=sc.nextInt();        for (int i = 1; i <= a; i++) {            for (int j = 1; j <= b; j++) {                System.out.print("* ");            }            System.out.println();//换行        }    }    //空心菱形    private static void five() {        for (int i = 1; i <=5; i++) {            for (int k=5;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                if (j==1||j==i){                    System.out.print("* ");                }else {                    System.out.print("  ");                }            }            System.out.println();//换行        }        for (int i = 4; i>=1; i--) {            System.out.print(" ");            for (int k=4;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                if (j==1||j==i){                    System.out.print("* ");                }else {                    System.out.print("  ");                }            }            System.out.println();//换行        }    }    //菱形    private static void four() {        for (int i = 1; i <=5; i++) {            for (int k=5;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                System.out.print("* ");            }            System.out.println();//换行        }        for (int i = 4; i>=1; i--) {            System.out.print(" ");            for (int k=4;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                System.out.print("* ");            }            System.out.println();//换行        }    }    //正三角形    private static void three() {        for (int i = 1; i <= 10; i++) {            for (int k=10;k>=i;k--){                System.out.print(" ");            }            for (int j = 1; j <= i; j++) {                System.out.print("* ");            }            System.out.println();//换行        }    }//平行四边形    private static void two() {        for (int i = 1; i <= 10; i++) {//每行            for (int k = 1; k < i; k++) {//空格                System.out.print(" ");            }            for (int j = 1; j <= 10; j++) {                System.out.print("* ");            }            System.out.println();//换行        }    }//正方形        private static void one () {            for (int i = 1; i <= 10; i++) {                for (int j = 1; j <=10; j++) {                    System.out.print("* ");                }                System.out.println();//换行            }        }    }

在这里插入图片描述

5跳转语句break和continue

一.请同学们自行脑补以下情景:

1.当你在河里玩漂流的时候,突然遇到一个漩涡,转了几圈后,你瞬间像开挂了一样,一跃而起,带着你的橡皮艇从漩涡里面跳了出来。break
你后面的小伙伴不小心也进入了漩涡,他想模仿你一样跳出来,可是法力不够,在空中停留了一秒,还是再次掉进漩涡中。continue
break是跳出整个循环语句,结束整个循环过程(当前所在层)
continue是跳出本次循环,而不是终止循环(当前所在层)
二.案例:
1.张三在一次参加学校的10000米赛跑时,跑了8圈之后突然感到心脏不适, 不得己中途退赛。
2.李四在10000米赛跑中,乘着别人不注意,从操场中间径直穿插过去,此行为属于作弊行为。
3.录入5门课成绩,输出平均成绩。如果录入的是负数,中止录入,并提示 录入错误

6.作业:

1.使用while、do-while以及for循环三种编程方式实现:计算100以内(包括 100)的偶数之和

private static void one() {        int a=0,b=0;        while (a<100){            a+=2;            b+=a;        }        System.out.println("100以内的偶数之和为:"+b);        int a1=0,b1=0;        do {            a1=a1+2;            b1=b1+a1;        }while (a1<100);        System.out.println("100以内的偶数之和为:"+b1);        int c=0;        for (int i=0;i<=100;i+=2){            c=c+i;        }        System.out.println("100以内的偶数之和为:"+c);    }}

在这里插入图片描述

2.输入一个整数n,实现n的阶乘。n*(n-1)*…*1

private static void two() {        Scanner sc=new Scanner(System.in);        System.out.print("请输入一个整数:");        int n = sc.nextInt();        int i=1,j=1;        while(i<=n){            j*=i;            i++;        }        System.out.println(n+"的阶乘为:"+j);    }

在这里插入图片描述

在这里插入图片描述

3.实现99乘法表的打印和输出。

private static void three() {        for (int i=1;i<=9;i++){            for (int j=1;j<=i;j++){                System.out.print(j+"*"+i+"="+(j*i)+"   ");            }            System.out.println();        }    }

在这里插入图片描述

4.1~10之间的整数相加,得到累加值大于20的当前数

private static void four() {        Scanner sc=new Scanner(System.in);        int a;        int b=0;        for (;b<20;b+=a){            System.out.println("请输入1-10之间的整数:");            a=sc.nextInt();        }        System.out.println("累加值大于20的当前数为:"+b);    }

在这里插入图片描述

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

private static void five() {        Scanner sc=new Scanner(System.in);        System.out.println("请输入五个学生的成绩:");        double a;        double b=0;        for (int i=1;i<=5;i++){            System.out.println("请输入第"+i+"个学生的成绩:");            a=sc.nextDouble();            if (a>=80){                b++;            }        }        System.out.println("分数大于等于80分的学生比例为:"+(b/5));    }

在这里插入图片描述


1.输出1-10与5相乘的结果

private static void text01() {        for (int i=1;i<=10;i++){            System.out.println(i+"与5相乘的结果为:"+(i*5));        }    }

在这里插入图片描述

2.用程序计算1-100的和,并输出

private static void text02() {        int sum=0;        for (int i = 1; i <=100 ; i++) {            sum+=i;        }        System.out.println("1-100的和为:"+sum);    }

在这里插入图片描述

3.求出所有的水仙花数,水仙化数为3位数,并且每位上的数字的立方和等于该数本身

private static void text03() {        for (int i=100;i<999;i++){            if (i==(Math.pow(i%10,3)+Math.pow(i/100,3)+Math.pow((i/10)%10,3))){                System.out.println("这个数是水仙花数:"+i);            }        }    }

在这里插入图片描述

在这里插入图片描述

4.把100-200之间不能被3整除的数输出

private static void text04() {        System.out.println("100-200之间不能被3整除的数为:");        int a=1;            for (int i=100;i<=200;i++){                if (i%3!=0){                    System.out.print(i+"  ");                }                if (a%10==0){                    System.out.println();//换行                }                a++;            }    }

在这里插入图片描述

5.将1998-2008年之间的闰年年份输出

private static void text05() {        System.out.println("1998-2008年之间的闰年年份为:");        for (int i=1998;i<=2008;i++){            if (i%4==0&&i%100!=0||i%400==0){                System.out.println(i);            }        }    }

在这里插入图片描述

6.循环接受本班学生的考试成绩,每次接受完一个学生的分数,询问用户是否要继续,答案是‘1’时继续接受,否则,停止接受,最后输出所有学生的总分和平均分

private static void six() {        Scanner sc=new Scanner(System.in);        int i;//成绩        int sum=0;//记录总分        double count=0;//记录学生个数        int sex=1;        do {            System.out.print("请输入学生的成绩:");            i=sc.nextInt();            sum+=i;            System.out.println("继续请按1");            sex=sc.nextInt();            count++;        }while (sex==1);        System.out.println("学生的总分为:"+sum+"  平均分:"+sum/count);    }

在这里插入图片描述

在这里插入图片描述

7.计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 54321

private static void text07() {        System.out.println("请输入一个正整数:");        Scanner sc=new Scanner(System.in);        int a=sc.nextInt();        int b=1;        for (int i=1;i<=a;i++){            b*=i;        }        System.out.println(a+"的阶乘为:"+b);    }

在这里插入图片描述

8.用代码实现一个猜数字的小游戏,假设要猜的目标数字是8,先可以提示用户猜的数在0-10之间,然后循环接受用户输入的数字,如果用户输入的数字比目标数字小,就提示”小了,继续猜”,继续接受用户输入的数字,继续比较,如果大了,就”大了,继续猜”,如果用户在5次以内猜对了,就提示”你真聪明,猜对了!”并结束循环,如果猜了5次还没有猜对,就提示”真笨,不跟你玩了”,并结束循环

private static void text08() {        int a=16;        System.out.println("要猜的整数在0-50之间");        Scanner sc=new Scanner(System.in);        System.out.println("请输入你要猜的数:");        boolean c=true;        for (int i=1;i<=5;i++){            int b=sc.nextInt();//猜的数            if (b==a){                System.out.println("你真聪明,猜对了!");                c=false;                break;            }            if (b>a){                System.out.println("大了,继续猜");            }            if (b

在这里插入图片描述

在这里插入图片描述

9.求1-100之间所有3的倍数的和(用关键字continue和不用continue两种方法做)

在这里插入图片描述

private static void one() {        int sum=0;        for (int i=1;i<=100;i++){            if (i%3==0){                sum=sum+i;                //System.out.print(i+" ");            }        }        System.out.println("1-100之间所有3的倍数的和为:"+sum);        int sum1=0;        for (int i=0;i<100;i++){            if (i%3!=0){                continue;            }            sum1+=i;        }        System.out.println("1-100之间所有3的倍数的和为:"+sum1);    }

在这里插入图片描述

10.上面题6改为,本班一共30个学生,循环接收学生的开始成绩,如果用户输入答案非’1’,则停止接受,如果输入的一直是’1’,但学生人数达到30也停止接收

private static void text10() {        System.out.println("请输入学生的成绩:");        Scanner sc=new Scanner(System.in);        double a;        int b;        double c=0;//总分        int d=0;//记循环        for (int i=1;i<=30;i++){            a=sc.nextDouble();            System.out.println("是否要继续,答案是‘1’时继续接受,否则,停止接受");            c=c+a;            d++;            b=sc.nextInt();            if (b!=1){                break;            }            System.out.println("请继续输入学生的成绩:");        }        System.out.println("总分为:"+c);        System.out.println("平均分为:"+c/d);    }

在这里插入图片描述

转载地址:https://blog.csdn.net/qq_45850095/article/details/110477586 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:春晚的创意担当,给了这个1岁的"拓荒牛"机器人
下一篇:同样的实验室,硕士们进了BAT拿高工资,为什么博士却要挤破头进985高校?

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月28日 20时10分52秒