您的位置:首页 > 其它

for循环,你真的用过这样的for循环吗?

2016-06-08 21:09 246 查看
1、for循环,本来不想写点啥,最常见的写法,for(初始化值;判断循环条件是否继续;改变值),这是最普通的用法了。

public class StrTest {
public static void main(String args[]) {
for(int i = 0; i < 5; i++) {
System.out.println(i);
}
}
}

2、还有后来引用的 foreach用法,中文名字叫增强型for循环,我更喜欢叫高级循环,常常用来遍历数组、遍历集合,语法精炼了不少
public class StrTest {
public static void main(String args[]) {
int i[] = {1, 2, 3, 4, 5};
for(int temp : i) {
System.out.println(temp);
}
}
}

3、还有无限死循环的……,啥也不说了
for(;;)

4、直到我看到下面这个用法,太你妈的精炼了,cursor首先移到第一条记录上(position = 0),又判断cursor是否到最后一条记录,自增又用移动cursor的position + 1。
牛逼的用法,这是有多精简………………

private void getDownloadCount(Cursor cursor) {
if (cursor != null && !cursor.isClosed()) {
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
int status = cursor.getInt(mStatusColumnId);
if (EmptyMatrixCursor.TYPE_TITLE == status) {
mDownloadingCount = cursor.getInt(mCurrentBytesColumnId);
mDownloadedCount = cursor.getInt(mTotalBytesColumnId);
break;
}else if(EmptyMatrixCursor.TYPE_ALL_EMPTY == status){
mDownloadingCount = 0;
mDownloadedCount = 0;
break;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: