这段WHILE语句怎么理解?

问题描述:

这段WHILE语句怎么理解?
while ((bytes = in.read(bteFile)) != -1)
{
out.write(bteFile, 0, bytes);
}
JAVA中的,之前没见过这种.
特别是这个条件判断
((bytes = in.read(bteFile)) != -1)
这个((bytes = in.read(bteFile))的意思是将值赋给bytes对吧,但是最外层又加了一堆括号是什么意思?表示的是里面赋值成功返回1么?为什么是-1?
应该理解成bytes = in.read(bteFile),然后看看byte的值是否等于-1么?
1个回答 分类:综合 2014-11-11

问题解答:

我来补答
功能就是说按文件每行读取
直至读完为止
程序理解是:
bytes = in.read(bteFile)是个赋值语句
bytes最终就是in.read(bteFile)的值
in.read(bteFile)读到最后一行没有数据时返回-1
所以bytes就等于-1了
而bytes != -1是判断语句 判断是否读完文件
---------------
也就是读文件常用的写法是这样
平时不建议这么写
程序可读性不好
 
 
展开全文阅读
剩余:2000
下一页:绘图