Java基础——逻辑控制

目录

前言:

一、选择语句

        1. if语句

        悬垂 else 问题:

        2.switch语句

二、循坏语句

        1.while 循环

        2.for循环 

        3.do-while循环

三、猜数字游戏


前言:

        众所周知,我们学习一门语言要明白其控制语句,控制语句分为:选择语句和循环语句。话不多说,开始我们今天的学习吧!

一、选择语句

        1. if语句

        语法格式:

      if(){
      //括号中加判断条件,条件为Boolean形式    
         ; //此处加条件成立的执行语句;
      }
      else{
          ;
      }

         练习:判断一个数字是奇数还是偶数。

 int num = 10;
    if(num %2 == 1){
        System.out.println(num+"是奇数");
    }
    else{
        System.out.println(num+"是偶数");
    }
        悬垂 else 问题:

        在我们写代码时,一定会遇到若干个if与若干个else情况。那么?我们该如何处理这种情况呢?很简单,一言以弊之:else与最近的if配对

        2.switch语句

        语法格式:

 switch()//表达式{
       case //常量值:{

               break;//根据具体需求
   }
        default:{
            //都不满足是执行
        }

    }

        执行流程:

        1. 先计算表达式的值

         2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束

        3. 当表达式的值没有与所列项匹配时,执行default

       注意:

        多个case后的常量值不可以重复

         switch的括号内只能是以下类型的表达式: 基本类型:byte、char、short、int,

        注意不能是long类型 引用类型:String常量串、枚举类型 

        break 不要遗漏, 否则会失去 "多分支选择" 的效果

        switch 不能表达复杂的条件

        练习:根据 day 的值输出星期 

 int day = 1;
        switch (day) {
            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.while 循环

        语法格式:

 while(){//循坏条件
           ;//循环语句
       }

        循环条件为 true, 则执行循环语句; 否则结束循环。

        注意事项

         1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。 建议还是加上 { }

        2. 和 if 类似, while 后面的 { 建议和 while 写在同一行。

         3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行。

        练习:计算 1! + 2! + 3! + 4! + 5!

 int num = 5;
      int sum = 0;
      int count = num;
      int ret = 1;
      while(count >0){
          num = count;
          ret = 1;
          while(num >0 ){
              ret *= num ;
              num--;
          }
          count--;
          sum +=ret;
      }
        System.out.println(sum);

        2.for循环 

        语法格式:

 for(//条件一;条件二;条件三){
         ;//循环条件
     }

        条件1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次

        条件2: 循环条件,满则循环继续,否则循环结束

        条件3: 循环变量更新方式 

         注意事项

         1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。 建议还是加上 { }

        2. 和 if 类似, for 后面的 { 建议和 while 写在同一行。

        3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行。

        4. 和while循环一样,结束单趟循环用continue,结束整个循环用break。

        练习: 计算 1! + 2! + 3! + 4! + 5!

 int sum = 0;
    for(int i = 1;i <= 5;i++) {
            int ret = 1;
        for (int j = 1; j <= i; j++) {
            ret *= j;
        }
        sum +=ret;
        }
        System.out.println(sum);

        3.do-while循环

        语法格式:

do{
循环语句;
}while(循环条件);

        先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。

        练习:打印 1 - 10

int num = 1;
do {
System.out.println(num);
num++;
} while (num <= 10);

三、猜数字游戏

        我们对于上述结构了解的差不多了,接下来,我们来做一个简单的小项目来巩固一下吧。

        补充一个知识点:Random方法(大家可简单理解为:这调用了一个C语言的函数)。调用该方法可生成随机数字。使用方法如下:

      Random random = new Random(); // 默认随机种子是系统时间
      int toGuess = random.nextInt(100);//表示1-100

        用该方法会自动导包。

        接下来自己实现一下吧!参考代码如下: 

import java.util.Random;
import java.util.Scanner;;
class Test {
    public static void main(String[] args) {
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100);
// System.out.println("toGuess: " + toGuess);
        while (true) {
            System.out.println("请输入要输入的数字: (1-100)");
            int num = sc.nextInt();
            if (num < toGuess) {
                System.out.println("低了");
            } else if (num > toGuess) {
                System.out.println("高了");
            } else {
                System.out.println("猜对了");
                break;
            }
        }
        sc.close();
    }
}

完!

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值