分支控制
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);//把对象装载进集合
}
}
转载于:https://blog.51cto.com/11083953/1732442