首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 迴圈缺少大括號導致僅執行第一句:for 循環正確寫法

     編輯:程式設計綜合問答

錯誤代碼

for (int i = 0; i < arraylistSelectedConsumerIds.size(); i++)
    ConsumerId = arraylistSelectedConsumerIds.get(i);
databaseAdapter.updateEmailmark(ConsumerId); // 僅執行一次,i 為最後值
Toast.makeText(...);

原因

Java 中無大括號的 for/if/while **僅將緊接的下一條語句視為循環體**。上例中只有賦值語句在循環內,後兩行在循環外。

修正

for (int i = 0; i < arraylistSelectedConsumerIds.size(); i++) {
    ConsumerId = arraylistSelectedConsumerIds.get(i);
    databaseAdapter.updateEmailmark(ConsumerId);
    Toast.makeText(AdminActivity.this, "consumer id " + ConsumerId, Toast.LENGTH_LONG).show();
}

最佳實務

  • **永遠加上大括號**,即使只有一行,防止後續修改引入 Bug。
  • 使用 IDE 格式化(Ctrl+Shift+F)自動補全。
  • 靜態分析工具會警告缺少大括號的控制結構。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved