2.41 循环结构for语句的格式和基本使用

/*
循环语句:for循环,while循环,do...while循环。

for循环格式:
	for(初始化语句;判断条件语句;控制条件语句) {
		循环体语句;
	}
	
	执行流程:
		A:执行初始化语句
		B:执行判断条件语句,看其返回值是true还是false
			如果是true,就继续执行
			如果是false,就结束循环
		C:执行循环体语句;
		D:执行控制条件语句
		E:回到B继续。
		
注意事项:
	A:判断条件语句无论简单还是复杂结果是boolean类型。
	B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
	C:一般来说:有左大括号就没有分号,有分号就没有左大括号
		
需求:请在控制台输出10次"HelloWorld"
*/
class ForDemo {
	public static void main(String[] args) {
		// 最原始的做法
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("HelloWorld");
		System.out.println("----------");

		// 这种做法不好,代码的重复度太高。
		// 所以呢,我们用循环改进
		for (int x = 1; x <= 10; x++) {
			System.out.println("HelloWorld");
		}
	}
}
/*
需求:请在控制台输出数据1-10
*/
class ForDemo2 {
	public static void main(String[] args) {
		// 原始做法
		System.out.println(1);
		System.out.println(2);
		System.out.println(3);
		System.out.println(4);
		System.out.println(5);
		System.out.println(6);
		System.out.println(7);
		System.out.println(8);
		System.out.println(9);
		System.out.println(10);

		System.out.println("-------------");

		// 如何改进呢?用循环改进
		for (int x = 1; x <= 10; x++) {
			System.out.println(x);
		}

		System.out.println("-------------");

		// 从0开始
		for (int x = 0; x < 10; x++) {
			System.out.println(x + 1);
		}
	}
}
/*
需求:求出1-10之间数据之和

分析:
	0+1=1
		1+2=3
			3+3=6
				6+4=10
					10+5=15
						 ...
						 
	由此可见我们要定义两个变量:
		一个变量用于存储第一个加数,第一个加数其实保存的是以前的所有数据和。默认初始化值应该是0。
		一个变量用于存储第二个加数,第二个加数其实就是每次的数据变化的值。
		
求和思想。		
*/
class ForDemo3 {
	public static void main(String[] args) {
		// 原始做法
		System.out.println(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10);

		// 定义第一个加数
		int sum = 0;

		for (int x = 1; x <= 10; x++) {
			// 这里的x其实是第二个加数
			sum = sum + x;
			/*
				0 + 1 = 1
						1 + 2 = 3
								3 + 3 = 6
								...
			*/
		
		//sum += x;
		}
		System.out.println("sum:" + sum);
	}
}
/*
需求:
	A:求1-100之和。
	B:求出1-100之间偶数和
*/
class ForDemo4 {
	public static void main(String[] args) {
		// 求1-100之和。
		int sum1 = 0;

		for (int x = 1; x <= 100; x++) {
			sum1 += x;
		}

		System.out.println("1-100之和是:" + sum1);
		System.out.println("------------------");

		// 求出1-100之间偶数和
		// 方式1
		int sum2 = 0;
		for (int x = 1; x <= 100; x++) {
			if (x % 2 == 0) {
				sum2 += x;
			}
		}
		System.out.println("1-100偶数之和是:" + sum2);
		System.out.println("------------------");

		// 方式2
		int sum3 = 0;
		for (int x = 0; x <= 100; x += 2) {
			sum3 += x;
		}
		System.out.println("1-100偶数之和是:" + sum3);
		System.out.println("------------------");
	}
}
/*
需求:求5的阶乘。

什么是阶乘?
	n! = n*(n-1)! 规则
	n! = n*(n-1)*(n-2)*...*3*2*1
	
求和思想。
求阶乘思想。
*/
class ForDemo5 {
	public static void main(String[] args) {
		// 定义最终结果变量
		int jc = 1;

		// 这里的x其实可以直接从2开始
		// for(int x=1; x<=5; x++)

		for (int x = 2; x <= 5; x++) {
			jc *= x;
		}

		System.out.println("1-5的阶乘是:" + jc);
	}
}


你可能感兴趣的:(2.41 循环结构for语句的格式和基本使用)