Java流程控制语句

    |     2015年4月2日   |   Java 语法基础   |     0 条评论   |    1849

Java 程序靠控制语句调度程序流:语句可以是单独一条(如 c = a + b),也可以是花括号包起来的复合语句。语句块可以嵌套,层数不限。

定义类时类体必须用语句块;定义方法时方法体也必须用语句块。

类别 语句 要点
表达式 赋值、调用、new、声明、自增 表达式有返回值
分支 if / if-else / else if / switch 按条件选路
循环 while / do-while / for 循环体里必须改条件,否则死循环
跳转 break / continue / return 打断、跳过本次、退出方法

一、表达式语句

表达式由运算符、操作数和函数组成,特点是有返回值。返回值类型取决于操作数和运算类型。常见表达式语句:赋值、方法调用、对象创建、变量声明、自增。

二、分支语句

分支按条件执行或跳过一段代码。Java 里有 if、if-else、if-else if、switch。

if / if-else / else if

if (表达式) {
    语句
}

if (表达式) {
    语句1;
} else {
    语句2;
}

if (条件1) {
    // 程序代码
} else if (条件2) {
    // 程序代码
} else if (条件3) {
    // 程序代码
}

if 先算表达式,真则执行语句,否则跳过。if-else 假时走 else。else if 只要前面有一个条件成立,后面的就不再判断。练习:比两个数的最大值;判断闰年(能被 4 整除但不能被 100 整除,或能被 400 整除);用 random() 产生一个字符,判断大写、小写、数字还是其他符号。

if 可以嵌套:外层条件成立再进内层 if-else。

switch

先算表达式,再找匹配的 case。早期只允许 int / byte / char / short(以及它们的包装类型);后来还支持枚举和 String。

switch (表达式) {
    case 值1:
        语句1;
        break;
    case 值2:
        语句2;
        break;
    default:
        语句N;
}
  • case 的值必须是常量,且互不相同。
  • default 可选。
  • break 用来跳出 switch;多个 case 要执行同一组操作时可以故意不写 break(会穿透到下一个 break)。

练习:输入百分成绩,输出等级。

三、循环语句

循环反复执行一段代码,直到终止条件成立。Java 提供 while、do-while、for。

while (条件) {
    // 循环体
}

do {
    // 循环体
} while (条件);

for (设定初始值; 条件限定; 修改控制变量) {
    // 程序代码
}

while 先判断再执行;条件为 true 才进循环体,循环体里必须有改变条件的语句,否则死循环。do-while 先执行一次再判断,因此至少执行一次。for 把初值、条件和更新写在一起。练习:输出 1~100 内前 5 个能被 3 整除的数。

四、跳转语句

break 终止某个语句块,用在循环里可以强行退出;continue 结束本次循环,跳过后面未执行的部分,进入下一次;return 从当前方法退出,回到调用处继续执行。

return 有两种形式:return expression; 和 return;。通常写在方法体最后,否则会编译错误,除非放在 if-else 里保证每条路径都能返回。

一句话总结:表达式负责算,if/switch 负责选路,while/for/do-while 负责重复,break/continue/return 负责中途改道;循环体里一定要改条件。

转载请注明来源:Java流程控制语句
本文链接地址:https://ai.zhousir.top/?p=138

上一篇:

下一篇:

回复 取消