java中next()、nextInt()、nextLine()区别

Scanner 使用分隔符模式将其输入分解为标记,然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。默认情况下该分隔符模式与空白匹配。即

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        List list = new ArrayList();
        System.out.println("使用nextInt()方法,并且输入为:");
        for (int i = 0; i < 5; i++) {
            list.add(in.nextInt());
        }
        System.out.print("输出为:");
        System.out.println(list);
    }

  输出如下:

即当输入数字中间为空格时,默认空格为分割符将数字分割开来


 可通过如下两个方法更改分割符:

 

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        in.useDelimiter(",");
        List list = new ArrayList();
        System.out.println("使用nextInt()方法,并且输入为:");
        for (int i = 0; i < 5; i++) {
            list.add(in.nextInt());
        }
        System.out.print("输出为:");
        System.out.println(list);
    }

  输出为:

此使输入数字之间的分隔符为",",若继续用空格则报错。


 nextInt():读取int类型的值,取值后,并不换行

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("输入:");
        int num = in.nextInt();
        String str = in.nextLine();
        System.out.println("输出:");
        System.out.println(num);
        System.out.println(str);
    }

  

nextInt()读取值后,并没有读取“\n",因此没有换行,nextLine()读取"\n"并换行输出


next():查找扫描器中的下一个标记

 

public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("输入:");
        String num = in.next();
        String str = in.nextLine();
        System.out.println("输出:");
        System.out.println(num);
        System.out.println(str);
    }

  

与nextInt()类似,不自动换行

 


nextLine():读取内容并自动换行

 

posted @ 2019-07-07 22:22  开坦克的舒克  阅读(9363)  评论(0编辑  收藏  举报