假设存在一些您希望在同一个 for 循环中增加和减少值的情况。在这组情况下,在某些情况下,您可以利用情况的性质“欺骗”这一点——例如,反转字符串。
由于构建字符串的性质,我们实际上不必操作迭代或添加额外的计数器:
public static void stringReversal(){
String str = "Banana";
String forwardStr = new String();
String backwardStr = new String();
for(int i = str.length()-1; i >= 0; i--){
forwardStr = str.charAt(i)+forwardStr;
backwardStr = backwardStr+str.charAt(i);
}
System.out.println("Forward String: "+forwardStr);
System.out.println("Backward String: "+backwardStr);
}
但是,假设存在另一种情况,我们只想打印从初始值到 0 的递减值和从 0 到初始值的递增值。
public static void incrementAndDecrement(){
int counter = 0;
for(int i = 10; i >= 0; i--){
System.out.println(i);
System.out.println(counter);
counter++;
}
}
这工作得很好,但是必须创建第二个计数器来增加似乎很乱。是否有任何涉及 for 循环的数学技巧或技巧可以使用,这会变得counter
多余?