①构建字符串(注意和字符串的对比学习)
有时候,需要由较短的字符串构建字符串,例如,按键或来自文件中的单词。采用字符串连接的方式达到此目的效率比较低。每次连接字符串,都会构建一个新的字符串String对象,真是浪费!在以前可是会被打死的!现在,使用StringBulider就可以避免这个问题。
如果需要许多小段的字符串构建一个字符串,那么应该按照下列步骤进行。首先,我们构建一个空的字符串构建器:
StringBulider bulider = new StringBulider();
当每次需要添加一部分代码时候,就调用append方法。
bulider.append(ch); //appends a single character
bulider.append(str);//appends a string
在需要使用String的相关方法,或想得到String时,就可以调用toString方法,将可以得到一个String对象,其中包含了构建器中的字符序列。
String completedString = bulider.toString();
建议查阅关于 StringBulider的相关API,注意和String对比。
②输入输出
1.读取输入:要想通过控制台进行输入,首先要构造一个Scanner对象,并与“标准输入流“System.in关联。
Scaner in = new Scanner(System.in)
现在,就可以使用Scanner类的各种方法实现了输入操作了。例如,nextLine方法将输入一行。
System.out.print("What is your name?");
String name = in.nextLine();
在这里nextLine是按一行读取的,在输入中可能包含空格。要想读取一个以空白符作为分割的单词,需要使用newt()。
String name = in.next();
与此类似,要想读取下一个浮点数,就调用nextDouble方法。
建议查阅相关 Scanner 的相关API
③文件的输入与输出
要想对文件进行读取,就需要用一个File对象构造一个Scanner对象,如下所示:
Scanner in = new Scanner(Paths.get("myfile.txt"),"UTF-8");
如果文件名中包含反斜杠符号,就要记住在每个反斜杠之前再加一个额外的反斜杠: “c:\mydirectory\myfile.txt”(强烈建议写绝对路径)
现在,就可以利用前面说过的任何一个Scaner方法对文件进行读取。
要想写入文件,就需要构造一个PrintWriter对象。在构造器中,只需提供文件名:
PrintWriter out = new PrintWriter()
如果文件不存在,就创建该文件。可以像输出System.out()一样使用print,println,printf命令。