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流程控制语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java 中Spark中将对象序列化存储到hdfs

    java 中Spark中将对象序列化存储到hdfs

    这篇文章主要介绍了java 中Spark中将对象序列化存储到hdfs的相关资料,需要的朋友可以参考下
    2017-06-06
  • Mybatis步骤分解实现一个增删改查程序

    Mybatis步骤分解实现一个增删改查程序

    MybatisPlus是国产的第三方插件, 它封装了许多常用的CURDapi,免去了我们写mapper.xml的重复劳动。本文将整合MybatisPlus实现增删改查功能,感兴趣的可以了解一下
    2022-05-05
  • Java二维数组简单定义与使用方法示例

    Java二维数组简单定义与使用方法示例

    这篇文章主要介绍了Java二维数组简单定义与使用方法,结合实例形式简单分析了java二维数组的定义、使用方法及相关注意事项,需要的朋友可以参考下
    2017-10-10
  • mybatis-plus批量更新updateBatchById问题

    mybatis-plus批量更新updateBatchById问题

    这篇文章主要介绍了mybatis-plus批量更新updateBatchById问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • springboot @Valid注解对嵌套类型的校验功能

    springboot @Valid注解对嵌套类型的校验功能

    这篇文章主要介绍了springboot~@Valid注解对嵌套类型的校验,主要介绍 @Valid在项目中的使用,需要的朋友可以参考下
    2018-05-05
  • Java字符流和字节流对文件操作的区别

    Java字符流和字节流对文件操作的区别

    本篇文章主要介绍了Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,对初学者很有用,有需要的朋友可以了解一下。
    2016-10-10
  • Spring初始化与销毁顺序案例演示详解

    Spring初始化与销毁顺序案例演示详解

    这篇文章主要介绍了SpringBoot中的Bean的初始化与销毁顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 详解 Java HashMap 实现原理

    详解 Java HashMap 实现原理

    这篇文章主要介绍了详解 Java HashMap 实现原理的相关资料,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • SpringBoot微信扫码支付的实现示例

    SpringBoot微信扫码支付的实现示例

    这篇文章主要介绍了SpringBoot微信扫码支付的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Spring + Mybatis 项目实现动态切换数据源实例详解

    Spring + Mybatis 项目实现动态切换数据源实例详解

    这篇文章主要介绍了Spring + Mybatis 项目实现动态切换数据源的相关资料,需要的朋友参考下吧
    2017-04-04

最新评论