学习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();
}
}