这一章是流程控制的最后一章,接下来就是方法了,至于什么是方法,后面再说。
Java基础——流程控制
1.break 和 continue
break
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句(例如break在switch中退出循环,防止穿透现象,见weekend5)
举例:
当i==5的时候,break退出了循环,所以说强制退出循环,而最后输出123,说明只是退出了循环,没有退出程序。
int i = 0;
while(i<100){
i++;
System.out.printIn(i);
if(i==5){
break;
}
}
System.out.printIn("123");
结果:
1
2
3
4
5
123
continue
continue语句用在循环语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
举例:
如下,正常情况下,没有if的话输出结果为1-10,而加了if,并判断能否整除,整除的输出“//”,说明遇到continue,运行没有继续下去,输出2、4、6、8,而是返回到了i++.
int i = 0;
while(i<10){
i++;
if(i%2==0){
System.out.print("//");
continue;
}
System.out.print(i);
}
结果:
1//3//5//7//9//
break和continue区别
break是强制退出循环;continue是返回循环(跳过当前的这一次循环)
标签(类似于goto)
标签相当于goto,就是回到要运行的那个循环,比如三个循环,利用continue和标签能进到第二个或者第一个循环继续下去。
a:for(){
b:for(){
c:for(){
continue a;
//进入第一个for循环
//continue b;
//continue c;
}
}
}
举例:
打印101-150之间的质数(质数指除了1和它本身外,不再有其它因数),运算过程中,只需要除到它的一半,剩下的不需要除下去了,可以节省运算时间。
int count = 0;
outer:for(int i=101;i<150;i++){
for(int j=2;j<i/2;j++){
if(i%j==0){
continue outer;
}
}
System.out.print(i+"\t");
}
结果:101 103 107 109 113 127 131 139 149
2.打印三角型及Debug
这是另一种方法来实现for循环,能让你更深入了解循环体。
这里的实现方式就是每一次大循环执行三个小循环,例如i=1时,第一个循环a打印了5个空格" ",第二个循环b在第一个循环的基础上打印了一个“*”,第三个循环没有满足条件没执行。
for (int i=1;i<=5;i++){
a:for (int j =5;j>=i;j--){
System.out.print(" ");
}
b:for (int j=1;j<=i;j++){
System.out.print("*");
}
c:for (int j=1;j<i;j++){
System.out.print("*");
}
System.out.println();
}
结果:
*
***
*****
*******
*********
Debug
Debug会在下面学习中不断用到,它的功能就是让代码一步一步运行,便于找到错误、便于调试,虽然东西少,但是必须掌握的。
到这里Java基础中的流程控制就结束了,在流程控制中,学习了Scanner读取输出等、顺序结构、选择判断结构(if,switch)、循环结构(for ,while,dowhile)以及break和continue。这些都是属于Java的基础但也是Java最重要的组成部分。
而接下来的部分就是Java的方法了。