【JAVA】七、根本知识“if+switch+循环结构”详细讲授~简单易懂!

[复制链接]
发表于 2025-10-14 17:48:10 | 显示全部楼层 |阅读模式
目次
7、逻辑控制
7.1 分支结构
7.1.1 if 语句
语法格式1
语法格式2
语法格式3
7.1.2 switch语句 
根本语法
实行流程
7.2 循环结构 
7.2.1 while循环
语法格式
 7.2.2 Break
 7.2.3 Continue
 7.2.4 for循环
语法格式
实行过程
 7.2.5 do while循环 
语法格式
 7.3 输入输出
7.3.1 输出到控制台
语法格式
7.3.2 从键输入(Scanner类)
1. 导入Scanner类
2. 创建Scanner对象
3. 读取差别范例的输入
7.4 文章结语

7、逻辑控制

        引入:我们每一个人每天的生存似乎都是布满规律的,我们都在肯定的序次中做着每件事,而很多人也是日复一日的积极着。而对于步调而言,着实和人生一样的,在序次中循环,陪伴着一次次选择,我们不停发展,步调不停运行。

7.1 分支结构

7.1.1 if 语句



  • 语法格式1

规则: 假如布尔表达式效果为true,实行if语句,否则不实行!
例子:
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         int salary = 100000000;
  4.         //如果工资大于等于10000000执行输出语句
  5.         if(salary >= 10000000 ){
  6.             System.out.println("买大别墅!");
  7.         }
  8.     }
  9. }
复制代码


  • 语法格式2

规则:假如布尔表达式效果为true,则实行if中的语句,否则实行else语句。
例子:
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         int salary = 100000000;
  4.         //如果工资大于等于10000000执行输出语句
  5.         if(salary >= 10000000 ){
  6.             System.out.println("买大别墅!");
  7.         }else{
  8.             System.out.println("好好学习,挣大钱买大别墅!");
  9.         }
  10.     }
  11. }
复制代码


  • 语法格式3

规则:假如表达式1创建,实行语句1,否则表达式2创建,实行语句2,否则实行语句3。 
注意:
   

  • 注意不要在if后的布尔表达式后增长分号!假如加了分号,就不会实行if反面的语句了。
  • if/else语句中可以不加大括号,但也可以写语句(只能写一条)此时else是和迩来的if匹配的。
  
7.1.2 switch语句 



  • 根本语法

实行流程

   

  • 起首盘算表达式的值。
  • 再和case依次比力,一旦有相应的匹配就实行该case内里的语句,直到碰到break时竣事。
  • 当表达式的值没有能匹配到的case时,实行default。
  注意:
   

  •  long float double boolean都不可以作为switch的参数。
  • case反面的常量值不可以重复。
  • 引用范例:String 常量串,摆列范例。
  • switch不能表达复杂的条件。
  例子:
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         int day = 3; // 定义一个变量
  4.         switch (day) {
  5.             case 1: {
  6.                 // case 1 的代码
  7.                 System.out.println("今天是星期一");
  8.                 break; // 跳出 switch 语句
  9.             }
  10.             case 2: {
  11.                 // case 2 的代码块
  12.                 System.out.println("今天是星期二");
  13.                 break;
  14.             }
  15.             case 3: {
  16.                 // case 3 的代码块
  17.                 System.out.println("今天是星期三");
  18.                 break;
  19.             }
  20.             default: {
  21.                 // 默认代码块
  22.                 System.out.println("今天不是星期一、二或三");
  23.             }
  24.         }
  25.     }
  26. }
复制代码
效果输出的语句是"本日是星期三"。

7.2 循环结构 

