Java流程控制
用户交互Scanner
-
可以通过Scanner类来获取用户的输入
-
基本语法
Scanner s = new Scanner(System.in);
- 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
package Scanner;
import java.util.Scanner;
public class Demo1 {
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();
}
}
输出结果
输入点什么吧(next)
hello world
输出的内容为:hello
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才能将其后面输入的空白作为分隔符或者结束符
- next()不能得到带有空格的字符串
package Scanner;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
//创建一个扫描器对象用于接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("输入点什么吧(nextLine)");
//判断用户有无输出字符串
if(scanner.hasNextLine()){
//使用nextLine()方式接受
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用内存 所以今天你关闭了吗
scanner.close();
}
}
输出结果
输入点什么吧(nextLine)
hello world
输出的内容为:hello world
- 以回车键为结束符 返回的是输入回车之前的所有字符
- 可以获得空白
一般使用Scanner方法
package Scanner;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
//创建一个扫描器对象用于接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("输入点什么吧(nextLine)");
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
//凡是属于IO流的类如果不关闭会一直占用内存 所以今天你关闭了吗
scanner.close();
}
}
Scanner的进阶使用
- hasNextInt() 判断是否是整型输入 nextInt()接受
- hasNextDouble() 判断是否是浮点型输入 nextDouble()接受
If选择结构
If单选择
if(布尔表达式){
//如果为真 将要执行的语句
}
If双选择
if(布尔表达式){
//如果为真 将要执行的语句
}else{
//如果为假 将要执行的语句
}
If多选择
if(布尔表达式1){
//如果布尔表达式1为真 将要执行的语句
}else if(布尔表达式2){
//如果布尔表达式2为真 将要执行的语句
}else{
//如果都假 将要执行的语句
}
If嵌套
if(布尔表达式1){
//如果布尔表达式1为真 将要执行的语句
if(布尔表达式2){
//如果布尔表达式2为真 将要执行的语句
}
}
Switch多选择结构
switch(expression){
case value1:
//语句
break;
case value2:
//语句
break;
default:
//语句
break;
}
- switch 语句中的变量类型可以是 byte,short,int,char
- 从Java SE 7 开始 switch支持字符串String类型
While循环
while(布尔表达式){
//如果为真 将要循环执行的语句
}
do…while循环
do{
//代码语句
}while(布尔表达式);
do…while循环至少会执行一次
For循环
for(初始化;布尔表达式;更新){
//代码语句
}