Java教程

流程控制学习

本文主要是介绍流程控制学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

用户交互Scanner

java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner类来获取用户的输入。

基本语法:

Scanner s = new Scanner(System.in);

通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext() (还是否有下一个)与 hasNextLine() (还是否有下一行)判断是否还有输入的数据

Scanner对象

next():

  • 1、一定要读取到有效字符后才可以结束输入。
  • 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉
  • 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  • 4、next() 不能得到带有空格的字符串。

nextLine():

  • 1、以Enter为结束符,也就是说 nextLine() 方法返回的是输入回车之前的所有字符。
  • 2、可以获得空白。
  1. 使用next方式接收
//创建一个扫描器对象,用于接收键盘数据
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();

/*
	输出结果:
	使用next方式接收:
	hello world
	输入的内容为:hello
*/
  1. 使用nextLine方式接收
// 从键盘接收数据
Scanner scanner = new Scanner(System.in);

System.out.println("使用nextLine方式接收:");

// 判断是否还有输入
if(scanner.hasNextLine()){
    String str = scanner.nextLine();
    System.out.println("输入的内容为:"+str);
}

scanner.close();

/*
	输出结果:
	使用nextLine方式接收:
	hello world
	输入的内容为:hello world
*/
  1. 去掉 if 语句接收
// 从键盘接收数据
Scanner scanner = new Scanner(System.in);

System.out.println("请输入数据:");

String str = scanner.nextLine();

System.out.println("输出的内容为:"+str);

scanner.close();

/*
	输出结果:
	请输入数据:
	hello world
	输出的内容为:hello world
*/

Scanner进阶使用

//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:

Scanner scanner = new Scanner(System.in);

//和
double sum = 0;
//计算输入了多少个数字
int m = 0;

//通过循环判断是否还有输入,并在里面对每一次进行求和统计
while(scanner.hasNextDouble()){
    double x = scanner.nextDouble();
    m = m + 1;  //m++
    sum = sum + x;
    System.out.println("你输入了第"+m+"个数据,然后当前结果sum="+sum);
}

System.out.println(m + "个数的和为" + sum);
System.out.println(m + "个数的平均值是" + (sum / m));

scanner.close();
/*
	输出结果:
	10
	你输入了第1个数据,然后当前结果sum=10.0
	20
	你输入了第2个数据,然后当前结果sum=30.0
	30
	你输入了第3个数据,然后当前结果sum=60.0
	40
	你输入了第4个数据,然后当前结果sum=100.0
	asd
	4个数的和为100.0
	4个数的平均值是25.0
*/

顺序结构

  • JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 它是任何一个算法都离不开的一种基本算法结构。

if选择结构

if单选择结构

  • 语法:
if(布尔表达式){
    //如果布尔表达式为true将执行的语句
}
  • 举例:
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();
/*
输出结果:
请输入内容:
Hello
Hello
End
*/  

if双选择结构

  • 语法

    if(布尔表达式){
        //如果布尔表达式的值为true
    }else{
        //如果布尔表达式的值为false
    }
    
  • 举例

    //考试分数大于60就是几个,小于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();
    /*
    输出结果:
    请输入成绩:
    60
    及格
    */
    

if多选择结构

  • 语法

    if(布尔表达式 1){
        //如果布尔表达式 1的值为true执行代码
    }else if(布尔表达式 2){
        //如果布尔表达式 2的值为true执行代码
    }else if(布尔表达式 3){
        //如果布尔表达式 3的值为true执行代码
    }else{
        //如果以上布尔表达式都不为true执行代码
    }
    
  • 举例

    //考试分数大于60就是几个,小于60分就不及格。
    
    Scanner scanner = new Scanner(System.in);
    
    /*
    if 语句之多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
    if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
    一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
    */
            
    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 && score>=0){
        System.out.println("不及格");
    }else{
        System.out.println("成绩不合法");
    }
    
    scanner.close();
    /*
    输出结果:
    请输入成绩:
    102
    成绩不合法
    */
    

嵌套的if结构

  • 语法

    if(布尔表达式 1){
        //如果布尔表达式 1的值为true执行代码
        if(布尔表达式 2){
            //如果布尔表达式 2的值为true执行代码
        }
    }
    

switch多选择结构

这篇关于流程控制学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!