JavaSE学习 Day4 - Java流程控制
Java流程控制
用户交互与Scanner对象
Java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入
//基本语法
//创建一个扫描器对象,用于接收键盘输入的数据。
Scanner s = new Scanner(System.in);
//关闭Scanner
//凡是属于IO流的类,如果不关闭会一直占用资源
Scanner.close();
- Scanner类中有多个方法,例如hasNext()、hasNextLine()、hasNextInt()、hasNextDouble()、next()、nextLine()、nextInt()、nextDouble()等方法。
- 需要注意的是,has开头的方法返回值为boolean类型(true、false),用于判断用户是否进行了输入;而无next等方法返回值为整数、浮点数、字符(串)类型,用于返回用户的输入值。但不同的是,hasNext会检查是否有非空字符,hasNextLine检查输入中是否还有linePattern(回车、软回车)。
- next、nextInt、nextDouble方法是以空格作为分隔符或者结束符,对于输入有效字符前的空格符,会自动将其去掉,无法得到带空格的字符串;nextLine()方法以Enter为结束符,会返回输入回车之前的所有字符,可以得到带有空格的字符串。
- Scanner类的运行机制(自我理解):首先创建扫描器后,代码会卡在此处等待用户输入,直到用户输入了非空字符且敲击回车之后,代码才会继续运行。此时,next、nextLine、nextInt方法会在输入中寻找有效字符及结束符,然后将数据返回出来。每进行一次输出,就相当于光标往前移动了几位,has方法会重新进行判断。
顺序结构
Java的基本结构就是顺序结构,除非明确指明,否则就会按照顺序一句一句的执行。顺序结构是最简单的算法结构。
选择结构
- if单选择结构
if (布尔表达式){
//布尔表达式为真时执行
}
- if双选择结构
if (布尔表达式){
//布尔表达式为真时执行
}else{
//布尔表达式为假时执行
}
- if多选择结构
if (布尔表达式){
//布尔表达式为真时执行
}else if(布尔表达式){
//布尔表达式为真时执行
}else if(布尔表达式){
//布尔表达式为真时执行
}else{
//布尔表达式均为假是执行
}
- 嵌套的if结构
在ifelse语句内部嵌套ifelse语句是合法的 - switch多选择结构
switch(){
case value{
//语句
break;
}
case value{
//语句
break;
}
default:
//语句
}
switch语句中的变量类型可以是byte、short、int、char、String
case标签必须是字符串常量或者字面量
循环结构
- while循环
while(布尔表达式){
//循环内容
}
- do while循环
do{
//循环内容
}while(布尔表达式)
区别在于实现进行判断还是先执行循环体
break、continue
break:跳出最近的一次循环
continue:终止本次循环,直接进行下次循环

浙公网安备 33010602011771号