需要注意的一个问题:
int stopHere = 5;
for(int i = 1; i < 8; i + + ) {
if (i = = stopHere) {
/ /语句体
}
break;
System. out . println("i = " + i );
}
这个时候编译器会报错:无效的 System.out 输出语句。
冷静分析一下:
break 语句会结束循环,所以不会再去执行 System.out 输出语句。编译会认为你在多此一举, sorry 报个错!
continue 退出本次循环,不会退出整个循环:
int skipHere = 5;
for(int i = 1; i < 8; i + + ) {
if (i = = skipHere) {
continue;
}
System. out . println("i = " + i );
}
/ /打印结果:除了5没有打印出来。
i = 1
i = 2
五、 switch 语句
一般形式:
switch(常量) {
case 表达式1:语句体1;
break;
case 表达式2:语句体2;
break;
.....
default : 语句体n;
break;
}
执行过程: 执行过程:
case 根据自己的表达式看是否匹配常量,如果匹配就执行语句体,否则执行 default 语句。
case 执行类似于并行操作,不是顺序操作。所以各个表达式的值不可以相同。哪个 case 匹配常量就会执行自己的语句体,不会再去寻找其他 case 语句。
注意:
<1> case 穿透:省去break关键字
[AppleScript] 纯文本查看 复制代码
/**
* @author 传智播客
*/
int i = 10;
switch (i ) {
case 10:
System.out .println(" A" );
//break;
case 5:
System.out .println(" B" );
//break;
case 7:
System.out .println(" C" );
//break;
default :
System.out .println(" error");
break;
}//打印结果:A B C error
<2> 在 Java 编程中 switch 括号中的常量的数据类型只可以为 int 类型或者是 byte 、char 、 short( 因为 byte 、 char 、 short 可以自动提升为 int ) ,常量类型不可以是 long 、 float 和 double 等数据类型。
<3> 多个 case 可以合并 , 相当于 " 或 " ,例如下面 i 等于 10 、 5 、 7 都可以执行打印语句。
[AppleScript] 纯文本查看 复制代码
/**
* @author 传智播客
*/
int i = 5;
switch (i ) {
case 10:
case 5:
case 7:
System.out .println(" C" );
break;
default :
System.out .println(" error" );
break;
}//打印结果:C
<4> default 语句可以省,但是不推荐,他后面的 break 可省
<5> case 或者 default 子句中可以写多条语句
case 7:
System.out .println(" C" );
if(i == 5) {
System.out .println(" i = " +i );
}
break;
<6> case 或者 default 子句中还可以嵌套 switch 或者其他语句
六、 return 语句
终止方法的运行并指定要返回的数据。
两种形式:
<1> return 表达式;
<2> return ;没有任何数据直接返回,结束函数 ( 方法 ) 的执行。
七、 if 语句
一般形式:
1.if (条件表达式) { 语句体}
2.if (条件表达式) { 语句体} else{语句体 }
3. if (条件表达式1)
{ 语句体} else if (条件表达式2)
{语句体 } else
{语句体 }
特别注意:形式3,else与其最近的上个if 配对。例子:
[AppleScript] 纯文本查看 复制代码
/**
* @author 传智播客
*/
public class TestIF {
public static void main(String[] args) {
int i = 30;
if (i < 20) {
System. out . println("<20");
} else if (i < 50) {
System. out . println("<50");
} else if (i < 80) {
System. out . println("<80");
} else
System. out . println(">=80");
System. out . println("黑马程序员!");
}