【JavaSE成神之路】流程控制语句

news2024/11/19 14:36:36

哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路!

这一节啊,咱们要学习的内容是流程控制语句。

先来看概念

Java的流程控制语句是指用来控制程序执行流程的语句,它们可以改变程序的执行顺序,使程序更加灵活。Java中的流程控制语句包括:

  1. if-else语句:if-else语句用于检查一个条件是否成立,如果成立,则执行if语句块,否则执行else语句块。

  2. switch语句:switch语句用于检查一个变量的值,如果值与某个case语句的值相等,则执行该case语句块,否则执行default语句块。

  3. for循环:for循环用于重复执行一段代码,它包含一个初始化语句,一个循环条件,一个迭代语句,以及一个循环体。

  4. while循环:while循环用于重复执行一段代码,它包含一个循环条件和一个循环体。

  5. do-while循环:do-while循环用于重复执行一段代码,它包含一个循环条件和一个循环体,但是它会先执行一次循环体,然后再检查循环条件。

  6. break语句:break语句用于终止一个循环,使程序跳出循环体,继续执行循环体后面的语句。

  7. continue语句:continue语句用于跳过当前循环的剩余语句,继续执行下一次循环。

我要告诉大家的是,这些知识虽然掌握起来不难,但却是众多面试题、笔试题的必考题,也是我们实际工作中写业务代码的基石。

是非常非常重要的。

1.if-else语句

if -else语句是Java中的条件判断语句, 用于控制程序的执行流程。 下面是一个简单的if - else语句的例子:

int x = 10;
if (x > 5) {
    System.out.println("x is greater than 5");
} else {
    System.out.println("x is less than or equal to 5");
}

上面的代码中, 首先定义了一个变量x, 然后使用if - else语句来判断x的值是否大于5, 如果大于5, 则执行if语句中的代码, 否则执行else语句中的代码。

还有一个用法是elseif

Java中的elseif语句用于在if语句的基础上增加一个或多个条件判断,以便在多个条件之间进行选择。

下面是一个使用elseif语句的示例:

public class ElseIfExample {
    public static void main(String[] args) {
        int age = 20;
        if (age < 18) {
            System.out.println("未成年");
        } else if (age < 30) {
            System.out.println("青年");
        } else if (age < 50) {
            System.out.println("中年");
        } else {
            System.out.println("老年");
        }
    }
}

当你使用elseif的时候,就已经是上面if语句的反例,所以可以不写成 else if (age >= 18 && age < 30)

但是呢,我们依然更推荐你写全了,这样更有可读性。

比如上面的例子改写成这样:

public class ElseIfExample {
    public static void main(String[] args) {
        int age = 20;
        if (age < 18) {
            System.out.println("未成年");
        } else if (age >= 18 && age < 30) {
            System.out.println("青年");
        } else if (age >= 30 && age < 50) {
            System.out.println("中年");
        } else {
            System.out.println("老年");
        }
    }
}

2.switch语句

switch语句是Java中的一种多分支选择结构,它可以根据某个表达式的值来选择执行不同的语句。

2.1、switch语句的语法

switch语句的语法如下:

switch (expression) {
    case value1:
        // code to be executed if expression = value1;
        break;
    case value2:
        // code to be executed if expression = value2;
        break;
        ...
        default:
            // code to be executed if expression doesn't match any case;
}

其中,expression是一个表达式,它的值可以是int、char、byte、short、enum类型,也可以是String类型(从Java 7开始)。 value1、value2等是case子句中的值,它们必须与expression的值类型相同。

break语句是可选的,它用于终止switch语句,以防止执行错误的语句。

default子句是可选的,它用于在expression的值与case子句中的值都不匹配时执行的语句。

2.2 switch语句的注意事项

(1)switch语句中的表达式的值必须是int、char、byte、short、enum类型,或者从Java 7开始支持的String类型。

(2)case子句中的值必须与switch语句中的表达式的值类型相同。

(3)break语句是可选的,它用于终止switch语句,以防止执行错误的语句。

(4)default子句是可选的,它用于在expression的值与case子句中的值都不匹配时执行的语句。

