【Java基础教程】详解Java三种流程控制语句

简介: 【Java基础教程】详解Java三种流程控制语句

顺序语句🏆



顺序顾名思义就是程序自上而下执行


public class User {
    public static void main(String[] args) {
        String name = "hacker";
        int age = 18;
        String happy = "学习Java";
        System.out.println("姓名:"+name);
        System.out.println("年龄:"+age);
        System.out.println("爱好:"+happy);
    }
}


🐱‍🏍运行结果如下:


39c1469b0e51449aa003c3046033ce0b.png


选择语句🏆



if else


if (表达式){
  语句块1
}
else{
  语句块2
}


✅先判断表达式,当表达式的值为true时,执行语句块1,否则,执行语句块2


💡举个栗子💡

从控制台输入成绩,如果成绩大于或等于60,输出成绩及格,否则输出成绩不及格


import java.util.Scanner;
public class User {
    public static void main(String[] args) {
        var sc = new Scanner(System.in);
        System.out.print("请输入成绩:");
        float score = sc.nextFloat();
        if(score>=60){//如果成绩>=60,成绩及格
            System.out.printf("成绩及格:%3.1f", score);
        }
        else {//否则成绩不及格
            System.out.printf("成绩不及格:%3.1f",  score);
        }
    }
}


🐱‍🏍运行结果如下:


7d3833705459466b9dc879d9aaf712dd.png646db58c96f143f8839d3b178581eff9.png


if else的嵌套


需要对多个条件进行判断就需要用到if else的嵌套

基本格式如下:

if (表达式1){
  语句块1
}else if(表达式2){
  语句块2
}
else{
  语句块3
}


✅先判断表达式1,当表达式1成立执行语句块1,不成立判断表达式2,若表达式2成立执行语句块2,不成立执行语句块3


💡举个栗子💡


从控制台输入成绩,成绩小于60时成绩不及格,当成绩在60~90之间时成绩及格,当成绩大于90时成绩优秀


import java.util.Scanner;
public class User {
    public static void main(String[] args) {
        var sc = new Scanner(System.in);//
        System.out.print("请输入成绩:");
        float score = sc.nextFloat();
        if(score<60){//如果成绩<60,成绩不及格
            System.out.printf("成绩不及格:%3.1f", score);
        }else if(score>=60&&score<90){//如果60<=score<90,成绩及格
            System.out.printf("成绩及格:%3.1f", score);
        }
        else {//否则成绩优秀
            System.out.printf("成绩优秀:%3.1f",  score);
        }
    }
}


🐱‍🏍运行结果如下:


2149d1a27d084f6bba898c4b6ea37e93.pnga248892f701a4efeadb65332721acdef.png9798271064a4472fae673393071ab255.png


switch case default


✅先判断switch后面括号里表达式的值,然后拿着值去匹配case语句,若匹配到了执行case语句对应的语句块。执行后若遇到break则退出switch语句,如果没有break则继续执行下面的case语句块,直到遇到break退出switch语句


