在java中,如何在不初始化for循环中的新变量的情况下重用变量?

在java中,如何在不初始化for循环中的新变量的情况下重用变量?,java,for-loop,initialization,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++; public int countA

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

public int countAfterSpaces(final String a){
   int position = 0; // escapes leading whitespaces
   while(position<a.length() && a.charAt(position)==' ') position++;
public int countAfterSpaces(最终字符串a){
int position=0;//转义前导空格

而(position您不需要声明新变量:

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

很好。这似乎很有效。我会在10分钟后进行交流。为什么不使用
while
循环而不是
for
?虽然在这种情况下循环不是完全必要的。Java不会因为使用最小数量的变量而给你奖励分数或任何东西。它也不会使你的代码更高效。最好不要担心我要说的是,绝大多数开发人员更喜欢使用新变量,因此您永远不会不清楚某个特定变量的含义。如果变量有两个不同的角色,您可能会混淆哪一个是哪一个。“它只是减少了代码混乱”--不,不是。特别是如果新变量是循环索引,因为不需要额外的代码来声明它。如果变量太多,看起来像是杂乱无章的,那么是时候将方法分解为多个方法了。
for (; position<a.length; position++) count++;
count = a.length - position;