2.3 case穿透

在switch语句中,如果没有使用break语句,则会出现穿透现象,即执行完当前case语句后,会继续执行下一个case语句,直到遇到break语句为止。 例如:

int num = 1;
switch (num) {
    case 1:
        System.out.println("case 1");
    case 2:
        System.out.println("case 2");
    case 3:
        System.out.println("case 3");
        break;
    default:
        System.out.println("default");
}
// 输出结果:
case 1
case 2
case 3

3.for循环

for循环是Java中最常用的循环结构之一,它可以用来重复执行一系列语句。 for循环的语法:

for(初始化表达式; 布尔表达式; 更新表达式) {
  // 循环体
}

初始化表达式:在循环开始时执行,一般用于定义和初始化循环控制变量。

布尔表达式:每次循环开始时要检查的条件,如果为true,则继续循环,如果为false,则终止循环。

更新表达式:每次循环结束时要执行的操作,一般用于更新循环控制变量。

for循环的示例:

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

上面的示例中,我们使用for循环打印1到10。在for循环中,我们首先定义了一个int类型的变量i,并将其初始化为1。然后,我们检查i是否小于等于10,如果是,则执行循环体,否则终止循环。每次循环结束时,我们将i的值加1,以便下次循环时使用。

for循环还可以使用增强for循环,它可以用来遍历数组和集合。

增强for循环的语法:

for(元素类型 变量名 : 集合或数组) {
  // 循环体
}

增强for循环的示例:

public class EnhancedForLoopExample {
    public static void main(String[] args) {
        // 定义一个数组
        int[] numbers = {
            1, 2, 3, 4, 5
        };
        // 使用增强for循环遍历数组
        for (int number: numbers) {
            System.out.println(number);
        }
    }
}

上面的示例中,我们使用增强for循环遍历了一个数组。在增强for循环中,我们定义了一个变量number,它的类型与数组中元素的类型相同,每次循环时,number变量都会被赋值为数组中的一个元素,然后执行循环体。

4.while循环

while循环是一种基本的循环结构,它的基本结构如下:

while(条件表达式)
{
  循环体语句;
}

while循环的执行过程是:首先检查条件表达式的值,如果为真,则执行循环体语句,然后再次检查条件表达式的值,如果为真,则再次执行循环体语句,以此类推,直到条件表达式的值为假时,结束循环。 下面是一个while循环的例子:

int i = 0;
while(i < 10)
{
  System.out.println(i);
  i++;
}

上面的例子中,变量i的初始值为0,条件表达式i < 10,循环体语句为System.out.println(i),每次循环结束后,变量i的值会自增1。

5.do while循环

do while循环也是一种基本的循环结构,它的基本结构如下: do { 循环体语句; }while(条件表达式); do while循环的执行过程是:首先执行循环体语句,然后检查条件表达式的值,如果为真,则再次执行循环体语句,以此类推,直到条件表达式的值为假时,结束循环。 下面是一个do while循环的例子:

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

上面的例子中,变量i的初始值为0,条件表达式i < 10,循环体语句为System.out.println(i),每次循环结束后,变量i的值会自增1。

总结

while循环和do while循环都是Java中的基本循环结构,它们的执行过程有一定的区别:while循环首先检查条件表达式的值,如果为真,则执行循环体语句;而do while循环首先执行循环体语句,然后检查条件表达式的值,如果为真,则再次执行循环体语句。

6.break语句

break语句用于终止循环,它会立即跳出循环,并且继续执行循环之后的语句。 语法:

break;

示例:

for(int i=0;i<10;i++){
  if(i==5){
    break;
  }
  System.out.println(i);
}

输出:0 1 2 3 4

7.continue语句

continue语句用于跳过当前循环的剩余语句,并立即开始下一次循环。 语法:

continue;

示例:

for(int i=0;i<10;i++){
  if(i==5){
    continue;
  }
  System.out.println(i);
}

//输出:0 1 2 3 4 6 7 8

8.课后作业

给定一个整数数组,请编写一个程序,找出数组中最大的数字,并输出它的下标。

示例:

