Java代码:for循环中的控制变量

时间:2015-08-10 10:05:16

标签: java variables for-loop optimization

for (int page = 0; page < pageNum;) {
    copy.addPage(copy.getImportedPage(reader, ++page));
}

这里的++页面是控制变量得到修改,如何以更好的方式实现?

4 个答案:

答案 0 :(得分:4)

当您无法控制增量操作时,请尝试使用while

int page=0;
while(page<pageNum){
    copy.addPage(copy.getImportedPage(reader, ++page));
}

答案 1 :(得分:3)

你是说这个吗?

for (int page = 0; page < pageNum; page++) {
    copy.addPage(copy.getImportedPage(reader, page+1));
}

答案 2 :(得分:1)

copy.addPage(copy.getImportedPage(reader, ++page));

使用预增量运算符,该值将首先更新

,即将使用递增的页面值1来调用

copy.addPage(copy.getImportedPage(reader, page++));

使用后增量运算符,该值将在

之后更新

,即将使用页面的非递增值调用0

根据您的要求使用前置或后置增量运算符。

答案 3 :(得分:0)

你可以用不同的方式做到这一点

1

        for (int page = 1; page <= pageNum; ++page) {
            copy.addPage(copy.getImportedPage(reader, page));
        }

2

        for (int page = 1; page <= pageNum; page++) {
            copy.addPage(copy.getImportedPage(reader, page));
        }

3

        int page = 1;
        while (page <= pageNum) {
            copy.addPage(copy.getImportedPage(reader, page));
            page++;
        }

4

        int page = 0;
        while (page < pageNum) {
            page++;
            copy.addPage(copy.getImportedPage(reader, page));
        }

5

        int page = 0;
        while (page < pageNum) {
            copy.addPage(copy.getImportedPage(reader, ++page));
        }