标签:
------- android培训、java培训、期待与您交流! ----------
一、if/else构成的判断结构
if(条件表达式) { 表达式1; } else { 表达式2; }
其含义为,如果if后边的条件表达式为true,则执行表达式1,否则执行表达式2;
相当于之前学到的三元运算符组成的判断结构:
(条件表达式)?表达式1:表达式2
其含义为:当括号内的条件表达式逻辑值为true时,执行表达式1,本次运算结束;
当括号内的条件表达式逻辑值为false时,执行表达式2,本次运算结束。
注:三元运算符的好处是可以简化if/else代码,但也存在弊端,它仅仅是一个运算符,所以运算后必须要有一个具体的结果。
if(条件表达式1) { 表达式1; } else if(条件表达式2) { 表达式2; } else if(条件表达式3) { 表达式3; } …… else { 表达式N }
这种结构,只要运算到某一条件表达式时,该条件表达式满足,则结束整体的运算。
二、选择结构
switch选择结构
Switch(表达式)//表达式的数据类型只能为byte、short、int或char类型 { /* default: 执行语句; break; 当default在选择结果的最前端时,只有一下case跟的取值结果全部匹配,才会执行default后边的执行语句,此时一定要书写break,如果此处没有break,则继续向下执行,但并不与case跟的取值进行匹配运算,直接执行后面的每条执行语句,直至遇到break或 } 才会停止。 */ case 取值1: 执行语句1; break; case 取值2: 执行语句2; break; …… default: 执行语句;//只有当以上答案全不对时,执行default后边跟的默认执行语句 break;//此时break可有可无 }
注:swtich不能判断结果为布尔型的条件。
当对具体的数据(byte、short、int或char类型)进行判断,且数值不多时,可以用swtich结构;
若当值为区间或者布尔型时,可以用if结构,if结构的适用范围更广。
三、循环结构
(一)while 和do/while 的循环结构
1)
while(条件表达式) { 循环体(执行语句);//如果循环体中没有控制条件则一直执行循环体中的内容。 }
2)
do { 循环体; } while(条件表达式)//无论条件是否满足,至少执行一次do后边的循环体。
区别:
A:while 先判断条件,只有当条件满足时,才会执行循环体的内容。
B: do/while 先执行一边循环体的内容,若条件满足,则再继续执行循环。
(二) for循环
for(初始化表达式;循环条件表达式;循环后的操作表达式) { 执行语句; }
图为for循环的过程示意图
for循环结构和while循环结构的区别:
1) 若该变量仅限于作为循环内的循环增量存在,用于控制循环次数,则用for循环结构,语句简单,可以优化内存。
2) for循环结构中所定义的变量,作用于只限于该循环结构内,循环执行完毕后,该变量在内存中被自动释放,而while循环结构中的变量通常是在循环结构外定义的,循环结束后仍然存在
延伸:无限循环的最简单表达方式
for(;;) {
}
|
while(true) {
} |
注意:循环中一定要明确哪些语句需要参与循环,哪些不需要
循环中的累加思想:通过变量记录住循环操作后的结果
1) 记录每次变化的结果
2) 通过循环进行累加的动作
(三)拓展:在JDK1.5版本中增加了高级for循环的新特性
格式:
for(变量类型 变量 : 要被遍历的集合或数组) { 循环体; }
高级for循环的底层原理是Iterator迭代器,这种方式对集合进行遍历,只能够获取元素而不能对元素所在集合进行操作。
与普通for循环的区别:高级for循环有一个局限性,就是一定要有被遍历的目标,例如:
如果循环进行打印某条语句,可以通过普通for循环控制次数,但却不能使用高级for循环进行操作
for(int x=0;x<100;x++) { System.out.println("hello world"); }
这种情况就不能够使用高级for循环,因为for循环只是在控制循环次数,没有要被遍历的目标集合或数组;
建议在遍历数组时还是使用传统的for循环, 因为传统的for循环在遍历时还可以根据获取数组角标对数组进行操作。
四、在循环结构中,我们通常会用到break(跳出)和continue(继续)的操作,下面来总结一下二者的使用方法:
break语句的作用
(1) 只能在循环体内和switch语句体内使用break语句。
(2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
(3) 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
(4) 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环。
continue语句作用
(1) continue语句的一般形式为:continue;
(2) 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
(3) 注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分
,然后决定循环是否继续进行。
(4) 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“循环后的操作表达式”求值,然后进行“循环条件表达式”的条件测试,最后根据“循环条件表达式”的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同。
黑马程序员-------Java基础学习(一)Java中基本的几种程序流程控制
标签:
原文地址:http://www.cnblogs.com/misskings/p/4484244.html