输入:[2, 3, 5, 7, 1]

输出:3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

javaee之SpringMVC1

三层架构与MVC设计模式介绍 一张图介绍 之前在写软件设计的三层架构的时候&#xff0c;有一张图直接拿过来 springMVC的一些简单介绍 入门案例 一、入门案例之需求分析 二、搭建开发环境 1.利用骨架创建一个maven项目 因为这个项目要部署到服务器&#xff0c;所以采用如下骨…

代码质量与安全 | 如何将清洁代码标准扩展到整个企业,促进业务上的成功?

清洁代码能够让软件开发工作变得更简单、更有趣。因为如果代码不够清洁&#xff0c;开发人员将花费很多时间在解决编码问题上&#xff0c;使他们无法将精力投入开发新代码、解决其他更有趣的问题上。 那么&#xff0c;该如何将清洁代码标准扩展到整个企业呢&#xff1f;阅读本…

操作系统:进程与线程之间的区别及联系

一、定义 1、进程&#xff1a;进程是一个具有独立功能的程序关于某个数据集合的以此运行活动。 是系统进行资源分配和调度的独立单位&#xff0c;也是基本的执行单元。是一个动态的概念&#xff0c;是一个活动的实体。它不只是程序的代码&#xff0c;还包括当前的活动。 进程…

学习UI设计都可以学习哪些软件?

学UI设计要学习哪些工具软件&#xff1f;今天来做个大盘点 ​Photoshop(简称PS) 不懂设计的人也听说过PS著名大名。确切地说&#xff0c;确切地说&#xff0c;PS它是一款强大的综合性软件&#xff0c;主要用于位图处理&#xff0c;可以做图片处理&#xff0c;也可以做UI设计、平…

【财务】FMS财务管理系统---日常数据核对与处理

开发FMS财务管理系统&#xff0c;每天都会与数据打交道&#xff0c;数据的核对与处理是日常工作的一部分&#xff0c;相信接触过财务系统的同学都深有感触&#xff0c;为了一个差异查来查去&#xff0c;最终发现是前端业务系统的问题&#xff0c;白忙一场&#xff0c;本篇就说一…

筑博设计:知识管理数字化提升企业核心竞争力

编者按&#xff1a;这是一个真正与业务相融合的知识管理系统&#xff0c;筑博设计陈主任的分享专业且精细&#xff0c;从容而豁达&#xff0c;不仅有行业的经验&#xff0c;还有做事的方法&#xff0c;更有做人的情怀&#xff0c;让我们看到了“知识就是力量&#xff0c;知识使…

【HTML+CSS+JavaScript】实现萤火虫闪烁效果

文章目录【HTMLCSSJavaScript】实现萤火虫闪烁效果一. 效果图二. HTML部分代码三. CSS部分代码四. JavaScript部分代码五. 外部js文件代码六. 完整的代码和图片获取【HTMLCSSJavaScript】实现萤火虫闪烁效果 本文主要讲解屏幕不断闪烁星光效果&#xff08;配合夜晚深林的背景图…

使用DataSecurity Plus监控Windows文件完整性

使用我们的文件完整性监控软件DataSecurity Plus&#xff0c;与精明的黑客&#xff0c;突发的恶意软件爆发以及挑战法规要求进行战斗。这种先进的工具还有助于生成可操作的报表&#xff0c;提供基于严重性的告警&#xff0c;简化合规性要求&#xff0c;发现妥协指标&#xff0c…

ip route常用语法

官方手册参考&#xff1a; ip-rule(8) - Linux manual page #interface ens11f0 #Bring up an interface ip link set dev ens11f0 up ip addr add 11.126.48.231/27 dev ens11f0#Use table 101 with metrics 101 for specific interface routing #Each interface should use i…

科技云报道:信创基础设施迎来“升级潮”,可持续性架构成关键技术

科技云报道原创。 如果说单一领域的技术突破是河流&#xff0c;信创毫无疑问是汪洋大海。 随着“数字中国”战略的明确&#xff0c;数字化转型进程加速&#xff0c;信创产业成为国家战略布局的重点领域之一&#xff0c;是缩短科技发展周期以及国内外科技差距的一剂良方。 2…

