java - 如何重用变量而不在java中的for循环中初始化新变量?

Adi*_*tya 3 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++;
Run Code Online (Sandbox Code Playgroud)

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

   int count = 0;
   for (int i=position; i<a.length; i++) count++;
   return count;
}
Run Code Online (Sandbox Code Playgroud)

Dan*_* M. 5

您不需要声明一个新变量:

for (; position<a.length; position++) count++;
Run Code Online (Sandbox Code Playgroud)

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

或者更好,为什么不:

count = a.length - position;
Run Code Online (Sandbox Code Playgroud)