判断和循环(顺序结构,分支结构,循环高级综合练习)

本文详细介绍了Java中的流程控制语句,包括顺序结构、if条件语句的三种形式,switch语句的使用,以及for循环的各种应用。示例代码涵盖了判断条件、循环计算、随机数生成和质数判断等基本编程概念。此外,还展示了如何在程序中实现猜数字游戏。
摘要由CSDN通过智能技术生成

流程控制语句

顺序结构

顺序结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行

分支结构

if 语句

第一种格式

if (关系表达式){
   语句体;
}

e59c6469bde948a6b60850b2f1ed5c67.png

import java.util.Scanner;

public class Day13 {
    public static void main (String[] args){
        //需求:键盘录入女婿酒量,如果大于两斤,老丈人给出回应
        Scanner sc=new Scanner (System.in);
        System.out.println("请输入女婿的酒量");
        int wine=sc.nextInt();
        if(wine>2){
            System.out.println("小伙子酒量不错");
        }
    }


}

2dce65628ece41c283fd6c9e094ed27d.png

 第二种格式

if(关系表达式){
语句体1;
}
else{
语句体2;
}

3f25d1afbe654d67844a8d42a7322013.png

import java.util.Scanner;

public class Day13 {
    public static void main (String[] args){
        /*需求:键盘录入一个整数,表示身上的钱。
        如果大于等于100块,就是网红餐厅否则,就吃经济实惠的沙县小吃。*/
        Scanner sc=new Scanner (System.in);
        System.out.println("请输入身上的钱");
        int money=sc.nextInt();
        if(money>100){
            System.out.println("网红餐厅");}
            else {
                System.out.println("沙县小吃");
            }

    }


}

17ea4909bc884352824fc1296ab2c1fb.pngc0a4dbcfbe4843d7833dd9dc61b31375.png

 第三种形式

41b6f0f3656e49e780ca2b86702de749.pnga36b49ddb1b54232bd50836e78f0d172.png

import java.util.Scanner;

public class Day13 {
    public static void main(String[] args) {
       /* 根据不同的分数送不同的礼物。
       如果是95~100分,送自行车一辆如果是90~94分,游乐场玩一天
       如果是80~89分,送变形金刚一个。如果是80分,搂一顿。*/
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入孩子的成绩");
        int score = sc.nextInt();

        if(score<=100&&score>=0) {
            if (score <= 100 && score >= 95) {
                System.out.println("带去旅游");
            } else if (score <= 94 && score >= 80) {
                System.out.println("送衣服");
            } else if (score <= 80&& score >= 70){
                System.out.println("送红包");
            }else{
                System.out.println("挨揍");
            }
        } else {
            System.out.println("当前成绩不合法");
        }
   }
}


 2e5133e6a67443819848d9660053ddc5.pngaef41dc476a1414ebb3ae96534027ee8.png19f08e21b4dc4dd39ef8267ba9607f51.png

import java.util.Scanner;

public class Day4 {
    public static void main(String[]args){
        //需求:
        //商场都会有VIP的会员制,根据不同的会员会有不同的折扣
        //假设商品总价为1000
        //键盘录入会员级别,并计算出实际支付的钱
        //会员1级:打9折
        //会员2级:打8折。
        //会员3级:打7折
        //非会员:不打折,要打也是打骨折
        Scanner sc=new Scanner(System.in);
        double price=1000;
        System.out.println("请输入你的会员等级");
        int vip=sc.nextInt();
        if(vip<=3&&vip>=1) {
            if (vip == 1) {
                price = 1000 * 0.9;
            } else if (vip == 2) {
                price = 1000 * 0.8;
            } else if (vip == 3) {
                price = 1000 * 0.7;
            }
            System.out.println(price);
        }else{
            System.out.println("不打折,打骨折");
        }

    }
}

bedd9fc4ee214733bc377f99ade31c86.pngdd79f1d9dac54cbabc4daa98842064e9.png

 swich语句:

 dd1511f0c9014633b3e3fc42b2fe4d83.pngc6b7dc55996b47cea302bbcdba19eff1.png

 ffd9521bce7a441881fb5e2d8bc231fc.png

