Java流程控制
Scanner
作用:获取用户的输入
基本语法:Scanner scanner = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
package leosun.scanner;
import java.util.Scanner;
public class demo0 {
public static void main(String[] args) {
//创建一个扫描器对象,用于扫描键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断有没有输入字符串
if(scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯用完就关掉
scanner.close();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MFuMgSl3-1622270483323)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308133054147.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OgVMOfk5-1622270483326)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210308133157796.png)]
- next():
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符够才将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
- nextLine():
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空白
结构
顺序结构
最简单的结构,一个一个顺序执行
选择结构
-
if单选择结构
if(布尔表达式){ //如果布尔表达式为true将执行地语句 }
-
if双选择结构
if(布尔表达式){
//如果布尔表达式为true执行代码
}else{
//如果布尔表达式为false执行代码
}
- if多选择结构
if(布尔表达式1){
//如果布尔表达式1为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2为ture执行代码
}else if(布尔表达式3){
//如果布尔表达式3为ture执行代码
}else{
//如果以上布尔表达式都不为ture执行代码
}
- 嵌套的if结构
if(布尔表达式1){
//如果布尔表达式1为true执行代码
if{
//如果布尔表达式2为ture执行代码
}
}
-
switch多选择结构
* switch case语句判断一个变量与一系列值中某个值是否相等,每个值成为分支 * switch语句的变量类型:byte、short、int、char、String * case标签必须为字符串常量或字面量
String name = "老孙"; //反编译 java---class(字节码文件)----反编译(IDEA) 将out/production/对应的class文件拖入文件夹中 switch (name){ case "老孙": System.out.println("老孙"); break; case "老李": System.out.println("老李"); break; default: System.out.println("啥也不是"); }
循环结构
while循环
while(布尔表达式){
//布尔表达式为ture则执行代码
}
- 布尔表达式为ture,则一直循环下去
- 先判断后执行
do……while循环
- 与while只有满足条件才能执行循环不同,do……while循环至少会执行一次
- 先执行后判断,至少执行一次
do{
//代码语句
}while(布尔表达式)
for循环
for(初始化;布尔表达式;更新){
//代码语句
}
-
//死循环 for (;; ){ }
-
System.out.print(i+"\t");//print输出不会换行
-
System.out.println("\n");//println输出会换行
break、continue、goto
break用于强制退出循环
continue用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否循环的判定
goto用作标签,对Java来说卫衣用到标签的地方就是在循环语句之前
em.out.println("\n");//println输出会换行**
break、continue、goto
break用于强制退出循环
continue用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否循环的判定
goto用作标签,对Java来说卫衣用到标签的地方就是在循环语句之前