当前位置: 首页 > news >正文

Java流程控制

目录

前言

一、用户交互Scanner及其进阶使用

输入的数据为字符串类型 

 输入的数据为整型或者浮点型

练习

二、顺序结构

三、选择结构

         if单选泽结构

if双选择结构

 if多选择结构 

嵌套的if结构

switch多选择结构

四、循环结构

while循环

Do...while循环

For循环

 练习

利用for循环打印九九乘法表

 打印三角形

break、continue和goto说明 

总结


前言

在学习完Java相关的基础语法之后,紧接着就是学习Java的流程控制。本文介绍了主要包括了顺序结构、选择结构、循环结构的Java流程控制。同时还会学习与C/C++不同的获取用户输入的方式。


一、用户交互Scanner及其进阶使用

Scanner对象

java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入

基本语法:

Scanner s=new Scanner(System.in);

输入的数据为字符串类型 

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前,我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

 

next() :

一定要读取到有效字符后才可以结束输入

对输入有效字符之前遇到的空白,next()方法会自动将其去掉

只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

next()不能得到带有空格的字符串

 

nextLine():

以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符

可以获得空白

 输入的数据为整型或者浮点型

通过Scanner类的nextInt()方法或nextFloat()获取输入的整数或浮点数,在读取之前,我们一般需要使用hasNextInt()或hasNextFloat()判断是否还有输入的数据。

 

练习

 输入多个数字,并求其总和与平均值,每输入一个数字用回车确认,通过非数字来结束输入,并输出其执行结果


 

二、顺序结构

顺序结构是基本结构,除非特别指明,否则就按照顺序一句句执行

顺序结构是最简单的算法结构,也是任何一个算法都离不开的一种基本算法结构。


三、选择结构

【以下都将利用Scanner对象来获取用户的输入】

if单选泽结构

基本语法:

if(布尔表达式) {

//如果布尔表达式为true将执行的语句

}

 

if双选择结构

基本语法:

if(布尔表达式) {

//如果布尔表达式为true将执行的语句

}

else{

//如果布尔表达式为false将执行的语句

}

 if多选择结构 

基本语法:

if(布尔表达式) {

//如果布尔表达式为true将执行的语句

}

else if(布尔表达式){

//如果if的布尔表达式为false且这一布尔表达式为true将执行的语句

}

else if(布尔表达式){}

else{

//如果以上布尔表达式都为false将执行的语句

}

 

嵌套的if结构

基本语法:

if(布尔表达式) {

//如果布尔表达式为true将执行的语句

   if(布尔表达式){

  //如果布尔表达式为true将执行的语句

   }

}

switch多选择结构

基本语法:

switch(expression){   //expression可以是byte,short,int,char,String类型

   case value:            //当expression时String类型时,value必须是字符串常量/字面量

        //语句

       break;//可选      //没有break,case有可能都被执行

  case value:

        . 

        .

  default :

}


四、循环结构

while循环

基本语法

while(布尔表达式){

//布尔表达式为true将执行的语句

}

主要布尔表达式为true,循环就会一直执行下去

我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环

少部分情况需要循环一直执行,比如服务器的请求响应监听等

循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!

Do...while循环

基本语法

do{

//执行语句

}

while(布尔表达式)

Do...while总是保证循环体会被至少执行一次(与while的最大区别)

while 先判断后执行

do...while 先执行后判断

For循环

基本语法

for(初始化;布尔表达式;更新){  

//执行语句

}

//初始化可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句

//For循环执行次数是执行前知道的

 

 练习

利用for循环打印九九乘法表

 打印三角形

break、continue和goto说明 

◆ break 在任何循环语句的主体部分,均可用 break 控制循环的流程, break 用于强行遍出循环,不执行循环中剩余的语句。( break 语句也在 switch 语句中使用)
◆ continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

◆关于 goto 关键字
goto 关键字很早就在程序设计语言中出现,尽管 goto 仍是 Java 的一个保留字,但并未在语言中得到正式使用: Java 没有 goto ,然而,在 breakllcontinue 这两个关键字的身上,我们仍然前看出一些goto 的影子...带标签的 break 和 continue
◆"标签"是指后面跟一个冒号的标识符,例如: label :
◆对 Java 来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于 break和continue 关键字通常只中断当前循环,但若随同标签使用,它们就会中断存在标签的地方。


总结

以上就是本文所要介绍的内容,本文介绍了Scanner对象的使用以及顺序、选择、循环结构,其中Scanner对象的用法可能将在后面的学习中大量使用,需要好好掌握。

http://www.lryc.cn/news/14955.html

相关文章:

  • I.MX6ULL_Linux_系统篇(17) uboot分析-启动linux
  • C/C++每日一练(20230221)
  • 用Python采集热门城市景点数据并简单制作数据可视化图
  • 论文阅读:pixelNeRF: Neural Radiance Fields from One or Few Images
  • C++项目——高并发内存池(1)--介绍及定长内存池
  • 网络有线无线配置
  • 阅读笔记——Feature-Point Matching for Aerial and Ground Images方法
  • 前端工程师面试题10条必会笔试题
  • 【技术分享】Web自动化之Selenium安装
  • 【Linux】进程状态的理解
  • 打游戏哪种蓝牙耳机比较好?适合玩游戏的无线蓝牙耳机
  • Fortinet推出新一代自研安全芯片,跨所有网络边缘加速网络与安全融合
  • ChatGPT爆火背后的真相:学编程已经成为必选项
  • Unity UI框架
  • vue2提取vue-router的title单独存放,使用i18n实现
  • 【Linux操作系统】【综合实验三 用户帐号、文件系统与系统安全管理】
  • sqlite3数据库-sqlite语句1(五)
  • 【图像分类】卷积神经网络之LeNet5网络模型实现MNIST手写数字识别
  • 前端开发环境搭建
  • 学习Flask之四、网页表单
  • CenterMask paper笔记
  • 06- OpenCV查找图像轮廓 (OpenCV基础) (机器视觉)
  • OpenGL学习日记之模型绘制
  • Springboot接口多个DTO入参的Postman上传方式
  • 软考各科目考核内容详细介绍,看这里
  • 连续时间信号与离散时间信号
  • TPM密钥管理、使用
  • return和finally执行顺序、运行时异常与一般异常异同、error和exception区别、Java异常处理机制原理与应用
  • 我为什么放弃WinUI3
  • 2023年全国最新安全员精选真题及答案2