分支控制
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);//把对象装载进集合 } }
时间: 2024-09-30 15:09:22