switch(表达式)
{
case 值1:语句块1:break;
case 值2:语句块2:break;
case 值3:语句块3:break;
default:语句块4
import java.util.Scanner;
public class User {
    public static void main(String[] args) {
        var sc = new Scanner(System.in);
        System.out.print("输入1,2,3中其一数字:");
        int number = sc.nextInt();
        switch(number) {
            case 1:
                System.out.print("hello");
                break;
            case 2:
                System.out.print("Java");
                break;
            case 3:
                System.out.print("world");
            default:
                System.out.print("输入有误,请重新输入");
        }
    }
}


🐱‍🏍运行结果如下:


227eff0c2b1e434c9643aa37b9fde523.png0867b7165173481a81828f100ba924c3.png


循环语句🏆



for


for(表达式1;表达式2;表达式3)
  {循环体}


表达式1的值给循环变量赋初始值;表达式2是判断条件,表达式3是改变循环变量的值

执行过程如下:


✅先计算表达式1的值,再计算表达式2的值。若为真执行循环体,若为假,直接跳出循环,然后计算表达式3的值;再次计算表达式2的值,若为真,再执行循环体,再计算表达式3的值,直到表达式2的值为假,循环结束,执行循环下面的语句


💖举个栗子💖

循环打印出1到10


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


🐱‍🏍运行结果如下:


01fcf74a8a664498bc896f5767512fc1.png


for in


从数组中挨个取值


public class User {
    public static void main(String[] args) {
        int[] a = {1, 2, 3, 4, 5, 6};
        for (int i : a) {
            System.out.println(i);
        }
    }
}


🐱‍🏍运行结果如下:


eec79b7b48ce467e97a34149dd64dca4.png


while


while(表达式){
  循环体
}
public class User {
    public static void main(String[] args) {
        int i = 0;
        while (i < 10) {
            i++;
            System.out.println(i);
        }
    }
}


🐱‍🏍运行结果如下:


a4cb4862cdb4497c87c25173e8292ae0.png


do while


do while和while的区别

do while会先执行循环体再判断条件,while先判断条件再执行循环体

do while最少执行一次,while可以一次都不执行


do{循环体} while(表达式)
public class User {
    public static void main(String[] args) {
        int i = 0;
        do {//先执行循环体,即使i++不满足条件也会执行
            i++;
            System.out.print(i);
        } while (i < 0);
    }
}


🐱‍🏍运行结果如下:


15dd122d11944f4781dc41264d0662d6.png


break continue


break 终止循环

continue 跳出当前循环,进入下一次循环


public class User {
    public static void main(String[] args) {
        for (int i = 0;i <= 10;i++){
            if( i == 2){
                break; //break当i=2时直接终止循环
            }
            System.out.println(i);
        }
    }
}


📕当循环到i=2时遇到break直接终止循环,不继续执行

🐱‍🏍运行结果如下:


0
1
public class User {
    public static void main(String[] args) {
        for (int i = 0;i <= 10;i++){
            if( i == 2){
                continue; //continue当i=2时跳出本次循环,进入下一次循环(不打印2)
            }
            System.out.println(i);
        }
    }
}


📕当循环到i=2时遇到continue跳过本次循环继续下一轮循环(i=2不执行)

继续执行下面的循环直到for语句条件不满足终止循环


🐱‍🏍运行结果如下:


0
1
3
4
5
6
7
8
9
10


结束语🏆


🔥推荐一款模拟面试、刷题神器网站

点击跳转进入网站

1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单

2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题

3、大厂笔试真题:字节跳动、美团、百度、腾讯…



相关文章
|
2月前
|
Oracle Java 关系型数据库
Java 简单教程
Java是跨平台、面向对象的编程语言,广泛用于企业开发、Android应用等。本教程涵盖环境搭建、基础语法、流程控制、面向对象、集合与异常处理,助你快速入门并编写简单程序,为进一步深入学习打下坚实基础。
326 0
|
3月前
|
安全 Java
Java之泛型使用教程
Java之泛型使用教程
246 10
|
4月前
|
Java 关系型数据库 数据库
Java 项目实战教程从基础到进阶实战案例分析详解
本文介绍了多个Java项目实战案例,涵盖企业级管理系统、电商平台、在线书店及新手小项目,结合Spring Boot、Spring Cloud、MyBatis等主流技术,通过实际应用场景帮助开发者掌握Java项目开发的核心技能,适合从基础到进阶的学习与实践。
507 3
|
5月前
|
缓存 安全 Java
Java 并发新特性实战教程之核心特性详解与项目实战
本教程深入解析Java 8至Java 19并发编程新特性,涵盖CompletableFuture异步编程、StampedLock读写锁、Flow API响应式流、VarHandle内存访问及结构化并发等核心技术。结合电商订单处理、缓存系统、实时数据流、高性能计数器与用户资料聚合等实战案例,帮助开发者高效构建高并发、低延迟、易维护的Java应用。适合中高级Java开发者提升并发编程能力。
150 0
|
5月前
|
存储 Java 程序员
Java 基础知识点全面梳理包含核心要点及难点解析 Java 基础知识点
本文档系统梳理了Java基础知识点,涵盖核心特性、语法基础、面向对象编程、数组字符串、集合框架、异常处理及应用实例,帮助初学者全面掌握Java入门知识,提升编程实践能力。附示例代码下载链接。
210 0
|
6月前
|
存储 安全 Java
2025 年最新 40 个 Java 基础核心知识点全面梳理一文掌握 Java 基础关键概念
本文系统梳理了Java编程的40个核心知识点,涵盖基础语法、面向对象、集合框架、异常处理、多线程、IO流、反射机制等关键领域。重点包括:JVM运行原理、基本数据类型、封装/继承/多态三大特性、集合类对比(ArrayList vs LinkedList、HashMap vs TreeMap)、异常分类及处理方式、线程创建与同步机制、IO流体系结构以及反射的应用场景。这些基础知识是Java开发的根基,掌握后能为后续框架学习和项目开发奠定坚实基础。文中还提供了代码资源获取方式,方便读者进一步实践学习。
1699 2
|
6月前
|
存储 安全 Java
Java 基础知识面试题汇总 最全面的 Java 基础面试题整理
本文全面解析Java基础知识面试题,涵盖Java基础概念、面向对象编程、异常处理、集合框架等核心内容。通过实际应用场景,提供技术方案与应用实例,如JDK与JRE区别、==与equals()差异、String类特性、final与static关键字用法、多继承替代方案及接口与抽象类对比。帮助开发者夯实基础,高效备考,提升实战能力。附带完整代码示例,可供下载学习。
770 3
|
6月前
|
Oracle Java 关系型数据库
java 编程基础入门级超级完整版教程详解
这份文档是针对Java编程入门学习者的超级完整版教程,涵盖了从环境搭建到实际项目应用的全方位内容。首先介绍了Java的基本概念与开发环境配置方法,随后深入讲解了基础语法、控制流程、面向对象编程的核心思想,并配以具体代码示例。接着探讨了常用类库与API的应用,如字符串操作、集合框架及文件处理等。最后通过一个学生成绩管理系统的实例,帮助读者将理论知识应用于实践。此外,还提供了进阶学习建议,引导学员逐步掌握更复杂的Java技术。适合初学者系统性学习Java编程。资源地址:[点击访问](https://pan.quark.cn/s/14fcf913bae6)。
748 2
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
165 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
191 1