7.2.1 while循环



  • 语法格式

 规则:循环条件为true,则实行循环条件语句,否则竣事循环。
 例子:盘算1-100数字之和
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         int sum = 0; // 定义一个变量 sum,用于存储累加的结果
  4.         int i = 1;   // 定义一个变量 i,初始值为1,表示从1开始累加
  5.         // 使用 while 循环,当 i 小于等于100时执行循环体
  6.         while (i <= 100) {
  7.             sum += i; // 将当前的 i 值累加到 sum 中
  8.             i++;     // 将 i 的值加1,准备下一次循环
  9.         }
  10.         // 输出最终的结果
  11.         System.out.println("1到100的和是: " + sum);
  12.     }
  13. }
复制代码

 7.2.2 Break


  • 在循环中使用 break

    • 用于提前退出循环(如 for、while、do-while)。
    • 当满足某个条件时,可以使用 break 立即停止循环,不再实行循环中剩余的代码。

  • 在 switch 语句中使用 break

    • 用于竣事 switch 语句的实行,防止“贯穿”征象。
    • 假如没有 break,switch 语句会继续实行后续的 case 代码块。

  例子:找到100-200中第一个3的倍数
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         //定义一个变量num表示从100开始寻找
  4.        int num = 100;
  5.        //使用while循环,表示i在100到200间执行循环体
  6.        while( num <= 200) {
  7.            //使用if语句,判断是否为三的倍数
  8.            if(num % 3 == 0) {
  9.                //如果这个数是三的倍数,则输出这个数
  10.                System.out.println("找到了三的倍数为"+num);
  11.                //找到了这个数,使用break终止循环
  12.                break;
  13.            }num++;//若if后的布尔表达式结果为false,则将num的值+1进入下一次循环。
  14.        }
  15.     }
  16. }
复制代码

 7.2.3 Continue



  • 功能:Continue的功能是跳过这次循环,立即进入下次循环。要注意,continue反面的内容不会被实行!


  • 例子:找到100-200之间全部3的倍数
(代码中continue解释:即实行到continue语句的时间,就会立即进入下次循环判定循环条件,从而不会实行到下方的打印语句)
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         //初始化一个num变量,表示从100开始寻找
  4.         int num = 100;
  5.         //使用while循环,当num属于100-200时执行循环体
  6.         while (num <= 200){
  7.             //每次循环将num的值加一,确保num的更新
  8.             num++;
  9.             //使用if语句判断num是否为三的倍数
  10.             if(num %3 != 0){
  11.                 //如果num不是3的倍数,continue则跳过次循环,进入下一次循环
  12.                 continue;
  13.                 //如果num是3的倍数,输出这个数
  14.             }System.out.println("找到了3的倍数"+num);
  15.         }
  16.     }
  17. }
复制代码

 7.2.4 for循环



  • 语法格式



  • 实行过程
   

  • 盘算表达式1的值。表达式1通常用于对循环变量赋初值,在循环最开始时实行,只会实行一次。
  • 盘算布尔表达式的值。布尔表达式2是循环条件,假如返回的值是true。就实行表达式4;假如返回的值是false,就竣事整个for循环。 
  • 盘算表达式3的值。表达式3的重要功能是改变循环变量的值举行更新,为实行下一次循环做准备。
  • 再次实行步调2和步调3,直到步调2中的逻辑表达式返回为false,就竣事整个循环。
  

  • 例子:输出1-100以内全部数字的和
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         //声名变量并赋初值
  4.         int sum = 0;
  5.         //使用for循环
  6.         for (int i = 0; i <= 100; i++) {
  7.             //这位表达式4,也是循环体,计算每次循环后的sum的值
  8.             sum = sum + i;
  9.         }
  10.         //如果i>100时,布尔表达式返回值为false,则结束循环,输出100以内的所有数字的和
  11.         System.out.println("100以内的所有的数字和是:"+ sum);
  12.     }
  13. }
复制代码

 7.2.5 do while循环 



  • 语法格式



  • 规则:先实行循环语句,再判定循环条件,循环条件创建则继续实行,否则循环竣事。
  • 例子:打印0-10数字
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         //初始化变量并赋初值
  4.         int num = 0;
  5.         do {
  6.             //输出num的值
  7.             System.out.println(num);
  8.             //更新变量的值
  9.             num++;
  10.         }while (num <= 10);//判断变量的值
  11.     }
  12. }
