标签:
我叫鱼汤,是一名菜鸡。如有高手路过,望指点、望传功。
这一篇是要整理我的三份笔记,主要内容就是java里几个简单的控制程序流程的方法,程序自然执行顺序是由上而下依次执行,但是有时这样达不到我们想要的目的,这里就会用到流程控制的方法。
一、选择
1. 单分支if语句
if(布尔表达式){
//布尔表达式为true时所执行的语句;
}
如果()里的条件得到满足,{}里的语句才回执行,主要用于只有一个筛选要求。
2. 双分支if语句
if(布尔表达式) {
//布尔表达式为true时所执行的语句;
}else{
//其余情况所执行的语句;
}
如果()里的条件为true,则执行前面的表达式,否则执行后面的表达式。其功能跟三目运算符是一样的,就像牌的两面,如果为true牌就翻到正面,false牌就翻到反面。
3. 多分支语句
if(布尔表达式a) {
//布尔表达式为true时所执行的语句;
}else if(布尔表达式b) {
//布尔表达式为true时所执行的语句;
}else if(布尔表达式c) {
//布尔表达式为true时所执行的语句;
}
......
}else {
//前面所有条件都不满足时执行。
}
多分支语句适用于多个条件的筛选。当a得到满足执行第一个{}里的语句,当判断到b时,数据自带a的反面,以此类推。
4. switch语句
switch(算术表达式) {
case 常量表达式1 :
语句块1;
break;
case 常量表达式2:
语句块2;
break;
......
default:
不满足前面的常量表达式所执行的语句
}
switch语句是触发式语句,()里必须是短整型、整型、字符、字符串;当输入的表达式满足()条件进入{},在数据与case后跟的常量表达式相同时,触发case里的语句块。这里有三点要注意:
1. 关键字break作用是中断并跳出当前的case语句块。如果语句块里面不加break,程序将会接着执行下一个语句块,这个特性在特定是时候有妙用;
2. case之间是不分先后顺序的,case是不能重复的,case后只能加常量;
3.关键字default,是在case都没有被触发时执行的,可以不使用它,视具体情况而定。
二、循环
循环就是反复执行同一段代码。对于我这样的菜鸡而言,在思考分析如何使用循环时总会漏掉差掉某个关键,导致实际结果跟想象中不一样。如果确定程序是要使用循环时,要明确两个关键:
a. 要明确被循环的语句;
b. 循环的次数,这个决定选择哪种循环。
1. for循环
for(表达式a;表达式b;表达式c){
// 表达式d;
}
for循环主要用于已知循环次数。表达式abc都可以为空,这样将会执行死循环。
表达式a是循环的起始,普遍动作是声明int类型的变量作为控制变量并初始化。表达式a可以放在for之前。
表达式b是判断控制变量是否满足条件。
表达式c是控制表达式做自增/自减。
程序执行顺序为:a 、当b为真 、d 、c 、a 、当b为真 、d 、c、a 、当b为真 、d、c 、a 、当b为假,退出循环。
2. while循环
while(布尔表达式){
//被循环语句;
}
如果不清楚循环次数可以考虑使用while循环。其中被执行的语句是有可能一次也不执行的;一般情况下被循环语句中一定要有结束循环的语句。
3. do-while循环
do{
//被循环语句;
}while(布尔表达式);
do-while循环是唯一的一个后验循环,它的被循环表达式无论如何都会被执行一次,其他特性与while循环类似。
4.控制循环的两个关键字
a. break,作用是跳出本层循环;
b. continue,作业是结束本次循环,进入下一次循环;
5.循环的高级应用
其实作为初学者,谈论什么高级应用非常力不从心,有一些身体被掏空的感觉。反正也是听来的,就简单说一下
双重循环,也就是循环里面嵌套一个循环,如果说自然情况下程序是沿着一条线执行,那么双重循环更像一个面。就像一个表格,外层循环控制行,内层循环控制列。正常情况下还是有很多使用双重循环的时候的。
三重循环,如果说双重循环是一个面,三重循环就是立方体了,当然还有四重,五重等,这就更复杂了。
最后,控制程序流程的方式还有一些,等学到那里以后会做出补充。
标签:
原文地址:http://www.cnblogs.com/yutanggege/p/5769212.html