Java读书笔记——04 输入输出

读取输入

通过控制台输入

import java.util.Scanner;

//构造Scanner对象
Scanner scan = new Scanner(System.in);
//输入一行
String name = scan.nextLine();
//读取一个单词(以空白符作分隔符)
String firstName = scan.next();
//读一个整数 等等
int age = scan.nextInt();

//读取密码时Scanner不安全,用Console
//Console每次只能读取一行输入,不方便。
Console cons = System.console();
String username = cons.readLine("User name:");
char[] passwd = cons.readPassword("Password:");

Scanner:
• boolean hasNext( )
检测输入中是否还有其他单词。
• boolean hasNextInt( )
• boolean hasNextDouble( )
检测是否还有表示整数或浮点数的下一个字符序列。

System:
• static Console console( ) 6
如果有可能进行交互操作,就通过控制台窗口为交互的用户返回一个Console对象,否则返回null。对于任何一个通过控制台窗口启动的程序,都可使用Console对象。否则,其可用性将与所使用的系统有关。

Console:
• static char[] readPassword(String prompt, Object…args)
• static String readLine(String prompt, Object…args)
显示字符串prompt并且读取用户输入,直到输入行结束。args提供输入格式。

格式化输出

跟C类似,用printf方法。f:浮点数 s:字符串 d:十进制整数
第二句idea一直报错,用cmd就行,现在看来是idea里面jdk版本问题

System.out.printf("Hello,%s.Next year, you'll be %d",name,age);
//,标志增加分组分隔符; %.2f表示保留两位小数
System.out.printf("%,.2f",10000.0/3.0);//3,333.33

//String.format创建格式化字符串,而不打印输出。
String message = String.format("Hello,%s.Next year, you'll be %d",name,age);

这里写图片描述

文件输入与输出

//文件名中有\时在每个\前再加一个\
Scanner in = new Scanner(new File("c:\\mydirectory\\myfile.txt"));
//写入文件
PrintWriter out = new PrintWriter("c:\\mydirectory\\myfile.txt);

若指定文件位置时用相对路径,则是相对Java虚拟机启动路径的位置。若在命令行下启动,路径为命令解释器路径。可以用绝对路径。

• PrintWriter(File f)
构造一个将数据写入给定文件的PrintWriter。
• PrintWriter(String fileName)
构造一个将数据写入文件的PrintWriter。文件名由参数指定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值