Java中的标准输入输出

读取输入

 

如果想要通过控制台进行输入,那么首先需要构造一个Scanner对象,并与“ 标准输入流”System.in关联

Scanner in = new Scanner(System.in);

现在, 就可以使用 Scanner 类的各种方法实现输入操作了

 

其中,所用到的Scanner类定义在 java.util 包中,所以需要import加载相应的包

当使用的类不是定义在基本 java.lang 包中时, 一定要使用 import 指示字将相应的包加载进来

 

Scanner中的常用api:

String nextLine() 

  • 读取输入的下一行内容

例如:

System.out.print("What is your name? "); 
String name = in.nextLine();

String next()

  • 读取输入的下一个单词(以空格作为分隔符)

int nextInt()

double nextDouble()

  • 读取并转换下一个表示整数或浮点数的字符序列

boolean hasNext()

  • 检测输人中是否还有其他单词

boolean hasNextInt()

boolean hasNextDouble()

  • 检测是否还有表示整数或浮点数的下一个字符序列

 

因为输入是可见的, 所以 Scanner 类不适用于从控制台读取密码。Java SE 6 特别 引入了 Console 类实现这个目的。

 

格式化输出

 

常见的标准输出流System.out.println使用起来还是蛮简单的。

System.out.println("hello, world");

 

那么考虑下面一种情况:

double x = 10000.0 / 3.0;
System.out.println(x);

输出

3333.3333333333335

如果输出的值表示的是钱的多少,那么太多的小数点位数就显得很不方便了

庆幸的是, Java SE 5.0 沿用了 C 语言库函数中的 printf 方法。 例如, 调用

System.out.printf("%8.2f", x);

其可以用 8 个字符的宽度和小数点后两个字符的精度打印 x,也就是说, 打印输出一个空格和 7 个字符

输出

 3333.33

 

在printf中,每一个以 % 字符开始的格式说明符都用相应的参数替换

 

另外, 还可以给出控制格式化输出的各种标志。 表 3-6 列出了所有的标志。 例如, 逗号 标志增加了分组的分隔符

System.out.printf("%,.2f", x);

输出

3,333.33

 

可以使用s转换符格式化任意的对象

 

可以使用静态的 String.format 方法创建一个格式化的字符串, 而不打印输出:

String message = String.format("Hello, %s. Next year, you'll be %d", name, age);

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值