0.主题
今天主要是熟悉for循环。这是一种支持迭代的通用结构,利用每次迭代之后更新的变量来控制迭代次数。
1.累加
首先附上今天的代码。
package basic;
public class ForStatement {
/**
*****************
* The entrance of the program.
*
* @param args Not used now.
*****************
*/
public static void main( String args[ ] ) {
forStatementTest( );
} // Of main
/**
*****************
* Method unit test.
*****************
*/
public static void forStatementTest( ) {
int tempN = 10;
System.out.println("1 add to " + tempN + " is: " + addToN( tempN ) );
tempN = 0;
System.out.println("1 add to " + tempN + " is: " + addToN( tempN ) );
int tempStepLength = 1;
tempN = 10;
System.out.println("1 add to " + tempN + " with step length " + tempStepLength + " is: " + addToNWithStepLength( tempN, tempStepLength ) );
tempStepLength = 2;
System.out.println("1 add to " + tempN + " with step length " + tempStepLength + " is: " + addToNWithStepLength( tempN, tempStepLength ) );
} // Of forStatementTest
/**
*****************
* Add from 1 to N.
*
* @param paraN The given upper bound.
* @return The sum.
*****************
*/
public static int addToN( int paraN ) {
int resultSum = 0;
for( int i = 1; i <= paraN; i++ ) {
resultSum += i;
} // Of for i
return resultSum;
} // Of addToN
/**
*****************
* Add from 1 to N with a step length.
*
* @param paraN The given upper bound.
* @param paraStepLength The given step length.
* @return The sum.
*****************
*/
public static int addToNWithStepLength( int paraN, int paraStepLength ) {
int resultSum = 0;
for( int i = 1; i <= paraN; i += paraStepLength ) {
resultSum += i;
} // Of for i
return resultSum;
} // Of addToNWithStepLength
} // Of class ForStatement
这个程序中实现了两个方法,即addToN与addToNWithStepLength,前者将[ 1, N ]范围内的整数累加起来并返回最后的和;后者从1开始,以StepLength为步长,将[ 1, N ]范围内符合要求的整数累加求和并返回。
程序的执行结果如上图,可以看到for循环很好的完成了这一任务。
2.for语句
for 语句的第1部分通常用于对计数器初始化,第 2 部分给出每次新一轮循环执行前要检测的循环条件,第 3 部分指示如何更新计数器。java中的for循环和C语言中的for循环是基本一致的。
此外java还提供了一种在遍历数组、集合方面更加简便的for循环结构,称为for each循环。
3.其他
- 单元测试单独写成方法很重要
- for循环的边界测试应当要重视