java学习(2.java流程控制)
- Scanner对象
-
- 顺序结构
- 选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- if嵌套选择结构
- switch多选择结构
- 循环结构
- while循环
- do while 循环
- for 循环
- 增强 for 循环(forEach)
- break continue
Scanner对象
- 作用:一个工具类,用于获取用户的输入
- Java.util.Scanner是java5的新特性。
- 基本语法;
Scanner s=new Scanner (System.in); - 方法
next()/nextLine()方法:获取输入的字符串
hasNext()/hashNextLine():判断是否输入数据
基本使用
//创建一个扫描对象,用于接收键盘数据
Scanner scanner=new Scanner(System.in);
System.out.println("使用nextLine方法接收:");
//判断用户是否有输入字符串
if(scanner.hasNextLine()){
//使用next方法接收
String str = scanner.nextLine();
System.out.println("输入内容为:"+str);
}
//凡是输入IO流的类,如果不关闭会一直占用资源
scanner.close();
next()
- 读取到有效字符才会结束输入
- next()方法读取到空白符就结束
- 不能识别带空格的字符串
如:hello word!
==》结果为:hello
nextLine()
- 以Enter为结束符,及获得的字符是回车之前的所以字符
- 可以获得空白
如:hello word!
==》结果为:hello word!
顺序结构
选择结构
if单选择结构
if(布尔表达式){
//若布尔表达式为true,则执行以下语句
}
if双选择结构
if(布尔表达式){
//若布尔表达式为true,则执行以下语句
}else{
//若布尔表达式为false,则执行以下语句
}
if多选择结构
if(布尔表达式1){
//若布尔表达式1为true,则执行以下语句
}else if(布尔表达式2){
//若布尔表达式2为true,则执行以下语句
}else if(布尔表达式3){
//若布尔表达式3为true,则执行以下语句
}else){
//若以上布尔表达式都不为true,则执行以下语句
}
if嵌套选择结构
if(布尔表达式1){
//若布尔表达式1为true,则执行以下语句
if(布尔表达式2){
//若布尔表达式2为true,则执行以下语句
}
}
switch多选择结构
- 作用:判断一个变量是否与一系列值中某个值相是否对
- 语法
expression类型可以为byte short int char(从JAVA SE7 开始支持String)
同时case标签必须为字符串常量或者字面量
** 不写break会发送case穿透(及若case找到了值,而后没有写break,则后面的case里面的语句也会被执行到)
switch(expression){
case value1:
//语句
break; //可选
case value2:
//语句
break; //可选
......
//若以上条件都不符合
default: //可选
//语句
}
循环结构
while循环
while(布尔表达式){
//循环内容
}
do while 循环
- do…while 至少会执行一次(执行一次之后,在进行while的循环判断)
do{
//循环内容
}while(布尔表达式)
for 循环
for(初始化;布尔表达式;更新){
//循环内容
}
示例:打印9*9乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "t");
}
System.out.println();
}
增强 for 循环(forEach)
int[] number={10,23,43,23,56};
//遍历数组
for(int x:number){
System.out.println(x);
}
break continue
- break:强行退出循环,不在执行循环操作
- continue:用于终止某次循环过程,重新经行循环的判断,仍在进行循环