Hier ist meine Frage: normal, während sieht Schleife wie diese -while-Schleife mit einem readline()
while(condition){statements}
und Anweisungen ausführen, bis die Bedingung false
und die Schleife wird ist vorbei. Ich interessiere mich für Logik dieser Art von Aussage:
while((a=b.readLine) != null) { ... }
Es ist in Client-Server-Kommunikation in meinem Fall verwendet. Die Bedingung ist manchmal wahr, manchmal nicht, aber Schleife sieht so aus, als würde sie die Bedingung für immer testen, und wenn sie wahr ist, werden Anweisungen in {}
ausgeführt. Es sieht für mich aus, dass die Schleife darauf wartet, dass die Bedingung wahr ist, und dann Anweisungen ausführt. Ist es irgendwie mit der Art und Weise verbunden BufferedReader
und InputStreamReader
arbeiten oder was? Es scheint auch, dass diese Schleife nie vorbei ist, wartet nur auf eine Bedingung, um true
zu sein, und dann Anweisungen ausgeführt wird, und dann wieder auf eine Bedingung wartet, um true
usw. zu sein. Ich wäre für jede Erläuterung dankbar.
Wenn Sie ein "Null" -Objekt an den Server senden, auf den Sie sich beziehen, würde es sich herauswerfen. – 3kings
'BufferedReader', wenn' readLine() 'aufgerufen wird, wird' null' zurückgeben, wenn es alle Zeilen einer Datei – Maljam
@ 3kings Nonsense erschöpft. Sie können kein Null-Objekt senden. Die Schleife wird beendet, wenn 'readLine()' null zurückgibt, was am Ende des Streams geschieht. Sieh den Javadoc. – EJP