基础篇——流程控制语句(判断、选择、循环)

写代码的四点:
     1.明确需求。要做什么?
     2.分析思路。要怎么做?(1,2,3……)
     3.确定步骤。每一个思路要用到哪些语句、方法和对象。
     4.代码实现。用具体的语言代码将思路实现出来。

学习新技术的四点:
     1.该技术是什么?
     2.该技术有什么特点?(使用需注意的方面)
     3.该技术怎么使用?(写Demo)
     4.该技术什么时候用?(在Project中的使用场景 )

----------------------早计划,早准备,早完成。-------------------------

流程控制语句

        就是可以控制程序的执行流程的语句,一般包括三大类:
        1.判断语句;
        2.选择语句;
        3.循环语句;


判断语句(IF)

        三种格式:

        1.if(比较表达式){
                        语句体;
            }

if ( 2 > 1 ){
        Log. e ( "TAG" , "true" ) ;
}
            执行流程:a:先计算比较表达式的值,看其返回值是true还是false;
                             b:如果是true,就执行语句体;
                             c:如果是false,就不执行语句体;
            注意事项:a:比较表达式无论简单还是复杂,结果必须是boolean类型;
                             b:if语句控制的语句体如果是一条语句,大括号可以省略;
                                   如果是多条语句,就不能省略,建议永远不要省略;

        2.if(比较表达式){
                        语句体1;
            }else{
                        语句体2;
            }

if  ( 2  >  1 ){
        Log. e ( "TAG" , "true" ) ;
} else  {
        Log. e ( "TAG" , "false" ) ;
}
            执行流程:a:先计算比较表达式的值,看其返回值是true还是false;
                                   b:如果是true,就执行语句体1;
                                   c:如果是false,就执行语句体2;

        3.if(比较表达式1){
                        语句体1;
            }else if(比较表达式2){
                        语句体2;
            }
            ......
            else{
                        语句体n+1;
            }

if  ( 2  >  1 ){
        Log. e ( "TAG" , "true" ) ;
} else if  ( 1  >  2 ){
        Log. e ( "TAG" , "false" ) ;
} else  {
        Log. e ( "TAG" , "equal" ) ;
}
            执行流程:a: 首先计算比较表达式1看其返回值是true还是false;
                                  如果是true,就执行语句体1,if语句结束。
                                  如果是false,接着计算比较表达式2看其返回值是true还是false;
                             b:如果是true,就执行语句体2,if语句结束。
                                  如果是false,接着计算比较表达式3看其返回值是true还是false;
                             ......
                             c:如果都是false,就执行语句体n+1;
            注意事项: 最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示。


选择语句(Switch)

           switch语句的格式:
            switch(表达式){//表达式可以是基本数据类型中的byte,short,char,int;引用数据类型中的枚举(JDK1.5),String(JDK1.7).
                case 值1:
                    语句体1;
                    break;
                case 值2:
                    语句体2;
                    break;
                ......
                default:
                    语句体n+1;
                    break;
            }
switch  ( 1 ){
        case  1 :
                Log. e ( "TAG" , "111" ) ;
                break;
        case  2 :
                Log. e ( "TAG" , "222" ) ;
                break;
        default :
                Log. e ( "TAG" , "000" ) ;
                break;
}
          执行流程:a: 先计算表达式的值;
                           b:然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句;
          注意事项:a: case后面只能是常量,不能是变量,而且过个case后面的值不能出现相同的。
                           b:default可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
                           c:break最后一个可以省略,其他最好不要省略,否则会出现case穿透现象。最终建议不要省略。
                           d:default不是一定要在最后,可以是任意位置,但是建议在最后。
                           e:switch语句的结束条件:
                                    e.1:遇到break就结束了;
                                    e.2:执行到switch的右大括号就结束了;

        switch语句有四个特点:

        1.  switch语句的类型只有四种:byte、short、int、char;
        2.case之间和default没有顺序,先执行第一个 case,没有匹配的case执行default;
        3.结束switch语句的两种情况:a:遇到break,b:执行到switch语句结束;
        4.如果匹配的case或者default没有对应的break,那么程序将不再判断case,而是会继续向下执行,
           运行可以执行的语句, 直到遇到break或者switch结尾结束。

        switch语句和if语句的各自使用场景:

        1.switch语句建议判断固定值的时候用;
        2.if语句建议判断区间或范围的时候用;
        if与switch语句很像,如果判断的具体数值不多,而且符合byte short int char这四种类型,
        虽然两个语句都可以使用,建议使用switch语句,因为效率更高。


循环语句(for循环、while循环、do-while循环

          当事先不知道要执行多少次程序时就用到了while循环语句。

        1.for循环的格式:

            for(初始化表达式;条件表达式;循环后的操作表达式){
                循环体;
            }

for  ( int  i =  0 ;  i <  10 ;  i++) {
        Log. e ( "TAG" , "+++"  + i) ;
}
          执行流程:a: 执行初始化语句;
                           b:执行判断条件语句,看其返回值是true还是false;
                                如果是true,就继续执行;
                                如果是false,就结束循环;
                           c:执行循环体语句;
                           d:执行循环后的操作表达式;
                           e:回到2继续;

        2.while循环的格式:

                基本格式:

                while(判断条件语句){
                    循环体语句;
                }
            完整格式:
                初始化语句;
                while(判断条件语句){
                    循环体语句;
                    控制条件语句;
                }
int  y =  0 ;
while  (y <  10 ){
          Log. e ( "TAG" , "---"  + y) ;
          y++ ;
}
              执行流程:a: 执行初始化语句;
                               b:执行判断条件语句,看其返回值是true还是false;
                                    如果是true,就继续执行;
                                    如果是false,就结束循环;
                               c:执行循环体语句;
                               d:执行控制条件语句;
                               e:回到2继续。

        3.do...while语句的格式:

            基本格式:
                do{
                    循环体语句;
                }while(判断条件语句)
            完整格式:
                初始化语句;
                do{
                    循环体语句;
                    控制条件语句;
                }while(判断条件语句)
int  z =  0 ;
do  {
        Log. e ( "TAG" , "+++---"  + z) ;
        z++ ;
} while  (z <  10 ) ;
                执行流程:a: 执行初始化语句;
                                 b:执行循环体语句;
                                 c:执行控制条件语句;
                                 d:执行判断条件语句,看其返回值是true还是false
                                       如果是true,就继续执行;
                                       如果是false,就结束循环;
                                 e:回到2继续;

        4.break与continue在循环中的使用

                break:结束循环语句,不再往下循环;
for  ( int  i =  0 ;  i <  10 ;  i++) {
        Log. e ( "TAG" , "bbbbbbbbbbbbbbbb"  + i) ;
        if  (i ==  5 ){
                break;
        }
}
                continue:结束本次循环,继续下次循环;
for  ( int  i =  0 ;  i <  10 ;  i++) {
        if  (i ==  5 ){
                continue;
        }
        Log. e ( "TAG" , "ccccccccccccccccc"  + i) ;
}
  

        5.标号在循环中的使用

                标记某个循环对其控制,组成其实就是合法的标识符。
a:for(int i = 1; i <= 10; i++){ //a就是标号,是合法的标识符即可
        Log. e ( "TAG" , "iiiiiiiiii="  + i) ;
        for ( int  p =  1 ;  p <=  10 ;  p++){
                Log. e ( "TAG" , "ppppppppppp="  + p) ;
                break  a ;  //跳出a循环
        }
}

猜你喜欢

转载自blog.csdn.net/qq941263013/article/details/80094696