[英]How does this condition work in this while-loop?
while ((len = var1) != -1)
{
// do something
}
哪個與-1比較? len
或var1
嗎?
這是Java EE。
賦值var = val
的返回值是賦值val
。 因此,這里發生的是為len
分配了var1
的值,如果(在分配之后)其值不等於-1
,則進入循環。
我想,最技術性的答案是,您正在將len
與-1進行比較,但這並不能真正捕獲正在發生的情況。
真正的實際情況是,對於每次檢查,您都將len
設置為var1
,然后將len
進行比較。 因此,即使我沒有記錯,即使計算機實際上在比較len
,它也總是會被var1
的值替換,因此代碼在功能上與
len = var1;
while(var1 != -1)
{
len = var1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.