目录
前言
一、用户交互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对象的用法可能将在后面的学习中大量使用,需要好好掌握。