为什么这里可以这样写?底层原理是什么,没能理解。。。。

FileInputStream fis=new FileInputStream("imooc.txt");
//这里竟然可以直接把赋值语句当作值来处理了,是因为赋值语句中存在return?
While((n=fis.read())!=-1){
System.out.print((char)n);
}
23
收起
正在回答
1回答
同学你好,“((n=fis.read()) != -1)”此代码先执行n=fis.read(),将fis.read()的返回值赋值给n后,再将n的值与-1进行比较,即判断的是 n!=-1,所以可以书写为n=fis.read()) != -1。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星