java控制台的输入与输出

  1. 输出:

一个是输出并换行,一个是输出不换行,还有一个是格式化输出

System.out.println("Hello world!");        
System.out.print("Hello ");
System.out.println("world!");
//%d 是整行,%s是字符串,%b布尔类型,%f浮点类型
//占位符和后面的变量名一一对应
System.out.printf("%d/%s%b",变量名1,变量名2,变量名3);
//第1行输出的结果与第2行加上第3行输出的结果是一样的。

2.输入:

输入就比较复杂了,需要导入一个包(java.util.Scanner)。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个数字");
        int in = scanner.nextInt();
        System.out.print(in);
        System.out.print("请输入一个浮点");
        double dou = scanner.nextDouble();
        System.out.print(dou);
        System.out.print("请输入一个字符");
        String ch = scanner.next();
        System.out.print(dou);
    }
}

1.接受字符串的方法有两个:

String str = scanner.next();
String str1 = scanner.nextLine();
next()与nextLine()的区别:
next():
  1. 一定要读取到有效字符后才可以结束输入。

  1. 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。

  1. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

next() 不能得到带有空格的字符串。

nextLine():
  1. 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

  1. 可以获得空白。

如果要输入int或float类型的数据,再Scanner类中也有支持,但是再输入之前最好先使用hasNextXxx()方法进行验证,再使用nextXxx()来读取:

import Java.util.Scanner;

public class ScannerDemo{
    public static void main(String[] args) {
            Scanner scanner= new Scanner(System.in);
            System.out.print("输入整数:");
            //判断输入的是否是整数
            if (scanner.hasNextInt()){
                //接受整数
                int i=scanner.nextInt();
                System.out.println("整数数据:"+i);
            }else {
                //输入错误信息
                System.out.println("输入的不是整数!");
            }
            System.out.print("输入小数:");
            if (scanner.hasNextFloat()){
                //判断输入的是否是小数
                float f=scanner.nextFloat();
                //接受小数
                System.out.println("小数数据:"+f);
            }else {
                //输入错误信息
                System.out.println("输入的不是小数!");
            }
            //关闭此扫描器
            scanner.close();
        }    
}

当然如果输入错误想再次输入就得把类重新赋值:

public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        while (true){
            System.out.print("请输入整数:");
            if (scanner.hasNextInt()){
                int i = scanner.nextInt();
                System.out.println("你输入的值是:"+i);
                break;
            }else {
                scanner = new Scanner(System.in);
                System.out.println("你的输入错误.请重新输入!");
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/zouzxxi/article/details/129266917