立根铸魂,崛起数智时代 | 麒麟信安携手openEuler 共推操作系统产业腾飞发展!

操作系统产业峰会2022于12月28日在线上举办。本次峰会由开放原子开源基金会、中国软件行业协会、CCF&#xff08;中国计算机学会&#xff09;开源专委会、绿色计算产业联盟、中关村科学城管委会共同主办&#xff0c;华为、麒麟信安等单位共同协办&#xff0c;以“立根铸魂 崛起…

数据结构基础:P1-基本概念----编程作业02:Maximum Subsequence Sum

本系列文章为浙江大学陈越、何钦铭数据结构学习笔记&#xff0c;前面文章链接如下&#xff1a; 数据结构基础&#xff1a;P1-基本概念 数据结构基础&#xff1a;P1-基本概念----编程作业01&#xff1a;最大子列和问题 文章目录一、题目描述二、代码实现一、题目描述 题目描述&…

【408篇】C语言笔记-第十九章(C语言语法进阶)

文章目录第一节&#xff1a;条件运算符与逗号运算符1. 条件运算符2. 逗号运算符第二节&#xff1a;自增自减运算符1. 自增自减运算符2. 自增自减运算符与取值运算符第三节&#xff1a;位运算符1. 位运算符2. 异或运算符实例解析第四节&#xff1a;switch和do while讲解1. switc…

使用Bigemap计算挖填土石方量

1、 Bigemap GIS Office 第一步&#xff1a; 用Bigemap GIS Office导出待计算区域的高程数据&#xff1a; 1.1 打开Bigemap GIS Office选择目标区域&#xff1a;如下图&#xff1a; 1.2选择的目标区域的高程数据&#xff08;NASA, TIF, 高精度高程数据&#xff09; 1…

【SSM框架】MyBatis核心配置文件详解

1.MyBatis核心配置文件之environments <!--environments&#xff1a;配置多个连接数据库的环境 属性&#xff1a;default&#xff1a;设置默认使用的环境的id --><environments default"development"><!--environment&#xff1a;配置某个具体的环境 …

C++ opencv形态学、轮廓查找、特征检测和图像分割

C opencv形态学、轮廓查找、特征检测和图像分割形态学基本处理方法二值化全局二值化局部二值化腐蚀和膨胀图像形态学运算开运算闭运算顶帽黑帽代码图像轮廓寻找轮廓绘画轮廓轮廓的面积和周长多边形逼近和凸包多边形逼近凸包外接矩形最小外接矩形最大外接矩形案例车辆检测&#…

召回和排序模型中的用户行为序列的建模

1. 概述 用户在使用一个APP或者浏览网页的过程中&#xff0c;都是由一些行为构成的&#xff0c;以资讯类为例&#xff0c;通常对一个帖子感兴趣&#xff0c;对于感兴趣的帖子&#xff0c;通常会点击进入查看&#xff0c;或者点击收藏或者对其进行评论&#xff0c;这一系列行为…

电脑录屏怎么录全屏?win10电脑如何录屏

随着互联网的发展&#xff0c;线上办公以及网课越来越频繁&#xff1b;线上办公或者网课都是使用电脑来完成工作和学习的&#xff1b;那Win10电脑如何录屏以及电脑录屏怎么录屏全屏呢&#xff1f;接下来给大家分享三个电脑录制全屏的教程方法给大家&#xff1b; win10录制全屏方…

【MySQL】绿色版下载配置教程(Windows)

文章目录下载MySQL压缩包1 创建my.ini文件2 配置mysql环境变量3 在终端执行命令下载MySQL压缩包 https://dev.mysql.com/downloads/mysql/ 1 创建my.ini文件 模板内容如下 [mysqld] basedir D:\\Program Files\\mysql # 设置mysql的安装目录 datadir D:\\Program Files\\m…

红黑树简介

一、红黑树 1、概念 红黑树&#xff08;Red Black Tree&#xff09; 是一种自平衡二叉搜索树。它在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是 Red或 Black。 通过任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其…