java流程控制

Java流程控制

分支结构

    用于根据条件来选择性的执行某段代码;

  • if条件语句
        使用布尔表达式或布尔值作为分支条件来进行分支控制;有三种形式,if;if,else;if,else if,else;
第一种形式
if (logic expression) {
    statement...
}
第二种形式
if (logic expression) {
    statement...
} else {
    statement...
}
第三种形式
if (logic expression) {
    statement...
} else if (logic expression) {
    statement...
} else {
    statement...
}

    建议使用过程中不要省略if、else if、else 后面的花括号(具备更好的可读性和减少错误的可能);
- switch条件语句
     switch后面只能跟byte、short、char、int四种整数类型,枚举类型,java.lang.String类型(java7开始,不能是StringBuffer,StringBuilder类型);

switch(expression) {
    case condition1: 
        statement...;
        break;
    case condition2:
        statement...;
        break;
    case condition3:
        statement...;
        break;
    default:
        statement...;
}

    因为switch语句执行时是先求出expression表达式的值,然后拿这个表达式去跟case标签后面的值进行比较,如果遇到相等的值,开始执行这个case后面的代码,就不再与后面的case,default标签的值进行比较,直到遇到break,才会结束;所以在使用中,每个case后面需加上break,除非你希望程序继续执行当前case外的代码块;

循环结构

    用于根据循环条件重复执行某段代码;

  • while循环
init_statement;//初始化语句
while(test_expression) {//循环条件
    statement;
    iteration_statement;//迭代语句
}

    while每次循环前都会对test_expression循环条件进行判断,如果为true,则执行循环体,否则跳过循环体;注意,如果在while循环条件的表达式的括号加;(eg:while(test_expression);{}),则将会进入死循环状态;
- do while循环
    do while 与 while 的区别在于,while总是先判断条件,条件为真,才执行循环体;而do while 是先执行循环体再判断循环条件,如果为真则继续执行,否则退出循环体;

init_statement;//初始化语句
do {
    statement;
    iteration_statement;//迭代语句
} while (test_expression);//循环条件
  • for循环
for(init_statement; test_expression; iteration_statement) {
    statement;
}
增强for循环
for(type element: array){
    statement;
}

    执行时先执行初始化语句 init_statement,初始化语句只在循环开始前执行一次;每次执行循环体前先进行 test_expression循环条件值的判断,如果循环条件返回 true,才执行循环体;每次循环体执行完毕后,执行迭代语句 iteration_statement。
    for 循环与 while,do while 循环不一样;由于 for 循环的迭代语句没有跟循环体放在一起,所以不管是否遇到 continue 语句来结束本次循环,迭代语句都会被执行;而 while 和 do while 语句的迭代语句是和循环体放在一起,如遇到 continue 语句来结束循环体,则迭代语句(迭代语句放在continue后面)不会被执行;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章