学习java有一月半,对于之前我一直不能理解的形式参数是类名+变量名,现在我有了自己的一种理解方式。就是如果你想要使用一个类的成员变量和成员方法,就可以传这个类的对象进去。到时,只要对象名(变量).某个成员变量,或者.方法就可以使用了。到时调用这个方法,只要new一个对象作为形式参数传进去就可以了。

    对于那个ArrayList容器,我当时也是一只半解。其实很好理解,它是容器,使用它第一步要先创建一个容器,ArrayList arraylist = new Arraylist();这里其实可以使用泛型,这样容器可以存储数据类型,也可以存储引用类型。ArrayList<T> arraylist = new Arraylist<T>(); 第二步,这里我举例的是存储引用类型的,我们可以创建学生对象,Student s1 = new Student("cx1",1);  Student s1 = new Student("cx2",2);  这里就存俩个数据。  第三步:就是往容器里面添加数据,容器ArrayList有一个方法add(),所以  arraylist.add(s1);arraylist.add(s2);   第四步,可以遍历这个数组,这里我们可以使用增强for。   

                         for(元素类型  元素名 : 数组名)

                         {

                            System.out.println(元素名);

                          }  就这几步,解决了存储的功能。

     还有那个输入输出流,也是相当容易理解。很多种流,但是仔细观察,步骤都是相似的。这里我就列举2个:字符输出流与字符输入流。(FileRead,FileWrite)

先写FileWrite后写FileRead

因为后面会需要抛异常处理,还有判断流是否为空,所以先把流的初始值定义为空。

FileWrite fw = null;

FileReader fr = null;

//定义文件所在路径,这里以“D:\\text.txt”为例

String pash = “D:\\text.txt”

//定义一段你要写入的字符串

String str = “sfdsgfdhgdj”;

//创建FileWrite 对象,把路径给他

fw = new FlieWrite(pash);

//开始写

fw.write(str);

//写完记得把缓冲区里的数据强行退出,以免残留

fw.flush();

//接下来就开始写输入流了,创建输入流对象,把文件所在路径传给他

fr = new FileReader(pash);

//因为是字符流,所以我们可以定义一个字符数组,以一定的长度来读

Char []ch = new Char[1024];

//因为我们要判断是否有字符让我们来读,通过阅读Api,我们知道,当没有数据读的时候,它返回的

//是-1所以我们可以以这个作为循环的判断条件,定义一个变量,来接收返回值,还要定一StringBuffer

//的对象,来把读取到的数据拼接起来

int len;

while(-1 != (len = fr.read(ch)))

{

    buffer.append(new String(ch ,0, len));

}

System.out.println(buffer.toString())

//最后记得把流关闭,把他写在fanlly里

finally{

    //判断流是否为空,不为空再把他关闭

    if(fw != null)

    {

        fw.close();

    }


    

     if(fw != null)

    {

        fr.close();

    }

}