【自学java笔记#第六天#】Java的基本程序设计结构

选用教材:《Java核心技术卷一》

第三章 Java的基本程序设计结构

3.7 输入与输出

3.7.1 读取输入

采用Scanner对象来读取输入:

1、先构造一个Scanner对象:

Scanner in = new Scanner (System.in);

2、使用Scanner对象的方法来读取数据:

例:String message = in.nextLine();  //读取下一行的字符串

String message = in.nextInt();  //读取下一行的整形数据

3、因为Scanner对象不在java.lang包中,所以代码最前面要加一条代码:import java.util.*;

4、调用Scanner对象时有可能出现的问题是:Resource leak:XXX is never closed.

解决方法:

当XXX代表in变量时,只需在main方法外加一条标注:@Supperwarnings("resource")

这条标注的作用是:对代码元素内部的某些指令保持静默

当XXX代表其他的变量时,则要在main方法结束以后加一条代码:XXX.close();

这条代码的作用是:释放内存

3.7.2 格式化输出

Java中沿用了C语言函数库中的printf方法

例如:System.out.printf("%8.2f",X);

%号是固定格式符,8将输出结果限定在8个字符以内,“.2”代表浮点数的精度,即小数点后2位,f代表浮点数float

1、可以为printf提供多个参数

2、只有用printf函数,才能同时输出String和int等多种数据类型

3、还可以用指定控制格式符来输出外观的各种标志

4、静态的format方法

用法:String message = String.format("内容",参数);

用format创建了一个字符串message,它并不会打印输出

5、printf方法中日期和时间的格式化选项

对于新的代码,应该采用java的time包;对于老代码,还是使用格式符

例:System.out.printf("%tc",new Date());

%t是固定格式,c代表的是完整的日期和时间

6、参数索引

必须紧跟在%号之后,并以$终止

3.7.3 文件输入与输出

1、文件的输入:

第一步:先构造一个Scanner对象:

Scanner in = new Scanner(Path.of("myfile.txt"), StandardCharsets.UTF_8)

双引号里面的内容是myfile文本文件存在的完整路径

第二步:运用Scanner对象的各种方法读取数据:

例:String name = in.nextLine();

2、文件的输出:

第一步:先构造一个PrintWriter对象:

PrintWriter out = new PrintWriter("myfile.txt",StandardCharsets.UTF_8);

和上面一样,双引号里是保存myfile文件的完整路径

第二步:运用print、printf等方法向文件中写入内容:

例:out.println("message");

第三步:最后一定要释放内存:out.close();

 

posted @ 2020-03-07 19:43  一只奶鹿  阅读(165)  评论(0)    收藏  举报