import java.util.Scanner;

public class Day14 {
    public static void main(String[] args) {
        //1.抓饭,2.拉面,3.大盘鸡,4.烤鸡
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入四种饭的序号:");
        int dinner=sc.nextInt();
        String dinners;
        switch (dinner) {
            case 1:
                dinners="吃抓饭";
                break;
            case 2:
                dinners="吃拉面";
                break;
            case 3:
                dinners="吃大盘鸡";
                break;
            default:
                dinners="吃泡面";
                break;
        }
        System.out.println(dinners);
    }
}

777949f9ad9e4feeb5dcfe53cc1705a0.pnga4519dd759ac454596fe2accf434881d.png

import java.util.Scanner;

public class test2 {
    public static void main(String[]args){
       /* 需求:键盘录入星期数,输出工作日和休息日*/
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入星期数:");
        int week=sc.nextInt();
        String thisweek;

        switch(week){
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                thisweek="工作日";
                break;
            case 6:
            case 7:
                thisweek="休息日";
                break;
            default:
                thisweek="请正确输入星期";
                break;
        }
   System.out.println(thisweek);
    }

}

 3edd3903f2624bb4963b3b5abd963726.png01e0a8e1420b454fb830dc04395f2dea.pnge9d2ac664d154186bb89224334ae088a.png

for循环:

import java.util.Scanner;

public class test3 {
    public static void main(String[]args){
        int i;
        for(i=1;i<=10;i++){
            System.out.println("hello World");
        }
    }
}

 4145aeec258a42d29fd1ab17f415d98a.png

 求5的求和:

public class test4 {
    public static void main(String [] args){
        //用for循环求5的和
        int i=5;
        int sum=0;
        for(i=5;i>=1;i--){
            sum+=i;
        }
        System.out.println(sum);
    }
}

 c843e663bc834aeb92b69f02721c640c.png

 求1~100的偶数和

自己的方法

public class test5 {
    public static void main(String[] args){
        //求1~100的偶数和
        int i;
        int sum=0;
//博主的方法
/*for(i=0;i<=100;i++) {
            if(i%2==0){
                sum+=i;
            }
        }*/

        for(i=0;i<=100;i+=2) {
            sum += i;
        }//我的方法

        System.out.println("sum="+sum);
        }
    }

 7065362f067a48a29b71190a03e400c6.png

练习需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)将两数相除,要求不使用乘法、除法和 % 运算符得到商和余数。

import java.util.Scanner;

public class test01 {
    public static void main(String[]args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入除数:");
        int divorcer=sc.nextInt();
        System.out.println("请输入被除数:");
        int divorced=sc.nextInt();
        int count=0;
        while(divorcer>=divorced){
            divorcer-=divorced;
            count++;
        }
        System.out.println("商为:"+count);
        System.out.println("余数为:"+divorcer);

    }
}

be18ab7dbe504c5eb91fa0c07a1f8316.png

 do while语句

db2d23a0247848dd86f8468eefa4ecaa.png

 循环高级综合练习

无限循环:三种形式

public class test02 {
    public static void main(String[]args){
      /*  for (;;){
            System.out.println("学习");
        }*/

       /* while(true){
            System.out.println("学习")
            };*/

        do {
            System.out.println("学习");
        }while(true);
    }
}

跳转控制语句

continue; 结束本次循环,运行下一个循环。(跳过一次)

break:结束整个循环 

f285190ee37f4d6a93766cb5188fc4ef.png

小老虎吃包子,第三个包子有虫子,跳过。

public class test03 {
    public static void main(String[]args){
        //小老虎吃包子,第三个包子有虫子,跳过。
        for (int i=1;i<=5;i++){

            if (i==3){
                continue;
            }
         System.out.println("现在在吃"+i+"个包子");}
    }

}

b122baf3d3d343948dcfbad06cbef1de.png

朋友聚会的时候可能会玩一个游戏:逢7过

