首页 > 编程语言 >Java流程控制

Java流程控制

时间:2023-02-10 12:12:00浏览次数:42  
标签:语句 控制 Java Scanner 流程 System 输入 表达式 布尔

一、用户交互Scanner对象

  1. 包:java.util.Scanner

  2. 获取用户的输入

  3. 基本语法
    Scanner s = new Scanner(System.in);

  4. 通过该类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()和hasNextLine()来判断是否有输入的数据

  5. next()和nextLine()的区别:
    next():

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

    nextLine():

    • 以Enter作为结束符,返回的是输入回车符之前的所有字符
    • 可以获得空白

代码示例:

package com.lzr.scanner;
import java.util.Scanner;
/**
 * @version: java version 1.8
 * @Author: lzr
 * @description:
 * @date: 2023-02-10 上午 10:16
 */
public class Demo01 {
    public static void main(String[] args) {
        // 创建扫描器对象,用于接收键盘数据
        Scanner s = new Scanner(System.in);
        System.out.println("请输入数据:");
        // 判断用户有无输入字符串
        if(s.hasNext()){
            // 使用next接收
            String str = s.next();
            System.out.println(str);
        }
        // 关闭,属于IO流的类如果不关闭会一直占用资源
        s.close();
    }
}
package com.lzr.scanner;
import java.util.Scanner;
/**
 * @version: java version 1.8
 * @Author: lzr
 * @description:
 * @date: 2023-02-10 上午 10:24
 */
public class Demo02 {
    public static void main(String[] args) {
        // 创建扫描器对象,用于接收键盘数据
        Scanner s = new Scanner(System.in);
        System.out.println("请输入数据:");
        // 判断用户有无输入字符串
        if(s.hasNext()){
            // 使用nextLine接收
            String str = s.nextLine();
            System.out.println(str);
        }
        // 关闭,属于IO流的类如果不关闭会一直占用资源
        s.close();
    }
}

案例:

package com.lzr.scanner;
import java.util.Scanner;
/**
 * @version: java version 1.8
 * @Author: lzr
 * @description:
 * @date: 2023-02-10 上午 10:43
 */
public class Demo04 {
    public static void main(String[] args) {
        System.out.println("请输入数字,以非数字字符作为输入结束");
        Scanner scanner = new Scanner(System.in);
        // 和
        double sum = 0;
        // 计算输入了多少个数字
        int count = 0;

        while(scanner.hasNextDouble()){
            double num = scanner.nextDouble();
            sum += num;
            count ++;
        }
        System.out.println("输入了"+count+"个数字,总和为:"+sum+"平均数为:"+(sum/count));
        scanner.close();
    }
}

二、顺序结构

  • 按从上到下的顺序执行代码

三、选择结构

1. if单选择结构

语法:

if(布尔表达式){
  // 如果布尔表达式为true时执行的语句
}
2. if双选择结构

语法:

if(布尔表达式){
  // 如果布尔表达式为true时执行的语句
}else{
  // 如果布尔表达式为false时执行的语句
}
3. if多选择结构

语法:

if(布尔表达式1){
  // 如果布尔表达式1为true时执行的语句
}else if(布尔表达式2){
  // 如果布尔表达式2为true时执行的语句
}else if(布尔表达式3){
  // 如果布尔表达式3为true时执行的语句
}else{
  // 如果以上布尔表达式都不为true时执行的语句
}
4. 嵌套的if结构

语法:

if(布尔表达式1){
  // 如果布尔表达式1为true时执行的语句
  if(布尔表达式2){
    // 如果布尔表达式2为true时执行的语句
  }
}
5. switch选择结构

语法:

switch(expression){
    case value:
      // 语句
      break;// 可选
    case value:
      // 语句
      break;// 可选
    default :// 可选
        // 语句
}

switch中的变量类型可以是byte、int、short或者char,在Java 7开始,支持String类型,同时case标签必须是字符串常量或者字面量

标签:语句,控制,Java,Scanner,流程,System,输入,表达式,布尔
From: https://www.cnblogs.com/xiubai/p/17108460.html

相关文章