Java流程控制

news2024/12/24 3:30:14

目录

前言

一、用户交互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.coloradmin.cn/o/360761.html

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

相关文章

2.20 crm day01 配置路由router less使用 axios二次封装

需求: 目录 1.配置路由 2.less使用 vue2使用以下版本 3.axios二次封装 1.配置路由 1.1.1 官方链接:安装 | Vue Router npm i vue-router3.6.5 注意:vue2项目不能用vue-router四版本以上 1.2.1.创建router/index.js 在该文件中 //1.引…

C++ int、long、long int、long long、uint64_t字节长度

前言 我们在进行编程时,对于int、long、long long经常使用,但是对于这些类型占用的字节长度可能不会太确定,尤其是在32位平台、64位平台,会有差异,这些知识点为基础知识,容易忽略的基础知识,本…

从0开始写Vue项目-Vue页面主体布局和登录、注册页面

1.从0开始写Vue项目-环境和项目搭建_慕言要努力的博客-CSDN博客 2. 从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建_慕言要努力的博客-CSDN博客 一、主体布局 关于主体布局,我们刚开始肯定是做的死数据的,当我们后面整合SpringBoot的时候就会…

JAVA开发(运行JAR包怎么指定虚拟机内存大小)

我们都使用过 java -jar xxx.jar包去运行jar包。但是有时候要指定jar包运行时内存,该怎么做,而且设置多大怎么衡量,很多人从来没有了解过。 背景: 我们开发java程序,可能涉及到开发环境,测试环境&#x…

【C++的OpenCV】第二课-CMake创建OpenCV项目

文章目录一、CMake是什么?1.1 基本概念1.2 CMake的优势二、使用Cmake构建一个OpenCV程序2.1 步骤(a)编写一个简单的OpenCV示例代码(b)创建一个Cmake文件(c)生成可执行文件(d&#xf…

初步介绍CUDA中的统一内存

初步介绍CUDA中的统一内存 更多精彩内容: https://www.nvidia.cn/gtc-global/?ncidref-dev-876561 文章目录初步介绍CUDA中的统一内存为此,我向您介绍了统一内存,它可以非常轻松地分配和访问可由系统中任何处理器、CPU 或 GPU 上运行的代码使用的数据。…

存储拆分后,如何解决唯一主键问题?

在单库单表时,业务 ID 可以依赖数据库的自增主键实现,现在我们把存储拆分到了多处,如果还是用数据库的自增主键,就会出现主键重复的情况。 所以我们不得不面对的一个选择,就是ID生成器,使用一个唯一的字符…

c++提高篇——stack容器

一、stack容器的基本概念 stack是一种先进后出(FILO)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用。因此该容器不能有遍历行为。基本的结构如下: stack容器有些像手枪子弹的弹夹,其数据的出入栈可以以弹夹为参考。 二、…

redis-cluster集群搭建

安装redis所需环境 yum install -y gcc-c yum install -y wget 创建文件夹 cd / mkdir redis/redis-cluster/7001 cd redis/redis-cluster mkdir 7002 7003 7004 7005 7006 7007 7008下载redis压缩包并解压安装 wget https://download.redis.io/redis-stable.tar.gz tar -…

从0开始写Vue项目-SpringBoot整合Mybatis-plus实现登录、注册功能

1.从0开始写Vue项目-环境和项目搭建_慕言要努力的博客-CSDN博客 2. 从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建_慕言要努力的博客-CSDN博客 3. 从0开始写Vue项目-Vue页面主体布局和登录、注册页面_慕言要努力的博客-CSDN博客 一、前言 在之前我们以及搭建好了基…

线上问题诊断指南

内容概要 诊断工具介绍工具可用情况偶现或已现问题诊断思路 硬件资源观测 top top可以看整个系统cpu、内存的使用情况,以及在各个进程上的情况,如下: $ top top - 13:14:07 up 2 days, 6:38, 0 users, load average: 1.65, 0.59, 0.27…

知识库:在医疗行业的知识管理有着怎样的意义与实际影响?

知识库中还可存在一个通常被称作典型方法库的特殊部分。如果对于某些问题的解决途径是肯定和必然的,就可以把其作为一部分相当肯定的问题解决途径直接存储在典型方法库中。这种宏观的存储将构成知识库的另一部分。在使用这部分时,机器推理将只限于选用典…

Android 基础知识4-2.10 GridLayout(网格布局)详解

一、GridLayout(网格布局)概述 GridLayout 布局是 Android 4.0 以后引入的新布局,和 TableLayout(表格布局) 有点类似,不过它功能更多,也更加好用,最大的特点是放置的组件自动占据网格的整个区域,每个组件的…

【Linux】动静态库的制作

​🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉动静库和静…

RS485通信总线详解

RS485 总线详解 RS-485 是美国电子工业协会(EIA)在 1983 年批准了一个新的平衡传输标准(Balanced Transmission Standard)也称作差分,EIA 刚开始将 RS(Recommended Standard)做为标准的前缀&am…

一文解决Rust字符串:String,str,String,str,CString,CStr

一、str和&str和String的区别 1.存放位置,可变不可变: str来源于Rust本身的数据类型,而String类型来自于标准库。首先看一下str 和 String之间的区别:String是一个可变的、堆上分配的UTF-8的字节缓冲区。而str是一个不可变的…

前端零基础入门-002-集成开发环境

本篇目标 了解市面上常用的前端集成开发环境(ide)掌握 HBuiberX 的使用:下载安装,新建项目、网页、运行网页。 内容摘要 本篇介绍了市面上流行的几款前端集成开发环境(ide),并介绍了 Hbuilde…

华为OD机试 - 按索引范围翻转文章片段(Java) | 机试题算法思路 【2023】

使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12201821.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 按索引范围翻转文章…

【黄啊码】什么是ElasticSearch?它会替代MySQL成为主流吗?如何优化?TP5如何接入ElasticSearch?

什么是ElasticSearch? Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析 引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。 Elasticsearch 的实现原理主要分…

「TCG 规范解读」第8章 TPM工作组 TPM 1.2中 SHA1的使用

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…