switch语句
1、格式一览:
switch(整数选择因子){
case 整数值1:语句;
break;
case 整数值2:语句;
break;
……
default:语句;
}
其中,“整数选择因子”必须是byte、short、int 和 char 类型。每一个 value 必须是“整数选择因子”类型兼容的一个常量,而且不能重复。“整数选择因子”是一个特殊的表达式,能产生整数值。switch语句能将整数选择因子的结果与每个整数值比较。若发现相符的,就执行对应的语句;若没有发现相符的,就执行default语句。
在上面的定一个,每一个case均以一个break结尾,这样可以使执行流程跳转至switch主体的末尾(即程序自动结束switch语句)。这是构建switch语句的一种传统方式,但break是可选的。若省略break,会继续执行后面的case语句的代码,直到遇到一个break为止。注意最后的default语句并没有break,因为执行流程已经到了break的跳转目的地。当然,如果考虑到变成风格方面的原因,完全可以在default语句的末尾放置一个break,尽管它并没有任何实际用处。
default可以不在末尾,它其实可以位于任意位置。但是不在末尾的时候,依旧需要在default后面加上break,不然程序会继续执行,因此这时的break也就不是起到装饰作用,而是有了实际用处。
总结一下:switch语句停止执行,根据break的有无以及位置。switch语句只能对整型(字符型、枚举型)等式进行测试,而if语句可以处理任意数据类型的关系表达式、逻辑表达式。
----------------------------------------------------------------------------------------------------------------------------------
for语句的小笔记
一般情况下,for循环语句的条件表达式有一个变量。但是允许有多个表达式,在初始化表达式的时候可以申明多个变量,每个变量用逗号隔开。
比如:for ( int A=2,b=12 ; A
… }
【这个例子不错】案例:用“ * ”摆放菱形
int n=7;
int o=(n/2);
int t=1;
int step =2;
for(int i=0;i
私以为比另一篇文章中的自己做的练习要好,当时自己在考虑打印的时候仅能做到拆分成两个for嵌套循环来完成菱形的打印,殊不知这个案例的想法很巧妙。
----------------------------------------------------------------------------------------------------------------------------------
break的功能
1、在switch中break可以终止一个语句。
2、退出一个循环:分为无标号退出循环和有标号退出循环。
(1)无标号退出循环:是指直接退出循环,当在循环语句中遇到break语句时,循环会立即终止,循环体外面的语句也将会重新开始。如果break在嵌套循环中的内循环的话,只能跳出内循环,而外循环继续运行。
在下面的例子中,不管for循环多少次,它都会在d=3的时候终止程序。
for(int d=0;d<19;d++){
if (d==3)
break;
System.out.println(d);
}
执行效果:
(2)有标号的break语句:在Java程序中,只有嵌套的语句中才可以使用有标号的break语句。在嵌套的循环语句中,可以在循环语句前加一个标号,在使用break语句时,就可以用break后面紧跟着的一个循环语句前面年的标号来退出该标号所在的循环。
举例来说:
out:for(int x=0;x<10;x++){
System.out.println("X= "+x);
for(int y=0;y<10;y++){
if(y==7){
break out;
}
System.out.println("Y= "+y);
}
}
执行效果:
注意点:戴有标号的break语句只能放在这个标号所指的循环里面,如果放到别的循环体会出现编译错误。另外,break后的标号必须是一个有效的标号,即这个标号必须在break语句所在的循环之前定义,或者在其所在循环的外层循环之前定义。break默认的就是结束其所在的循环。
----------------------------------------------------------------------------------------------------------------------------------
return语句
在Java程序中,使用return语句可以返回一个方法的值,并把控制权交给调用它的语句。
return后面的表达式是可选参数,表示要返回的值,它的数据类型必须是同方法声明中的返回值类型一致,这可以通过强制类型转换实现。在编写Java程序时,return语句被放在方法的最后,用于退出当前的程序,并返回一个值。故而return语句也是常用在递归中。
如果把单独的return语句放在一个方法中间会出现编译错误。如果用户要把return语句放在中间,则可以使用条件语句if,然后将return语句放在一个方法中间,用来实现在程序中未执行的全部语句的退出。
举例:return语句放在中间的情况,以及return语句后面表达式的可选参数示范。
public class Try01 {
public static int god(int a,int b){
int min=a;
int max=b;
if(a>b){
min=b;max=a;
}
if(min==0){
return max;
}
else{
return god(min,max-min);
}
}
public static void main(String[] args) {
System.out.println(Try01.god(75, 15));
}
}
执行效果:
----------------------------------------------------------------------------------------------------------------------------------
Continue跳转语句
强制一个循环提前返回,也就是让循环继续执行,但不执行本次循环剩余的循环体中的语句。
举例说明一下:
for(int a=0;a<10;a++){
System.out.print(a);
if(a%2==0){
continue;
}
System.out.println("$");
}
上面代码是无标号的,continue其实也可以带标号。
执行效果:
continue的功能和break有点类似,区别是continue只是中止了本次循环,接着开始下一次循环;而break则是完全终止循环。