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

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。
祝学习愉快~
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星