Java基础——C
4.控制流程
包括if,switch,for,while等判断循环结构,也包括continue,break等关键字。
a.if语句
1.if 条件判断
如果判断表达式成立,则执行执行表达式。
注意:对于判断表达式应使用()括起来,对于执行表达式应使用{}括起来并且使用;结尾。类似下面的基本格式。
if(xxx)
{
xxx;
}
2.if与else连用。
如果判断表达式成立,则执行执行表达式1,否则执行执行表达式2。
类似如下:
if (xxx)
{
xxx1;
}
else
{
xxx2;
}
3.else if多条件判断
即有多个判断表达式,如果成立则执行对应的执行表达式。可节约运算资源,否则要使用多个if语句。
类似如下:
if(xxx1)
{
xxx1;
}
else if(xxx2)
{
xxx2;
}
else if(xxx3)
{
xxx3;
}
b.switch 语句
判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。即对于给它的变量值,该语句可通过类似检索的功能检索与变量值对应的系列值,并返回。该语句支持多种数据类型byte,short,int,char,String,enum(枚举类型)
类似如下:
switch (变量){
case 变量值1//(要求具体的值):
xxx1;//(这个选择保留)
break;//(这个选择保留)
case 变量值2//(要求具体的值):
xxx2;//(这个选择保留)
break;//(这个选择保留)
case 变量值3//(要求具体的值):
xxx3;//(这个选择保留)
break;//(这个选择保留)
//可以有N个case分支
default:
xxx;//(这个可以选择保留,建议放在最后一个分支,当以上case语句没有一个匹配成功时执行这个语句)
}
注意: switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。
c.while语句
包括while循环和do-while循环。
while循环类似如下:
while()//(只要条件判断为true,就执行)
{
xxx;
}
do-while//循环类似如下:
do{
//(无论条件是否成立,先执行一次,即至少执行一次)
xxx;
}while();
注意: 当判断条件为while(true)时该循环为死循环,当遇到break,强制结束时循环才结束,可用与对某事物的检测,即需要不断执行检测。
d.for 语句
对条件进行判断,如果成立就执行下去,否则结束循环。
类似如下:
for(赋初值;判断条件;自加/自减)
{
循环体;
}
(其中赋初值,判断条件,自加/自减都可选择保留,当都不保留时就成为一个死循环了)注意: 与while循环类似。
e.continue,break关键字
continue跳过本次循环,直接进行下一次循环,break直接结束循环。注意: 一般使用在判断语句,循环语句。
f.结束外部循环
即对于某些多重嵌套循环,有时候需要结束跳出外部循环而不需要跳出内部循环,可以考虑使用结束外部循环的方法。
1.借用boolean变量结束外部循环。
在内部循环修改布尔值(变量),每次循环后都在外部循环中判断这个变量值。
类似如下:
public class Test {
public static void main(String[] args) {
boolean breakout = false; //是否终止外部循环的标记
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println(i + ":" + j);
if (0 == j % 2) {
breakout = true; //终止外部循环的标记设置为true
break;
}
}
if (breakout) //判断是否终止外部循环
break;
}
}
}
2.使用外部标签结束循环
在外部循环的前一行加上标签(可自定义)。在break的时候使用该标签,即能达到结束外部循环的效果。
类似如下:
public class Teat {
public static void main(String[] args) {
//输出单数
outloop: //outloop这个标示是可以自定义的比如outloop1,ol2,out5
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println(i+":"+j);
if(0==j%2)
break outloop; //如果是双数,结束外部循环
}
}
}
}
结语:这次的笔记暂时先到这里,还有非常非常多的不足和漏洞,敬请各位前辈指点,在下虚心听教。本人也是初学者,自己选择自学。希望能与各位同志共同进步,一起努力!