Java流程控制
一、Scanner对象
Scanner是Java提供的一个工具类,可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
- 基本语法:
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
代码:
import java.util.Scanner;
public class 训练 {
public static void main(String[] args) {
Scanner s =new Scanner(System.in);
//创建一个扫描器对象,用于接收键盘数据
System.out.println("使用next方式接收");
//判断用户有没有输入字符串
if (s.hasNext()){
String str = s.next();
System.out.println("输出内容为:"+str);
}
s.close();
}
}
- next()方法:
一定要读取到有效字符才可以结束输入;输入有效字符后遇到的空白作为分隔符或者结束符;next()不能得到带有空格的字符串。 - nextLine()方法:
以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符;可以获得空白。
二、顺序结构
代码如下(示例):
public class 顺序 {
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
}
}
语句与语句之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的基本算法结构。
三、选择结构
- if单选泽结构
- if双选泽结构
- if多选泽结构
- 嵌套的if结构
- switch多选泽结构
if单选泽结构
public class 选择 {
public static void main(String[] args) {
java.util.Scanner s =new java.util.Scanner(System.in);
//创建一个扫描器对象,用于接收键盘数据
System.out.println("请输入:");
String s1 = s.nextLine();
//equals:判断字符串是否相等
if(s1.equals("Hello")){
System.out.println(s1);
}
System.out.println("End");
s.close();
}
}
if双选泽结构
if(布尔表达式){
//如果表达式的值为ture
}
else{
//如果表达式的值为false
}
if多选泽结构
if(布尔表达式1){
//如果表达式1的值为ture执行代码
}else if(布尔表达式2){
//如果表达式2的值为ture执行代码
}else if(布尔表达式3){
//如果表达式3的值为ture执行代码
}else{
//如果以上布尔表达式都不为ture执行代码
}
嵌套的if结构
if(布尔表达式1){
//如果表达式1的值为ture
if(布尔表达式2){
//如果布尔表达式2的值为ture
}
}
switch多选泽结构
switch case语句判断一个变量与一个系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
case value://语句
break;//可选
case value://语句
break;//可选
//你可以有任意数量的case语句
default : //语句
//语句
}
- switch语句中的变量可以是byte、short、int、char或者string。
- case标签必须为字符串或者字面量。
- 当所有case都不符合时,执行default中的语句。
四、循环结构
- while循环
- dowhile循环
- for循环
while循环
while(布尔表达式){
//循环内容
}
- 只要布尔表达式为ture,循环就会一直执行下去。
- 大多数情况是会让循环停止下来的,需要一个让表达式失效的方式来结束循环。
- 少部分情况需要循环一直进行。
do…while循环
- do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。
do{
//代码语句
}while(布尔表达式);
- do…while和while的区别:while先判断后执行,do…while是先执行后判断,循环体至少被执行一次!
For循环
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构,for循环执行的次数是在执行前就确定的。语句格式如下:
for(初始化;布尔表达式;更新){
//代码语句
}