Java流程控制
1、用户交互Scanner对象
Scanner类是用来获取用户的输入
- 基本语法
Scanner s =new Scanner(System.in);
- 通过Scanner类的next()与nextLine()方法获取输入字符串,在读取之前,使用hasNext与hasNextLine()判断是否还有输入的数据
package Scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner=new Scanner(System.in);//创建对象
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()) {
//使用next方式接收
String str=scanner.next();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
}
package Scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner=new Scanner(System.in);//创建对象
System.out.println("使用nextLine方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNextLine()) {
//使用next方式接收
String str=scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
}
package Scanner;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner=new Scanner(System.in);//创建对象
System.out.println("请输入数据:");
//使用nextLine方式接收
String str=scanner.nextLine();
System.out.println("输出的内容为:"+str);
scanner.close();
}
}
package Scanner;
import java.util.Scanner;
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("输入的不是小数数据!");
}
}
}
package Scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和与平均分,每输入一个数字用回车确认,
//通过输入非数字来结束输入并输出执行结果
Scanner scanner=new Scanner(System.in);
//和
double sum=0;
//计算输入多少个数字
int m=0;
//通过循环判断是否有输入,并在里面对每一次进行求和和统计
while(scanner.hasNextDouble()) {
double x=scanner.nextDouble();
System.out.println("你输入了第"+m+"个数据,当前结果sum"+sum);
m=m+1;
sum=sum+x;
}
System.out.println(m+"个数和为"+sum);
System.out.println(m+"个数平均值为"+(sum/m));
}
}
顺序结构
package struct;
public class ShunXuDemo01 {
public static void main(String[] args) {
System.out.println("hello world1");
System.out.println("hello world2");
System.out.println("hello world3");
System.out.println("hello world4");
System.out.println("hello world5");//按顺序逐一输出
}
}
选择结构
if单选择结构
package struct;
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入内容:");
String s= scanner.nextLine();
//equals:判断字符串是否相等
if(s.equals("hello")) {
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
if双选择结构
package struct;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
//考试分数大于60分及格,否则不及格
Scanner scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if(score>60) {
System.out.println("成绩及格");
}
else {
System.out.println("成绩不合格");
}
scanner.close();
}
}
if多选择结构
package struct;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if(score==100) {
System.out.println("恭喜满分");
}
else if(score<100 && score>=90 ) {
System.out.println("A");
}
else if(score<90&&score>=80) {
System.out.println("B");
}
else if(score<80&&score>=70) {
System.out.println("C");
}
else if(score<70&&score>=60) {
System.out.println("D");
}
else if(score<60) {
System.out.println("成绩不合格");
}
else {
System.out.println("成绩不合法");
}
scanner.close();
}
}
if嵌套语句
- 语法
if(布尔表达式1){
//如果布尔表达式1的值为ture执行代码
if(布尔表达式2){
//如果布尔表达式2的值为ture执行代码
}
}