java中的普通输入和快速输入

java中的普通输入和快速输入

一、普通输入(简单但是相对较慢)

java的输入方法最常见的就是Scanner类

1、使用步骤

  1. 创建类变量

    Scanner in = new Scanner(System.in);
    
  2. 调用方法进行输入

    int a = in.nextInt();
    

2、常用方法

  1. nextInt()
  2. nextFloat()
  3. nextDoule()
  4. next()
  5. nextLine()

注意:

nextlnt():只读取int值,就是只能读取整数类型的数据,如果输入了非整型的数据(浮点型字符串等)就会报错。
nextFloat()、nextDouble()这些也是以此类推,只能读取符合该类型的数据。

next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)

nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。

3、使用示例

public class Test {
    public static void main(String[] args) throws IOException {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int a = in.nextInt();
        System.out.println(a);
        System.out.println("请输入一个float");
        float b = in.nextFloat();
        System.out.println(b);
        System.out.println("请输入一个double");
        double c = in.nextDouble();
        System.out.println(c);
        System.out.println("请输入一个字符串(空格结尾)");
        String d = in.next();
        System.out.println(d);
        System.out.println("请输入一个字符串(换行结尾)");
        String e = in.nextLine();
        System.out.println(e);
    }
}

二、快速输入(复杂但是比Scanner快很多)

快速输入使用的是BufferedReader、BufferedWriter等

1、使用步骤

  1. 创建类变量

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); // 输入流
    StreamTokenizer st = new StreamTokenizer(in); // 解析输入
    
  2. 调用方法

    // 读取一个数字
    st.nextToken();
    int n = (int) st.nval;
    // 读取一个以字母开头的字符串,空格结尾
    st.nextToken();
    String s1 = st.sval;
    

2、常用方法

  1. nextToken()

注意:

想要输入就必须调用nextToken,然后使用nval来获取数值

sval接受的字符串必须以字母开头,数字开头的不行

3、使用示例

public class Test {
    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); // 输入流
        StreamTokenizer st = new StreamTokenizer(in); // 解析输入
        System.out.println("请输入一个整数:");
        st.nextToken();
        int n = (int) st.nval;
        System.out.println("请输入一个非数字开头的字符串");
        st.nextToken();
        String s = st.sval;
        System.out.println(s);
    }
}
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值