这周的时间我主要学习了IO流以及做考核任务。
IO流的话我主要学习了创建一个新的文件(File file = new File(路径))、创建字符输入流(FileReader fileReader = new FileReader(file);)、读取控制台输入(BufferedReader bufferedReader = new BufferedReader(fileReader);)、创建字符输出流(FileWriter fileWriter = new FileWriter(file);)、写入到文件中(BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);),当然还有刷新缓存区、写入到文件中(bufferedWriter.flush();),关闭输入流(fileReader.close();)、关闭输出流(fileWriter.close();)。还有很多很多,但是我暂时想不起来了,想起来之后会继续总结的。
下面就是我做的项目啦,说实话,做项目真的能让你看到自己的很多不足之处,比如说知识的综合运用性、代码优化性、、尽可能从用户层面考虑到一些其他可能的需求。但是我也从中学到了很多新的东西,如下所示:
1.命名要是用驼峰命名法,包名用大驼峰命名法、类名用小驼峰命名法。
2.不同功能的代码要分层分包分类来写,这样既能有一定的逻辑性,而且能降低耦合性,使代码简化。
3.try catch语句。try中是可能出现异常的代码,catch后加异常类名。代码执行顺序则为从try内的代码出现异常的那一行开始,中断执行,随后执行对应的catch块内的代码。
4.equals和==的区别:equals比较的是内容,如果内容相同,则两个对象相同;而==比较的是地址,如果地址相同才说明相同,如果地址不同而仅仅是内容相同,这说明两个对象不相同。并且用equals比较时,一般将确定的对象放在前面,如“123”。
5.str.subString(start,end)表示,在str的字符串中,从第start位置起,取length个字符长度。
6.\n表示将光标移到下一行的开始,\r表示将光标移到当前行的行首,但不移到下一行。
7.str.split(" ")表示当碰见空格时,则将内容分隔开,但是所有的数据都可以储存起来。
8.while的死循环为while(true){}.
9.遍历的三种方式(1)for循环。(2)foreach循环。(3)迭代器。
10.FileWriter(File file,boolean append).file指要写入数据的File对象。当append参数为true时,则字节写入文件末尾处,相当于追加信息;若为false时,则写入文件开始处,并把文件之前的内容清空。
11.调用其他包中的类时,格式为:包名.类名(前提是被调用的类必须被定义为public)。
12.static表示静态。静态方法(变量)只能调用静态方法(变量);而非静态方法(变量)既能调用非静态方法(变量),也能调用静态方法(变量)。静态方法(变量)在程序启动时会被加载在内存中,非静态方法(变量)只有在调用时才会被加载到内存中。
以上是我一边做项目,一边总结的学到的新知识,可能有的挺简单的,但我还是忘了,不过我会多记几遍,熟能生巧嘛。有的知识可能没有总结到,我会继续总结的。下周我会紧跟小组布置的任务,另外由于我的基础较差,并且逻辑思维能力也比较差,所以我在接下来会利用闲暇的时间来夯实基础,总结知识,培养逻辑思维能力。加油!!!