02.Java流程控制
1.Scanner对象
- 可以通过Scanner类来获取用户的输入
- 基本语法
Scanner s = new Scanner(System.in);
-
通过Scanner类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()和hasNextLine()来判断是否还有输入的数据
-
next()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符前遇到的空白,next()会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
- next()不能得到带有空格的字符串
-
nextLine()
- 以Enter为结束符,可返回回车前的所有字符
- 可以取得空白
2.顺序结构
按照顺序执行,是最简单的算法结构
3.选择结构
3.1 if单选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
3.2 if双选择结构
if(){
//true
}else{
//false
}
3.3 if多选择结构
if(1){
//1true
}else if(2){
//2true
}else if(3){
//3true
}else{
//1,2,3false
}
3.4 嵌套的if结构
if(1){
//1true
if(2)
//2true
}
3.5 switch选择结构
判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
switch(expression){
case value :
//语句
break;
case value :
//语句
default :
//语句
}
switch语句中的变量类型可以是:
- byte、short、int、char
- 从JSE7开始switch支持字符串String类型了
- case标签必须为字符串常量或字面量
4.循环结构
4.1 while循环
最基本的循环
while(布尔表达式){
//循环内容
}
4.2 do...while循环
和while循环相似,而do...while循环至少会执行一次
do{
//代码语句
}while(布尔表达式)
- while和do while的区别
- while先判断后执行,do while先执行后判断
- do while循环保证循环体至少执行一次
4.3 for循环
最有效、最灵活
for(初始化;布尔表达式;更新){
//代码语句
}
5. break continue
- break用于强行退出循环,不执行循环中剩余的语句
- continue用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定