Java学习之路001——基础语法以及IDEA的基本使用(下)

简介: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

七、流程控制语句


7.1 概述

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。


7.2 流程控制语句分类

  • 顺序结构
  • 选择结构
  • 循环结构


7.2.1 顺序结构概述

是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在后面的后执行

7.2.1.1 顺序结构图


7.2.2 选择结构

  • 也被称为分支结构。
  • 选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
  • Java语言提供了两种选择结构语句if语句switch语句

7.2.2.1 if语句

if语句有三种格式
if语句 第一种格式:

if(关系表达式) {

语句体;

}

  • 执行流程
  • 首先判断关系表达式看其结果是true还是false
  • 如果是true就执行语句体
  • 如果是false就不执行语句体

网络异常,图片无法展示
|

if语句 第二种格式

if(关系表达式) {

语句体1;

}else {

语句体2;

}

  • 执行流程
  • 首先判断关系表达式看其结果是true还是false
  • 如果是true就执行语句体1
  • 如果是false就执行语句体2
  • 我们前面讲解过三元运算符,它根据比较判断后,给出的也是两个结果,所以,这种情况和if语句的第二种格式很相似,他们在某些情况下应该是可以相互转换的。
  • if语句第二种格式和三元运算符
  • 三元运算符的操作都可以使用if语句改进,反之不成立
  • 什么时候不成立呢?
  • 当if语句控制的语句体是一条输出语句的时候,就不成立。因为三元运算符是一个运算符,必须要求有一个结果返回。而输出语句却不能作为一个返回结果。
if语句 第三种格式

if(关系表达式1) {

语句体1;

}else  if (关系表达式2) {

语句体2;

}    

else {

语句体n+1;

}

  • 执行流程
  • 首先判断关系表达式1看其结果是true还是false
  • 如果是true就执行语句体1
  • 如果是false就继续判断关系表达式2看其结果是true还是false
  • 如果是true就执行语句体2
  • 如果是false就继续判断关系表达式…看其结果是true还是false…
  • 如果没有任何关系表达式为true,就执行语句体n+1。

网络异常,图片无法展示
|

7.2.2.2 switch语句

JDK8及以前写法

switch(表达式) {

     case 值1:

语句体1;

break;

 case 值2:

语句体2;

break;

   …  

default:

语句体n+1;

break;  

}

JDK14以及以上的写法
不带返回值

switch(表达式) {

  case 值1,值2,值3 -> 语句体1;

  case 值4,值5,值6 -> 语句体2;

   case 值7 -> 语句体3;

}

通过yield返回一个新值

String result = switch(表达式) {

  case 值1,值2,值3 -> 语句体1; yield 返回值1;

  case 值4,值5,值6 -> 语句体2; yield 返回值2;  

  case 值7 -> 语句体3; yield 返回值3;

}

7.3 循环结构

7.3.1 概述

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

7.3.2 循环语句的组成

  • 初始化语句:一条或者多条语句,用这些语句完成一些初始化操作。
  • 判断条件语句:这是一个boolean 表达式,这个表达式能决定是否执行循环体。
  • 循环体语句:这个部分是循环体语句,也就是我们要多次做的事情。
  • 控制条件语句:这个部分在一次循环体结束后,在下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

7.3.3 for循环语句格式

for(初始化语句;判断条件语句;控制条件语句) {          循环体语句;    }

  • 执行流程
  • A:执行初始化语句
  • B:执行判断条件语句,看其结果是true还是false如果是false,循环结束。如果是true,继续执行。
  • C:执行循环体语句
  • D:执行控制条件语句
  • E:回到B继续

7.3.4 循环流程图

网络异常,图片无法展示
|

7.4 while循环

  • 基本格式

while(判断条件语句) {

     循环体语句;

}

  • 扩展格式

初始化语句;

while(判断条件语句) {

    循环体语句;  

    控制条件语句;

}

7.4.1 while循环流程

网络异常,图片无法展示
|

7.4.2 do...while循环

  • 基本格式

do {      

循环体语句;

}while(判断条件语句);

  • 扩展格式

初始化语句;

do {      

循环体语句;      

控制条件语句;

} while(判断条件语句);

7.4.2.1 do...while循环流程图

网络异常,图片无法展示
|

7.5 跳转控制语句

前面我们已经说过了,Java中的goto是保留字,目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了break,continue和return来实现控制语句的跳转和中断。

  • break 中断
  • continue 继续
  • return 返回

7.5.1 跳转控制语句(break)

7.5.1.1 break的使用场景

  • 在选择结构switch语句中
  • 在循环语句中

离开使用场景的存在是没有意义的

7.5.1.2 break的作用

  • 跳出单层循环
  • 跳出多层循环
  • 带标签的跳出
  • 格式:标签名: 循环语句
  • 标签名要符合Java的命名规则

7.5.2 跳转控制语句(continue)

7.5.2.1 continue的使用场景

  • 在循环语句中
  • 离开使用场景的存在是没有意义的

7.5.2.2 continue的作用

  • 单层循环对比break,然后总结两个的区别
  • break 退出当前循环
  • continue 退出本次循环

7.5.3 跳转控制语句(return)

return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。这个在方法的使用那里会有详细的讲解。

八、核心语法全局图

网络异常,图片无法展示
|


作者:Wesky2023

链接:https://juejin.cn/post/7200982129474682917

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
2天前
|
Java 网络安全 网络协议
IDEA实现java远程调试
IDEA实现java远程调试
16 3
|
1天前
|
存储 算法 搜索推荐
滚雪球学Java(27):从零开始学习数组:定义和初始化
【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
7 3
|
2天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
7 0
|
2天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
6 0
|
3天前
|
缓存 Java 数据库
Java并发编程学习11-任务执行演示
【5月更文挑战第4天】本篇将结合任务执行和 Executor 框架的基础知识,演示一些不同版本的任务执行Demo,并且每个版本都实现了不同程度的并发性。
22 4
Java并发编程学习11-任务执行演示
|
4天前
|
数据库连接
java+ssm+vue代码视频学习讲解
java+ssm+vue代码视频学习讲解
6 0
|
7天前
|
uml
【经验分享】如何在IDEA中快速学习|审查|复习代码工程?
在IDEA中加速工程学习与审查,提升代码质量和维护性,关键操作包括:使用"Structure"浏览工程结构,通过"Find Usages"查找类、方法或变量引用,借助"Show Local Changes As UML"展示UML图。遵循从整体到局部的UML图学习,再到具体代码的详细探索,可系统理解设计理念。详情参考[IDEA UML教程](https://blog.csdn.net/weixin_44701426/article/details/124598053)。
16 1
【经验分享】如何在IDEA中快速学习|审查|复习代码工程?
|
9天前
|
Java 编译器 程序员
Java基础语法之基本语法格式
本文主要复习了Java的基础语法,包括类的定义、方法、主方法、注释和关键字等内容,旨在帮助读者巩固Java学习中的重要概念。
|
12天前
|
Java
IDEA云行项目提示Error: java: OutOfMemoryError
IDEA云行项目提示Error: java: OutOfMemoryError
|
13天前
|
Java 微服务
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.