import java.io.*;
class FileReaderTest
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("javaee.java");
char[] buf = new char[1024];
int num = 0; // 改变条件 int num = fr.read(buf);
while((num=fr.read(buf))!=-1) // 改变条件 while(num != -1)
{
System.out.println(new String(buf,0,num));
}
}
}
以上的代码打印如下:
但是将
int num = 0; // 改变条件 int num = fr.read(buf);
while((num=fr.read(buf))!=-1) // 改变条件 while(num != -1)
这两段代码做注释中的改变后会打印如下的显示
出现了死循环,是因为 while循环条件改变为
while(num!!= -1)出现了条件为true,死循环吗?
但是这两者条件的改变是因为num=fr.read(buf),成为了全局变量,而改变了原来在while条件中的局部变量的属性吗?
还是因为什么?
|