Java流程控制
Java流程控制
IO流:输入输出流
Scanner
创建对象:Scanner scanner = new Scanner(System.in);
用hasNext()与hasNextLine()判断是否有输入数据
使用next()与nextLine()方法接收数据:... = scanner.next();
用完scanner必须关闭:scanner.close(); //不关闭会一直占用资源
next()
- 一定要读取到有效字符后才可以结束输入
- 自动去除有效字符之前的空白
- 有效字符后的空白作为分隔符或结束符
- next()不能得到带有空格的字符串
import java.util.Scanner;
public class Scanner_study {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");
String nextstr = scanner.next();
System.out.println("输出:" + nextstr);
}
nextLine()
- 以Enter为结束符
- 可以获得空白
顺序结构
Java的基本结构,按顺序执行
选择结构
if选择结构
import java.util.Scanner;
public class If_study {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String str = scanner.nextLine();
//equals方法判断字符串是否相等
if (str.equals("hello")) {
System.out.println(str);
} else if (str.equals("HELLO")) {
System.out.println(str);
} else {
System.out.println("error");
}
}
}
switch选择结构
判断变量与一系列值中某个值是否相等,每个值称为一个分支
case穿透:若满足条件的分支执行后没有中断语句(如break),会将后面所有分支的语句全部执行一遍
public class Switch_study {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("优秀");
break;
case 'B' :
System.out.println("良好");
case 'C' :
System.out.println("及格");
default :
System.out.println("未知等级");
}
}
}
循环结构
while 循环
do...while 循环
do {
......
} while ();
for 循环
最有效,最灵活的循环结构
//死循环
for ( ; ; ) {
}
练习一:
public class For_study_Ex1 {
public static void main(String[] args) {
//输出1-1000中能被5整除的数,每行输出三个
int c = 0;
for (int i=1; i < 1000; i++) {
if (i % 5 == 0) {
System.out.print(i+" ");
c++;
}
if (c % 3 == 0) {
System.out.println();
}
}
//更简单的方法:5*3=15
}
}
增强 for 循环
int[] numbers = {1,2,3};
//遍历数组
for (int x:numbers) {
......
}