复制代码

 7.3 输入输出

7.3.1 输出到控制台



  • 语法格式

这三种是java中尺度的的输出方式。

7.3.2 从键输入(Scanner类)

   Scanner类是Java中用于读取用户输入的一个工具类,它位于java.util包中。Scanner类可以读取从键盘、文件、字符串等多种输入源的数据。下面博主从根本开始讲授Scanner类的使用,并团结代码示例举行分析。
1. 导入Scanner类

        在使用Scanner类之前,须要先导入它。
  1. import java.util.Scanner;
复制代码
2. 创建Scanner对象

        要使用Scanner类读取输入,起首须要创建一个Scanner对象。通常我们会从尺度输入(键盘)读取数据:
  1. Scanner scanner = new Scanner(System.in);
复制代码
         这里的System.in体现尺度输入流(通常是键盘输入)。
3. 读取差别范例的输入

   Scanner类提供了多种方法来读取差别范例的输入数据,比方:
   

  • next():读取下一个字符串(以空格或换行符分隔)。
  • nextInt():读取下一个整数。
  • nextDouble():读取下一个双精度浮点数。
  • nextLine():读取下一行文本(直到换行符)。
   例子:
        下面是一个简单的代码示例,展示了怎样使用Scanner类读取差别范例的输入:
  1. import java.util.Scanner;
  2. public class Main {
  3.     public static void main(String[] args) {
  4.         //创建Scanner对象
  5.         Scanner scanner = new Scanner(System.in);
  6.         //提示输入用户姓名
  7.         System.out.println("请输入您的姓名:");
  8.         String name = scanner.next();//读取字符串
  9.         System.out.println("您好!" + name + "!");
  10.         //提示用户输入年龄
  11.         System.out.println("请输入您的年龄:");
  12.         int age = scanner.nextInt();//读取整数
  13.         System.out.println("您的年龄是:" + age +"!");
  14.         //提示用户输入身高
  15.         System.out.println("请输入您的身高:");
  16.         double height = scanner.nextDouble();//读取双精度浮点数
  17.         System.out.println("您的身高是:" + height +"!");
  18.         // 提示用户输入一句话
  19.         System.out.print("请输入一句话: ");
  20.         scanner.nextLine();  // 清除缓冲区
  21.         String sentence = scanner.nextLine();  // 读取一行文本
  22.         System.out.println("您输入的话是: " + sentence);
  23.         // 关闭Scanner对象
  24.         scanner.close();
  25.     }
  26. }
复制代码
 这段代码运行效果示例:

        博主对此中一些举行再详细点的表明:
   

  • scanner.next():读取用户输入的字符串,直到碰到空格或换行符为止。
  • scanner.nextInt():读取用户输入的整数。
  • scanner.nextDouble():读取用户输入的双精度浮点数。
  • scanner.nextLine():读取用户输入的一行文本,直到碰到换行符为止。须要注意的是,在读取完nextInt()或nextDouble()后,缓冲区中大概会留下一个换行符,因此在使用nextLine()之前,通常须要先调用一次nextLine()来扫除缓冲区。
  
7.4 文章结语

        Java的逻辑控制是步调计划的核心骨架,分支结构循环结构共同构建了代码的动态举动:

  • 分支结构(if、switch)通过条件判定实现逻辑分流,让步调在差别场景下精准相应。
  • 循环结构(while、for、do-while)通过重复实行代码块提升服从,然后用break和continue可以进一步细化流程控制。
  • 输入输出  System.out实现信息展示,Scanner类则提供更加便捷的输入和输出。
        盼望这篇博客能对友友们有资助,也盼望和各人一起学习进步!

制作不易,感谢友友们的点赞收藏关注,如有标题欢迎品评指正,祝友友们生存舒畅,学习工作顺顺遂利!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表