Java流程控制语句有哪些举例详解

 更新时间:2025年06月06日 10:31:57   作者:孙张翼翔  
这篇文章主要介绍了Java流程控制语句有哪些的相关资料,包括顺序执行、分支控制(if/else、switch)及循环控制(for/while/do-while),需要的朋友可以参考下

流程控制语句

顺序控制

从左边往右边去执行,从上面往下面逐行的去执行程序,不能先使用,在声明

//正确的顺序
int i = 10;
System.out.println(i);
//错误的顺序
System.out.println(i);
int i = 20;

分支控制

  • 单分支
    • if(条件表达式){当条件表达式为true的时候才会执行的代码}
int i = 10;
if(i == 10){
System.out.println("i等于10");}//输出i等于10
  • 双分支
    • 为了使程序有多条路可以执行,所以就有了双分支
      if(条件表达式){
      当条件表达式为true的时候才会执行的代码
      }else{
      当条件表达式为false的时候才会执行的代码
      }
int i = 20;
if(i == 10){
System.out.println("i等于10");}else{
System.out.println("i不等于10");
}//输出i等于10
  • 多分支
    • 为了使程序有多条路可以执行,所以就有了多分支
      if(条件表达式1){
      当条件表达式1为true的时候才会执行的代码
      } else if(条件表达式2){
      当条件表达式2为true的时候才会执行的代码}else{
      当条件表达式1和条件表达式2都为false的时候才会执行的代码
      }
      注意:多分支中,只要有一个条件表达式为true,那么后面的条件表达式就不会执行了
