Java 流程控制
1、用户交互与 Scanner
说明:java.util.Scanner 是 Java5 的新特征,用于获取用户的输入。
基本语法
通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前一般使用 hasNext() 与 hasNextLine() 判断是否还有输入数据。
Scanner.next() 与 Scanner.nextLine() 对比说明

代码示例
2、顺序结构

3、选择结构
3.1、if 选择结构
if 单选择结构
if 双选择结构
if 多选择结构
3.2、switch 多选择结构
switch 多选择结构(JDK7 后支持字符串匹配)
3.4、练习:打印九九乘法表
使用循环打印九九乘法表
4、循环结构
while 循环结构

do...while 循环结构

for 循环结构

5、break & continue
6、练习
public class Demo06 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (j*i) + "\t");
}
System.out.println();
}
}
}
public class Demo05 {
public static void main(String[] args) {
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
default:
System.out.println("未知");
break;
}
}
}
public class Demo04 {
static final int OK_SCORE = 60;
static final int OK_SCORE2 = 90;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
int score = scanner.nextInt();
//if 多选择结构
if (score >= OK_SCORE2){
System.out.println("不及格");
}else if (score >= OK_SCORE){
System.out.println("及格");
}else {
System.out.println("不合法");
}
scanner.close();
}
}
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
int score = scanner.nextInt();
//if 双选择结构
final int oKSCORE = 60;
if (score >= oKSCORE){
System.out.println("及格");
}else {
System.out.println("不及格");
}
scanner.close();
}
}
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine();
//if 单选择结构
if (s.equals("Hello")){
System.out.println("单选择结构命中,输入值为:" + s);
}
scanner.close();
}
}
//读取对应类型输入
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.println("请输入整数:");
if (scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整数数据:" + i);
}else {
System.out.println("输入的不是整数数据");
}
System.out.println("请输入小数:");
if (scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小数数据:" + f);
}else {
System.out.println("输入的不是小数数据");
}
scanner.close();
}
}
//使用 hasNextLine() 获取,输入 “Hello World”时候,输出 “Hello World”,可读取空格,以回车作为结束
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用 nextLine 方式接收:");
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出的内容为:" + str);
}
scanner.close();
}
}
//使用 next() 获取,输入 “Hello World”时候,输出 “Hello”,只读取空格前的值
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据(System.in 代表输入)
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();
}
}
Scanner scanner = new Scanner(System.in);