游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过
需求:使用程序在控制台打印出1-100之间的满足逢七必过规则的数据 

import java.util.Scanner;

public class test04 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
       /* 朋友聚会的时候可能会玩一个游戏:逢7过
       游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过
        需求:使用程序在控制台打印出1-100之间的满足逢七必过规则的数据*/
        //分析:
        //个位7 十位77倍数
        //1 2 3 4 56过8 9 10 11 12 13 过15 16 过18 19 20 过....//69 过过过过过过...
        //1.得到1~10@之间的每一个数字
        //2.判断每一个数字,如果符合规则,就打印过,如果不符合规则就打印真实的数字
        System.out.println("请输入一个一百以内的数字");
        int number = sc.nextInt();
        int i = 1;
        for (i = 1; i <= 100; i++) {
            if (i % 10 == 7 || i / 10 % 10 == 7 || i % 7 == 0) {
                System.out.println("过");
                continue;
            }
               System.out.println(i);

        }
    }
}

求平方根

需求:键盘录入一个大于等于2的整数X,计算并返回X的平方根结果只保留整数部分,小数部分将被舍去

import java.util.Scanner;

public class text05 {
    public static void main(String[]args){
     /*   需求:键盘录入一个大于等于2的整数X,
     计算并返回X的平方根结果只保留整数部分,小数部分将被舍去*/

        //在代码当中//从1开始循环,拿着数字的平方跟原来的数字进行比较
        // 如果小于的,那么继续往后判断
        //如果相等,那么当前数字就是平方根
        //如果大于的,那么前一个数字就是平方跟的整数部分
           Scanner sc=new Scanner(System.in);
           System.out.println("请输入所求平方根的数字:");
           int number=sc.nextInt();
           for (int i=1;i<=number;i++){
               if(i*i==number) {
                   System.out.println("number的平方根为:" + i);
                   break;
               }else if(i*i>number){
                   System.out.println("number的平方根为"+(i-1));
                   break;

               }

           }

    }
}

31fc5b67cb664f3b964e65919899cb1c.pngc53eaba9501443debf309fc04e2583ac.png

 需求:键盘录入一个正整数X,判断该整数是否为一个质数

import java.util.Scanner;

public class test06 {
    public static void main(String []args){
        Scanner sc=new Scanner(System.in);
        //质数:
        //如果一个整数只能被1和本身整除,那么这个数就是质数。否则这个数叫做合数
        //7=1*7质数
        //8=1*8 2*4合数
        System.out.println("请输入数字:");
        int number= sc.nextInt();
        //表示最初认为number是一个整数
        boolean flag=true;
        //写一个循环从二开始判断,一直判断到number-1;
        for (int i =2; i < number-1; i++) {
            if (number % 2 == 0) {
                flag = false;
                // System.out.println(number+"不是一个整数");
                break;
            }
        }
        if (flag){
            System.out.println(number+"是一个质数");
        }else{
            System.out.println(number+"不是一个质数");
        }



    }
}

为猜数字所具备的知识点

 

生成随机数函数Random的使用

import java.util.Random;

public class test07 {
    public static void main(String []args){
        //获取随机数,范围(0~10)
        Random r=new Random();
        int number=r.nextInt(100);
        System.out.println(number);
    }
}
//生成7~15之间的随机数(尾部+1减头部) 
int number=r.nextInt(9)+7;

  需求:程序自动生成1~100之间的随机数字,实用程序实现猜出这个数字是多少

import java.util.Random;
import java.util.Scanner;

public class test09 {
    public static void main(String[]args){
        Random r=new Random();
        //猜数字
        //1.生成1~100之间的随机数
        int number=r.nextInt(100)+1;
        //2.以键盘录入的形式猜这个数字
        Scanner sc=new Scanner(System.in);
        while(true){
            System.out.println("请输入你要猜的数字");
            int gussnumber=sc.nextInt();
            if(gussnumber>number){
            System.out.println("大了");
        }else if(gussnumber<number){
            System.out.println("猜的数字小了");
        }else{
            System.out.println("猜中了");
            break;
        }}

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值