int i = 50;
if(i == 10){
System.out.println("i等于10");}else if(i == 20){
System.out.println("i等于20");}else{
System.out.println("i不等于10也不等于20");`}//输出i不等于10也不等于20
  • 嵌套分支
    在一个分支的内部又完整的嵌套了一个分支
int i = 50;
if(i > 10){
    if(i > 20){
      
    }else{ }
}else{
  
}else{ }
  • 选择语句
    • switch case语句,是一种多分支语句,可以用来代替多个if else语句
      注意:
      1.表达式的数据类型,应该是byte,short,int,char,enum(枚举),String(字符串)
      2.case子句中的值必须是常量,而不能是变量名或不确定的表达式值
      3.同一个switch语句,所有case子句中的常量值互不相同
      4.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
      5.default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,执行default
      语法:
      switch(表达式){
      case 常量1:
      当表达式的值等于常量1的时候才会执行的代码
      break;
      }
int i = 10;
switch(i){
case 10:
System.out.println("i等于10");
break;
case 20:
System.out.println("i等于20");}

循环控制

四要素:循环初始化 循环条件 循环变量迭代 循环体(要循环的语句)

  • for循环
    语法:
    for(循环变量初始化;循环条件;循环变量迭代){
    循环的语句
    }
for(int i = 1;i <= 10;i++){
System.out.println("i等于" + i);
}
  • while循环
    语法:
    循环变量初始化;
    while(循环条件){
    循环体;
    循环变量迭代;
    }
int i = 1;
while(i <= 10){
System.out.println("i等于" + i);
i++;//记得迭代,否则会死循环
}
  • do…while循环
  • 语法:
    循环变量初始化;
    do{ 循环体;建议更新i值,否则会死循环}while(循环条件);
    do…while循环和while循环的区别:do…while循环至少会执行一次循环体,而while循环不一定会执行循环体
int i = 1;  
do{
System.out.println("i等于" + i);
i++;}//记得更新值,否则会死循环
while(i <= 10);

经典循环案例

  • 打印99乘法表
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= i;j++){
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
System.out.println();
}
  • 打印100以内的质数
for(int i = 2;i <= 100;i++){
boolean isPrime = true;
for(int j = 2;j < i;j++){
if(i % j == 0){
isPrime = false;
break;}
}
if(isPrime){
System.out.println(i);
}
  • 打印1000以内的水仙花数
for(int i = 100;i <= 999;i++){
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if(i == ge * ge * ge + shi * shi * shi + bai * bai * bai){
System.out.println(i);}
}
  • 打印菱形
        for (int i = 1; i <= 5; i++) {
            //上半部分
            for (int j = 1; j <= 10 - 2 * i; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("* ");
            }
            System.out.println();
        }
        for(int i=1;i<=4;i++){
            //下半部分
            for(int j=1;j<=2*i;j++){
                System.out.print(" ");
            }
            for(int k=1;k<=10-2*i-1;k++){
                System.out.print("* ");
            }
            System.out.println();
        }

break和continue

  • break语句用于终止某个语句块的执行,即跳过循环体中剩余的语句。
  • continue语句用于跳过循环体中剩余的语句而强制执行下一次循环。
  • break语句可以用于以下语句:
    • for循环
    • while循环
    • do…while循环
    • switch语句
  • continue语句可以用于以下语句:
    • for循环
    • while循环
    • do…while循环

键盘输入

  • 步骤:

    导包:import java.util.Scanner;

    创建对象:Scanner sc = new Scanner(System.in);

    接收数据:int num = sc.nextInt();
    • nextInt()方法用于接收一个整数
    • next()方法用于接收一个字符串
    • nextDouble()方法用于接收一个双精度浮点数
    • nextFloat()方法用于接收一个单精度浮点数
    • nextBoolean()方法用于接收一个布尔值
    • nextByte()方法用于接收一个字节
    • nextShort()方法用于接收一个短整数
    • nextLong()方法用于接收一个长整数
    • next().charAt(0)方法用于接收一个字符

    关闭资源:sc.close();

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int num = sc.nextInt();
        System.out.println("您输入的整数是:" + num);
        sc.close();
    }
}

随机数生成

  • Math.random()方法用于生成一个0到1之间的随机数
    • 如何获取 [a,b] 范围内的随机整数呢?
      (int)(Math.random() * (b - a + 1)) + a

总结 

到此这篇关于Java流程控制语句有哪些的文章就介绍到这了,更多相关Java流程控制语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot自定义Starter实现流程详解

    SpringBoot自定义Starter实现流程详解

    SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰
    2022-09-09
  • Java中三种零拷贝的实现示例以及对比详解

    Java中三种零拷贝的实现示例以及对比详解

    这篇文章主要介绍了Java中三种零拷贝的实现示例以及对比详解,本文主要是介绍几种零拷贝的实现示例,以及与最传统的做一个对比,看看在效率上到底有多大的提升,需要的朋友可以参考下
    2023-12-12
  • Spring 中使用 Validation 注解校验参数的方法

    Spring 中使用 Validation 注解校验参数的方法

    本文介绍了如何在Spring中使用Validation注解进行参数校验,包括引入依赖、简单示例、常见校验注解分类与说明、分组校验和自定义校验,通过这些方法,可以方便地对Controller、Service等层面的参数进行校验,确保数据的合法性和一致性,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • 集成Spring Redis缓存的实现

    集成Spring Redis缓存的实现

    今天小编就为大家分享一篇关于集成Spring Redis缓存的实现,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 总结Java的Struts框架的异常处理方法

    总结Java的Struts框架的异常处理方法

    这篇文章主要介绍了Java的Struts框架的异常处理方法,Struts是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • java贪吃蛇游戏实现代码

    java贪吃蛇游戏实现代码

    这篇文章主要为大家详细介绍了java贪吃蛇游戏实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • SpringBoot自定义start详细图文教程

    SpringBoot自定义start详细图文教程

    这篇文章主要给大家介绍了关于SpringBoot自定义start的相关资料,主要讲述如何自定义start,实现一些自定义类的自动装配,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Java如何基于IO流实现同一文件读写操作

    Java如何基于IO流实现同一文件读写操作

    这篇文章主要介绍了Java如何基于IO流实现文件读写操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • SpringBoot+Dubbo+Zookeeper实现简单分布式开发的应用详解

    SpringBoot+Dubbo+Zookeeper实现简单分布式开发的应用详解

    这篇文章主要介绍了SpringBoot+Dubbo+Zookeeper实现简单分布式开发的应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用SpringBoot和JPA实现批量处理新增、修改

    使用SpringBoot和JPA实现批量处理新增、修改

    最近项目需要在JPA中使用ID进行批量更新,所以下面这篇文章主要给大家介绍了关于使用SpringBoot和JPA实现批量处理新增、修改的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06

最新评论