分支:if 和 switch
循环:while do-while for for-earch
跳转:braek continue return throw
8.1分支语句
8.1.1 if语句
1)if
2) if-else
3) else-if
8.1.2 switch语句
只适用于 表达式结果为int类型 或能够自动转换为int的 (byte,short, char)
package com.wangyue;
/**
*@Title HelloWorld.java
*@description TODO
*@time 2019年3月8日 下午1:50:35
*@author wangyue
*@version 1.0
*/
public class HelloWorld {
public static void main(String[] args) {
// 分支语句
int testScore = 75;
char grade;
switch (testScore / 10) {
case 9:
grade = '优';
break;
case 8:
grade = '良';
break;
case 7: //7是贯通的,没有break就继续执行
case 6:
grade = '中';
break;
default:
grade = '差';
}
System.out.println("grade = " + grade);
}
}
8.2.4 for-each (增强for语句)
专门用于遍历集合的for循环
//声明并初始化int数组
int [] numbers = { 11, 12, 13, 14, 15, 16, 17, 18 };
//for语句
for (int i=0; i < numbers.length; i++) {
System.out.println("for 循环: " + numbers[i]);
}
//增强for语句
for (int item : numbers) {
System.out.println("增强for语句: " + item);
}
8.3 跳转语句(break, continue, throw, return)
8.3.1 break
break; //不带标签
break label; //带标签,label是标签名
默认情况下,break只会跳出最近的内循环 , 如果加了标签 label, 就会跳转出标签所指定的循环
label1: for (int x = 0; x < 5; x++) {
for (int y = 5; y > 0; y--) {
if(y == x) {
//跳转到label指向的循环
break label1;
}
System.out.printf("(x,y) = (%d,%d)", x, y);
System.out.println();
}
}
8.3.2 continue语句
continue; //不带标签
cotinue label; //带标签,label是标签名
continue用于结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件判断,已决定是否继续循环