读取输入
首先构造一个Scanner对象,并与“标准输入流”System.in关联
Scanner in = Scannner(System.in);
- 使用Scanner.nextLine方法输出一行
String name = in.next:ine();
使用nextLine方法输入有可能含有空格因此读取一个单词就可以调用String firstName = in.next();
想要读取一个整数则使用int age = in . nextInt();
想要读取一个浮点数,调用nextDouble
方法
*使用import指事字将相应的包加载进来,import java.util.*;
- Scanner 类不适用于控制台读取密码,使用Console类实现
Console cons = System.console();
char[] passwd = cons.readPassword("Password:");
为了安全起见密码存放在字符数组中,而不是字符串中,每次只能读取一行输入。
- String next() 读取输入的下一个单词(以空格作为分隔符)
格式化输出
使用printf方法
- 目前printf支持以下格式:
%c 单个字符
%d 十进制整数
%f 十进制浮点数
%o 八进制数
%s 字符串
%u 无符号十进制数
%x 十六进制数
%% 输出百分号%
一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾书及左对齐等:
- 左对齐
+ 在一个带符号数前加"+"或"-"号
0 域宽用前导零来填充,而不是用空白符
域宽是一个整数,设置了打印一个格式化字符串的最小域。精度使用小数点后加数字表示的 - 使用静态String.format 方法创建一个格式化字符串而不打印输出
String messate = String.format("Hello,%s.Next year,you`ll be %d",name ,age);
- f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。 - d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
日期格式化
它以 %t
开头并且以下面表格中的一个字母结尾。
- 重复提供日期,索引必须紧跟在%后面,而且必须以$结束
System.out.printf("%1$s %2$tB %2$td, %2$tY",
"Due date:", new Date());
文件输入和输出
用File对象构造一个Scanner对象
Scanner in = new Scanner (Path.get("myfile.txt","UTF-8")
- 想要写入文件就需要构造一个PrintWriter对象
PrintWriter out = new PrintWriter("myfile.txt","UTF-8");
如果文件不存在,创建改文件
网友评论