不可以这样定义吗? FileReader fr = new FileReader("c:/mydoc/hello.txt"); BufferedReader br = new BufferedReader(fr);//下面这句错了吗? while (String str2 = br.readLine()!= null) { System.out.println(str2); str2 = br.readLine(); } fr.close(); br.close(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 while判断里面的代码是从右向左执行的,你这样等于是while (String str2 = (br.readLine()!= null)) {这样的话while判断里面是一个String,所以不行啊 但是while ((String str2=br.readLine())!= null) { System.out.println(str2); str2 = br.readLine(); } fr.close(); br.close();还是错的 String str2; while ((str2=br.readLine())!= null) { System.out.println(str2); str2 = br.readLine(); } fr.close(); br.close();这样却没有问题,为什么? 但是while ((String str2=br.readLine())!= null) { System.out.println(str2); str2 = br.readLine(); } fr.close(); br.close();还是错的 String str2; while ((str2=br.readLine())!= null) { System.out.println(str2); str2 = br.readLine(); } fr.close(); br.close();这样却没有问题,为什么? 从右向左执行的时候,先执行的判断再赋值,而while里面最后是这样的while(str2=true)或while(str2=false)这就不是一个判断语句了,所以会报错,需要读出来的数据先赋值给str2,然后再进行比较 因为String str2=br.readLine()是变量定义;而声明了str2后,str2=br.readLine()只是一个初始化表达式,跟普通的赋值表达式一个样。普通的赋值表达式返回一个跟等号右边的值完全相同的值,所以可以跟null进行比较;而变量定义有返回值么都难说…… 一个就是错的东西,你偏偏较劲,让错的说成是对的,有点无聊啊。String str = 1234;是错的,int str = 1234;是对的,有那么多为什么吗? 求当当网代码 JDK7 Jmenu 可以鼠标移上去就改变颜色吗? 菜鸟请教JAVA问题 请问这个程序中join的作用是什么? 救命啊:请问 怎么发不了邮件??? 请问java中能否支持操作符重载 多达300本的经典书籍,都可以下(绝对经典) 乱码!!!!!在线等待 help: web组件求助!! 适配器问题谁帮我解决一下 java数组的一些数据结构
但是
while ((String str2=br.readLine())!= null) {
System.out.println(str2);
str2 = br.readLine();
}
fr.close();
br.close();
还是错的
String str2;
while ((str2=br.readLine())!= null) {
System.out.println(str2);
str2 = br.readLine();
}
fr.close();
br.close();这样却没有问题,为什么?
但是
while ((String str2=br.readLine())!= null) {
System.out.println(str2);
str2 = br.readLine();
}
fr.close();
br.close();
还是错的
String str2;
while ((str2=br.readLine())!= null) {
System.out.println(str2);
str2 = br.readLine();
}
fr.close();
br.close();这样却没有问题,为什么?
普通的赋值表达式返回一个跟等号右边的值完全相同的值,所以可以跟null进行比较;
而变量定义有返回值么都难说……
String str = 1234;是错的,int str = 1234;是对的,有那么多为什么吗?