【Java SE】程序逻辑控制(下)

简介: 提到分支语句我们都不陌生,比如我们生活中都要面临着种种选择,而每个选择对应着不同的结果,我们的程序也是有许许多多的分支构成的,在Java中为我们提供了两种分支语句:if 和 switch语句,下面我们就来学习下这两个语句。

2、循环结构

我们先简单的通过流程图来认识以下Java中的三种循环结构:

  • while 循环,如果碰到 break 则跳出循环,如果碰到 continue 结束本次循环回到循环条件判断部分。
  • for 循环,如果碰到 break 则跳出循环,如果碰到 continue 则结束本次循环,跳到表达式3,并不会回到循环条件判断表达式2。
  • do while 循环,如果碰到break,则跳出循环,如果碰到 continue 则结束本次循环回到循环条件判断部分。

while循环条件 expr 结果必须为 true 或者 fase 也就是布尔值,

for循环条件 expr2 结果也必须是布尔值,

同理,do while循环条件 expr 结果也的是布尔值。所有的循环,一旦碰到循环条件为 false 都会结束循环(do while 最少执行一次循环)‘’

以上则是我们通过流程图得出的结论,下面我们将依次演示每个循环的具体代码实现:

2.1 while 循环

这里我们举一个很简单的例子来看,张三很喜欢买彩票,他每天都买,直到张三买了十年彩票总算中大奖了,然后张三变成了富豪,结束了他每天买彩票的日子,我们简单算一下,就按一年 365 天算,张三一共要买 3650 天的彩票才能中奖,那么我们如何用程序来简单的表示呢?这里就可以用到 while 了:

这个简单的循环程序我们可以发现,当 while 条件表达式不成立了,我们则会跳出循环,而且每次进入循环,我们都会 a自增1,更接近不成立的那个条件,这也叫做循环的迭代条件,如果循环语句中的条件恒成立的话,那将会是个死循环!当然像以上的代码你也可以写个恒成立的表达式,只要达到条件使用 break 跳出即可,berak我们后面会讲,先放着。

2.2 for 循环

for 循环的格式会比 while 循环更直观,如果循环里面代码特别多的话,我们可能很难找到循环更新的表达式,而 for 循环刚好就弥补了这个麻烦,循环更新表达式直接在一行当中:

for ( 表达式1;  布尔表达式2; 表达式3 ) {

       //....code

}

  • 表达式1:用来设置循环变量的初始值
  • 表达式2:循环条件,用来判断是否为真假,条件为假则跳出循环
  • 表达式3:循环变量的更新方式

在我们的刚开始循环图也能看出来,for循环的执行过程是:1->2->code->3->2->code->3->2->code->3.....

这里我们在写一个很简单的例子来让大家更充分认识 for,求 1~100的和:

2.3 do while 循环

这个循环相对于前两个循环使用的频率就会少很多了,看刚开始的图大家也能分析到,此循环最低执行一次,也很好理解,二话不说先执行循环体,在进行条件判断,像类似的,我们在写C语言三子棋的时候用到过,一进来先打印菜单让你进行选择。这里我们也写一个简单的例子让大家看一下 do while 循环的语法,比如打印 1~10 的数字:

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

注意:while后面的分号要写上

2.4 break 和 continue

  • break 的功能是跳出循环,如果是嵌套循环则是跳出最近的循环
  • continue 的功能是跳过本次循环,进入下次循环。

至于 breakcontinue 他们执行后分别跳到了哪个地方,再这一节刚开始的那个流程图已经画的非常清楚了,大家可以去看一下,接着我们就来简单的实现下最开始讲的张三中彩票使用 break 的写法:

public class TestDemo {
    public static void main(String[] args) {
        int a = 1;
        while (true) {
            if (3650 == a) {
                System.out.println("第" + a + "天,中奖了!");
                break;
            }
            System.out.println("第" + a + "天,没中奖!");
            a++;
        }
    }
}

如上C语言文章很详细的介绍了 continue,因为 Java 在这里跟C与语言区别不是很大,只要记住,Java部分表达式需要布尔表达式即可。

3、输出到控制台

在Java中有三种基本输出语法:

System.out.println(mgs); //输出一个字符串,换行

System.out.print(mgs); //输出一个字符串,不换行

System.out.printf(format, msg);  //格式化输出,与C语言基本一致

演示:

说真的,像这些打印函数几乎以后开发中用不上的,也没必要去给他完全研究透,只要我们会用即可。

4、从键盘输入

这个输入语句,我们只要会用就行目前,因为还没有讲到类,所以理解起来会比较麻烦,现在我们只需要照葫芦画瓢即可,等把类讲完,你自然就懂了我今天的操作。

例如,我今天要输入姓名,年龄,然后把他们打印出来:

像平时刷题的时候,如果碰到需要循环输入的话,我们可以在 while() 括号里直接写上我们定义的

scanner.hasNextInt() //一直读取,判断是否有下一个整数,返回值为布尔类型

当循环条件是以上语句的时候,使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z,Linux / Mac 上使用 ctrl + d),具体为什么这么使用我们后期会介绍,我们目前能会用即可。

相关文章
|
6月前
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
|
6月前
|
Java 编译器
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
|
6月前
|
存储 Java 数据库连接
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
|
6月前
|
搜索推荐 Java Android开发
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
235 0
|
8月前
|
传感器 安全 算法
消防救援支队消防员单兵装备智能养护舱电机驱动java版程序(二)
本文探讨消防救援中智能养护舱电机驱动的Java程序设计,作为系列文章第二部分。通过自动化和智能化手段,智能养护舱提升了装备维护效率与准确性。文章详细介绍了电机驱动模块的设计与实现,包括硬件选型、PID控制策略、安全保护机制及Java程序架构,确保电机精确控制、稳定性和安全性。未来将优化功能并引入智能算法和物联网技术,进一步提升装备维护智能化水平。
|
8月前
|
IDE Java 开发工具
消防救援支队消防员单兵装备智能养护舱点击驱动java版程序(一)
智能消防作战服架通过电机驱动系统提升消防员作业效率和安全性。本文介绍基于Java的电机驱动程序开发,涵盖硬件准备、软件环境搭建及驱动程序实现。重点包括串口通信配置、电机控制类设计与控制逻辑实现,确保电机高效稳定运行。通过正确配置通信协议和串口参数,并添加异常处理机制,保障系统的安全性和可靠性。
|
6月前
|
Java 开发工具
课时5:第一个Java程序
课时5介绍了编写第一个Java程序的步骤,包括创建Hello.java文件、编写“Hello World”代码、编译和运行程序。主要内容有:1) 新建并编辑Hello.java;2) 编译Java源文件生成.class文件;3) 通过命令行解释执行Java程序;4) 解释主方法的作用及信息输出操作。本课强调了类定义、文件命名规则和基本程序结构的重要性,并建议初学者使用记事本编写代码以熟悉基础语法。
|
10月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
155 2
|
10月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
397 2
|
11月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
1857 2