本帖最后由 马州州 于 2012-8-10 23:55 编辑
简单的两个小程序,说明一下问题
import java.io.*;
class Test
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("DateDemo.java");
char[] buf = new char[3];
int num =0; 问题来了,这里为什么在定义变量num的时候要让他等于0,不让他等于0,程序照样正常运行,如果是为了程序的安全问题,
在下面的while循环之后,num是=-1
while((num=fr.read(buf))!=-1)
{
System.out.println(num);
System.out.println(new String(buf,0,num));
}
fr.close();
System.out.println(num);
}
}
程序2、
import java.io.*;
class BufferedReaderDemo
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("buf.txt");
BufferedReader bufr = new BufferedReader(fr);
String line = null; 这里跟上面一样,为什么要定义一个初始值呢,如果是为了再次调用,那么这里的值还是null 上面是-1,如果下面还有程序要调用这个值,
不还是得重新赋值?为什么要让line=null;
while((line=bufr.readLine())!=null)
{
System.out.print(line);
}
bufr.close();
}
}
问题
上面的程序int num= 0;下面的程序String line=null;这里为什么在定义变量的时候要定义一个初始值
如果不定义的话,也不会影响程序正常运行,那么为什么要定义?如果不定义的话,有什么危害?
ps:就是这种小问题最纠结人啊,虽然知道要这么做,也能记得住,但是不知道为什么的话,就是心理难受,非得弄明白了 |