Java程序流程控制

—————————————————————————————————————————————————————————————————————

1.选择结构(if、switch)

  • if分支结构:根据条件,选择执行某段代码
if(条件表达式){
代码;
} if(条件表达式){
代码1;
}else{
代码2;
} if(条件表达式1){
代码1;
}else if(条件表达式2){
代码2;
}else if(条件表达式3){
代码3;
}……
else{
代码n;
}
  • switch分支结构:(单值匹配)

    通过比较具体值是否相等,来决定执行哪条分支
switch(表达式){
case 值1:
执行代码1;
break;
case 值2:
执行代码2;
break;
case 值3:
执行代码3;
break;
……
default:
执行代码n;
}
  • if,switch各自适合什么业务场景?

    if在功能上远远强大于switch;

    当前条件是区间的时候,建议使用if分支;

    当条件是一个个的值比较时,建议用switch更合适(性能好,格式良好,代码优美);

    switch是树形结构进行查找。

2.循环结构(for、while、do-while)

  • 循环结构:减少代码的重复编写,灵活的控制程序的执行

  • for循环语句:

for(初始化语句;循环条件;迭代语句){
循环体语句;
}
  • while循环语句:
初始化语句;
while(循环条件){
循环体语句(被重复执行的代码);
迭代语句;
}
  • 什么时候用for,什么时候用while?

    for和while在功能上完全一样

    知道循环几次使用for,不知道循环几次用while;

    for循环定义的变量只在for循环内使用,while循环定义的变量在循环外也可以使用(因为while的初始化循环语句是在循环体外定义的)。

  • do-while循环语句:

初始化语句;
do{
循环体语句;
迭代语句;
}while(循环条件);
  • do-while常用场景:

    刷票系统:抢票系统 用的do-while循环,先不论有没有票,先抢再说

  • 死循环:

    可以一直执行的循环,如果没有干预不会停下来

    常用于服务器程序,一直在运行,不会停止

  • 循环的嵌套:

    循环中又包括循环,外部循环每循环一次,内部循环会全部执行完一轮

3.跳转关键字(break、continue、return)

  • break,跳出并结束当前所在一层的循环的执行。只能用于结束所在的循环,或者结束所在的switch分支的执行。

  • continue,用于跳出当前循环的当次执行,直接进行循环的下一次执行,continue只能在循环中进行使用。

  • return,用于从方法中返回一个值并结束方法的执行。如果方法声明了返回类型,则 return 必须指定一个返回值;如果方法返回类型为 void,则可以直接使用 return; 来提前结束方法。

4.其他

  • 程序流程控制

    程序流程控制指的是编程语言中用于控制程序执行顺序的机制。通过这些控制结构,可以实现条件判断、循环操作以及在特定条件下改变程序的正常执行流程等功能。Java中的流程控制语句包括:顺序、选择(分支),循环三种结构。

  • 通义灵码:怎么在IDEA中使用(电脑重新联网后通义灵码不好用的问题)

    本地补全模型

    云端模型自动触发

  • 随机数生成:

// 1.用方法生成一个随机数:1-100之间
/**
* Math.random():是Java中的内置功能(内置方法)
它返回一个 [0,1) 之间的随机小数。
* (int)(Math.random() * 100):是返回一个 [0,100) 之间的整数
=====> [0,100) 的整数
=====> [0,99] 的整数
* (int)(Math.random() * 100) + 1:是返回一个 [1,100] 之间的整数
*/ // int number = (int)(Math.random() * 100) + 1; // [1,100]
// System.out.println("number = " + number); // 2.用随机变量得到一个随机数对象
Random r = new Random();
// r.nextInt(100):生成一个 [0,100) 之间的整数
// 含0,不含100,包前不包后。 int number = r.nextInt(100) + 1;
// [0,100) + 1 =======> [1,100] 之间的整数 // nextInt(n):生成0~ n-1之间的随机数,不包含n
  • 随机数生成技巧:

    如果要生成1-10之间;

    先减一(-1) ,范围变成0-9;

    然后再加一(+1),范围变成0-10;

Java03-程序流程控制的更多相关文章

  1. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

  2. Java 基础 程序流程控制 (下)

    Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

  3. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

  4. Java基础之程序流程控制

    Java中的程序流程控制 Java中的程序流程分为三种结构:①顺序结构:②分支结构:③循环结构 一.顺序结构 Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量. ...

  5. 4. Scala程序流程控制

    4.1 程序流程控制说明 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句,顺序控制,粉质控制,循环控制 温馨提示:Scala语言中控制结构和Java语言中的 ...

  6. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  7. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  8. Java 基础入门随笔(4) JavaSE版——程序流程控制

    上一节对于运算符有了大致的了解,这一节针对程序流程控制进行复习!程序流程控制包括顺序结构.判断结构(if).选择结构(switch).循环结构. 1.判断结构 ①if语句的第一种格式:        ...

  9. Java程序流程控制

    程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...

  10. Java基本语法--程序流程控制

    流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构.分支结构.循环结构.本篇博客主要是对 ...

随机推荐

  1. k8s之常用命令

    Minikube # 启动集群服务 minikube start # 查看集群服务状态 minikube status# 登录集群minikube ssh # 关闭,暂停,恢复,删除集群服务 mini ...

  2. Golang之学习资源参考

    使用golang开发也有一段时间,在此总结一些自己从0入门到掌握所涉及一些资源,希望可以帮助其他人 [初级] 基础语法练习:  https://gobyexample.com/ [中级] 1.gola ...

  3. Beautiful of programming

    作者:Linus Torvalds 我不知道该如何清楚地描述我对编程的痴迷.对编程的人来说,这是世界上最有趣的事情.这是一个比国际象棋更复杂的游戏,在这个游戏中,你可以制定自己的规则,并基于这些规则得 ...

  4. Redis应用—1.在用户数据里的应用

    大纲 1.社区电商的业务闭环 2.Redis缓存架构的典型生产问题 3.用户数据在读多写少场景下的缓存设计 4.热门用户数据的缓存自动延期机制 5.缓存惊群与穿透问题的解决方案 6.缓存和数据库双写不 ...

  5. FineReport模板性能问题排查方法

    1. 概述 模板的加载速度受到很多因素影响,如果一个模板预览的时候,加载较慢,该如何去分析问题原因呢? 2. 排查步骤 2.1 查看数据集查询速度 大部分模板加载慢,都是因为 sql 执行速度比较慢. ...

  6. 在分布式追踪系统中使用 W3C Trace Context

    在分布式追踪系统中使用 W3C Trace Context https://dev.to/luizhlelis/using-w3c-trace-context-standard-in-distribu ...

  7. Nuget Reference 丢失问题

    现象 在 Visual Studio 2017 中创建一个控制台项目.创建出来的项目如下所示. 通过 NuGet 管理器,添加 Newtonsoft.Json 的 NuGet 包,安装之后,项目中添加 ...

  8. Mapstruct使用时报Unknown property xxx in result type xxx. Did you mean null

    0.背景 使用mapstruct时出现: Unknown property "xxx" in result type xxx. Did you mean "null&qu ...

  9. H2数据UNIX_TIMESTAMP兼容问题

    开篇  今天某同事在spring结合H2实现mybatis DAO层单测的时候遇到一个问题,本着人道主义临时支持下我司大xx业务,就帮忙一起看了下,回想一下整个过程还是挺有意思的,就顺便写了这篇文章来 ...

  10. Python的OCR工具pytesseract解决TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information环境变量问题

    pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格 ...