分支控制

    if/else语句

        双分支:

           if(boolean表达式){
              //表达式为true执行的语句1
           }else{
              //表达式为false则执行语句2
           }

        多分支:

           if(boolean表达式1){
             //表达式1为true执行的语句1
           }else if(boolean表达式2){
             //表达式2为true执行的语句2
           }
            ........
           else{
              //以上所有的表达式均为false则执行语句3
           }

    switch语句

        多分支                     

           switch(表达式){
           //表达式和以下常量表达式匹配,匹配上则执行对应的语句
              case 常量表达式1:语句1
              case 常量表达式2:语句2
              ......
              case 常量表达式n:语句n
              default: 语句n+1
           }

循环控制

    while           

           while(boolean表达式){ //表达式为true则执行循环体
              //循环体
           }

    do while      

           do{
              //循环体
             //先执行一遍循环体的内容,再执行boolean表示式
              //执行完一遍循环体,判断boolean表达式,为true则继续
              //否则退出循环
           }while(boolean表达式);

    for        

            for(表达式1;表达式2;表达式3){
              //表达式1为: 循环的初始状态 比如 int i =0;
              //表达式2为: 确定循环的次数 比如数组的长度或者集合的大小
              //表达式3为: 改变初始状态 比如 i++; i 循环累加
              //循环体
            }

结合自己曾经的经验,使用分支和循环的一个小技巧: 

简单需求描述就是,实体类 Person类,字段name,age,address,集合List<List<String>>,集合中的集合内容为Person类的属性值,比如内层List<String> 第一个集合内容 Tom, 18, New York,现在需要把内层List<String>装载成Person对象,整个集合就成了List<Person>

外层List用list表示,内层用listN表示,

    List<Person> persons = new ArrayList<Person>();  //最终的结果集合      
    for (int i = 0; i < list.size; i++) {
      list1 = list.get(i);
       person = new Person(); 
      for(int j = 0; j < listN.size; j++){          
        switch(j)
        case 1: person.setName(list1.get(j));
        case 2: person.setAge(list1.get(j));
        case 3: person.setAddress(list1.get(j));
        persons.add(person);//把对象装载进集合
      }      
    }