gpt4 book ai didi

java - 带 readLine() 的 while 循环

转载 作者:行者123 更新时间:2023-12-02 13:24:57 28 4
gpt4 key购买 nike

这是我的问题:正常的 while 循环看起来像这样 -

while(condition){statements} 

and 语句执行直到条件变为 false 并且循环结束。我对这种陈述的逻辑感兴趣:

while((a=b.readLine) != null) { ... } 

在我的例子中,它用于客户端-服务器通信。条件有时为真,有时不为真,但循环看起来像是永远测试条件,当为真时,{} 中的语句将执行。在我看来,循环等待条件为真,然后运行语句。它是否以某种方式与 BufferedReader 和 InputStreamReader 的工作方式相关联?另外,这个循环似乎永远不会结束,它只是等待条件为 true,然后运行语句,然后再次等待条件为 true,等等.如果有任何澄清,我将不胜感激。

最佳答案

while((a = b.readLine()) != null){ ... }

在每次迭代时,都会评估括号内的条件。

评估此表达式包括调用 b.readLine(),将返回值影响到 a,并将 a 与 null 进行比较。

如文档所述,调用 readLine() 会阻塞,直到读取下一行。如果没有下一行,readLine() 返回 null。

因此,简而言之,这个 while 循环从读取器读取每一行,对该行(在 while block 内)执行某些操作,并在到达流末尾时停止。

关于java - 带 readLine() 的 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36209938/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com