------- android培训、java培训、期待与您交流! ----------
判断结构
1、JAVA中的判断结构,即if……else结构,其基本格式如下:
if( 比较表达式 ) {
比较表达式为真时需要执行的代码
}else{
比较表达式为假时需要执行的代码
}
2、在需要执行的代码比较少,只有一行时,也可以将{}省略,写成:
if( 比较表达式 )
比较表达式为真时需要执行的代码
else
比较表达式为假时需要执行的代码
3、有时也可以省略掉else,写成:
if( 比较表达式 )
比较表达式为真时需要执行的代码
比较表达式为假时需要执行的代码
4、如果需要判断的条件比较多,也可以写成多个if嵌套的判断形式,该形式的效果类似选择结构:
if( 比较表达式1 ){
if( 比较表达式2 ){
需要执行的代码
}else{
需要执行的代码
}
}else {
需要执行的代码
}
5、如果有很多个条件需要判断,但是条件间并无包含关系,则可以写成这样,效果类似选择结构,但是不会受限于判断的类型:
if( 比较表达式1 ){
需要执行的语句
}else if( 比较表达式2 ){
需要执行的语句
}else{
需要执行的语句
}
选择结构
JAVA中的选择结构即switch……case结构,通过判断switch中的key的值,来确定选择哪个case执行,如果没有符合的case,则执行default的代码,基本格式如下:
//key值必须是个基本数据类型的值,不能是引用类型的值。1.7版本前,key值不能为String类型。
switch (key) {
//value必须是常量,不能是变量
case value:
//break并非必要,但是若无break语句用于跳出,则程序会顺序执行,也就是说,可能会执行几个case中的代码
需要执行的代码
break;
//默认执行的代码,如果没有符合key值的case,则执行default中的代码
default:
需要执行的代码
break;
}
case中所处的位置和值没有必然关系,也就是说,并不是value小的case就必须放在value大的case之上。
switch语句结构用于选择多个条件时效率比if判断结构高,但是因为受限于key值的类型,以及范围判断的情况,使用上并不如if判断结构灵活。
循环结构
JAVA中循环结构有3种
1、while循环结构
基本格式如下:
while( 比较表达式 ){
需要循环的代码
}
如果比较表达式的结果为真,则执行 需要循环的代码 ,否则不执行循环。
2、do……while循环结构
基本格式如下:
do{
需要循环的代码
}while( 比较表达式 );
先执行do中的代码一次,然后判断,如果比较表达式的结果为真,则继续执行 需要循环的代码,否则循环结束。
3、for循环结构
基本格式如下:
for( 初始条件; 比较表达式 ; 最后执行的代码 ){
需要循环的代码
}
程序执行时会先执行 初始条件 ,然后判断 比较表达式 的结果 如果为真则执行 需要循环的代码 ,然后执行 最后执行的代码 ,再判断比较表达式的结果,根据结果确认是否需要再次循环。
注意:for循环中的 初始条件 、比较表达式 以及 最后执行的代码 都可以省略不写,但是都不写的情况下,循环没有意义。一般最少要写 比较表达式 的部分
4、三种循环结构的比较和注意事项
1)while循环结构比较简单,只有一个比较表达式即可,但是组成比较表达式的各个变量(如果有的话)必须要在循环外定义,这让会占用额外的空间。
2)do……while循环结构因为先要执行一次do中的代码再做判断,所以可能带来额外的风险,因为do中的代码已经被执行过一次了。逻辑上不是很好分清需要执行的部分和不需要执行的部分。
3)for循环需要的条件比较多,写起来需要理清头绪方能下手。但是定义在for循环初始条件中的变量,在循环结束后就会被释放,从这点看来,优于while循环。
4)循环结构的 比较表达式 ,如果结果是常量,则循环是死循环,需要避免这种情况。
5)for循环和while循环可以简单的互相转换,只需要把for循环中的 初始条件部分移出循环体,再将最后执行的代码放到循环体内最后一行,再将 比较表达式 作为 while的 比较表达式 ,即实现了for循环转换成while循环。同理可得while循环转换成for循环,但是此种情况需要判断组成 比较表达式 的变量是否为全局变量,如果是全局变量,则不可转换。