java 流程执行 循环 foreach循环
一。 if分支
1. 结构 if else if else
2.执行原则
if if if 结构 会一直去执行()里的判断语句
if else if else if 结构 只要一条()的结果是true,不会执行接下来的判断
一个 if 跟 一个else 一个if 可跟多个else if 如果if 或者 else if 里的条件都不满足,便会执行else里的代码,只要有else 出现就一定有分支里的代码执行
二。 swich case default 分支(个人认为比较麻烦,我也不常用)
swich 的变量只能是 byte , short , char ,int 4个 java 7以上String 也可;
一般会在分支代码后面加上break,不然会执行之后分支的代码,default 跟else 功能类似
swich (变量){
case a;
{
do;
break;
}
case b;
{
do;
break;
}
default;
{
do;
break;
}
}
三。while do while
while (boolean){
true do;
}
与if不同,while 会循环比对()里的值,如果是true就会一直执行,直到()的为false才停下来,如果一直是true就会造成死循环;
do { do} while () 与while不同的是 do while 是先执行再判断,while 是先判断后执行
四。for
for(初始化语句;条件判断;迭代语句){}
for循环开始是会执行初始化语句,仅会执行一次,之后会根据 判断条件 执行迭代语句和循环体代码;
for循环可初始化多个变量如 for(int a=1,b=2;条件;迭代){},但是迭代只能有1个变量,执行一个赋值数学运算;逻辑判断可由多个逻辑判断组成的一个
for(; ;){do} for循环的()可之写两;; 号,其他什么都不写,但是是个死循环;
因此for循环应该最少写判断条件,相当于while ;for (; 条件判断 ;){}
五。循环的跳出 终止
return 跳出一切代码 只能用于有返回值的方法;
break 结束掉当前的循环 如果要结束多层循环 需要在想结束的那一层循环上加入 outer: 并且 break 要变为 break outer;
continue 跳出continue以后的代码,准备执行当前循环的下一次循环; 如果要跳出多层循环 需要在想跳出的那一层循环上加入 outer: 并且continue要变成 continue outer;
六。foreach循环
语法: for ( 数据类型 变量名 : 数组或者集合(list.set) )
注意事项: foreach 循环中对数组或者集合元素赋值是没有用的,实际原理,循环数组或者集合时,先把值复制给了变量,再赋值实际是给变量复制,数组或集合元素并无改变。
顺道写一下map的foreach 循环
Map<String, String> map=new HashMap<String, String>();
for (Entry<String, String> entry : map.entrySet()) {
}
Map的entrySet()方法实际上得到的是一个set集合