java学习day05流程控制(二)

java学习day05流程控制(二)

  • for循环
  • while循环
  • do while循环
  • for循环和while循环和dowhile循环的简单区别:
  • 循环的嵌套

for循环

语法:for(初始化变量 ; 布尔表达式 ; 控制语句){
代码块
}

for (int i = 0; i < args.length; i++) {
     
		//代码块	
		}

流程:
1:初始化变量
2:布尔表达式 返回true 进入代码块
返回false 跳出循环
3:进入控制语句
4:布尔表达式 返回true 进入代码块
返回false 跳出循环

特点:
1 :里面可以空着,布尔表达式位置默认是true,那么就变成了无限循环
2 :初始化变量可以初始多个值
3 :控制语句也可以多个变量操作
4 :可以不用大括号,但是只能执行第一行
5 :关键字 break 和continue

while循环

语句:
While(布尔表达式){
代码块1
}

while (true) {
     
		//代码块	
		}

执行流程:
布尔表达式 —true 进入代码块1 布尔表示式 ----true 布尔表达式 …
----false 跳出循环
----false 跳出循环

do while循环

语句:
Do{
代码块1
}while(布尔表达式)

do {
     
			
		} while (true);
执行流程:

先进代码块1 —>布尔表达式–true–>执行代码块1–>布尔表达式 …直到 为false跳出循环
–false

for循环和while循环和dowhile循环的简单区别:

①:执行效率谁更高
②:使用方向上:
For循环一般都是来循环次数
While和do while一般都是用来循环不知道次数
③:while循环可能一次都不执行
Do while不管结果怎么样,至少要执行一次

以i++计算到1000000来进行比较三种循环的运行速度

	
		long startTime1 = System.nanoTime(); // 获取开始时间	
		for (int i = 0; i < 1000000; i+=1) {
     
		}	
		long endTime1 = System.nanoTime(); // 获取结束时间
//		System.out.println("for" + i);
		System.out.println("for运行时间: " + (endTime1 - startTime1) + "ns");
		
		int j = 0;
		long startTime2 = System.nanoTime(); // 获取开始时间	
		while (j < 1000000) {
     
			j+=1;
		}
		long endTime2 = System.nanoTime(); // 获取结束时间
//		System.out.println("while" + j);
		System.out.println("while程序运行时间: " + (endTime2 - startTime2) + "ns");
		
		int k = 0;
		long startTime3 = System.nanoTime(); // 获取开始时间
		do {
     
			k+=1;
		} while (k < 1000000);		
		long endTime3 = System.nanoTime(); // 获取结束时间
//		System.out.println("dowhile" + k);
		System.out.println("dowhile程序运行时间: " + (endTime3 - startTime3) + "ns");

循环的嵌套

语法:
For(变量初始化1 ; 布尔表达式1 ; 控制语句1){
执行代码块1
For( 变量初始化2 ; 布尔表达式2 ; 控制语句2){
执行代码块2
}
执行代码块3
}

for (int i = 0; i < args.length; i++) {
     
			for (int j = 0; j < args.length; j++) {
     
				
			}
		}

流程:
1:变量初始化1
2:布尔表达式1
True
执行代码块1
2.1:变量初始化2
2.2:布尔表达式2
True
2.2.3控制语句2
7:布尔表示2
False 跳出内层循环 —>继续执行外层循环的控制语句1

False----跳出外层循环,整个循环结束
特点:
1:break和continue是结果或者继续的是当前循环(内层还是外层)
2:循环的命名,命名规则:在循环的左上角自定义命名再加上冒号

你可能感兴趣的:(java)