如何重用一个变量而不在java中为for循环初始化一个新变量?

时间:2016-07-31 23:41:25

标签: java for-loop initialization

我在java中编写了一个函数,它计算字符串中空格后的字符数。对你们中的一些人来说,这个问题可能听起来微不足道

public int countAfterSpaces(final String a){
   int position = 0; // escapes leading whitespaces
   while(position<a.length() && a.charAt(position)==' ') position++;

现在我想在for循环中重用这个变量(position)而不在初始化语句中创建新的变量(i)。目前我正在这样做。

   int count = 0;
   for (int i=position; i<a.length; i++) count++;
   return count;
}

1 个答案:

答案 0 :(得分:4)

您无需声明新变量:

for (; position<a.length; position++) count++;

您可以将for循环的任何字段留空。

或者更好的是,为什么不呢:

count = a.length - position;