04.控制结构
switch语句
-
switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)
-
表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型
-
case子句中的值必须是常量或常量表达式
注:switch 底层是使用 int 型 来进行判断的,即使是枚举、String类型,最终也是转变成 int 型。由于 long 型表示范围大于 int 型,可能会有精度损失,因此不支持 long 类型(浮点型也是如此)。推荐一个解释的网址:https://www.cnblogs.com/javastack/p/14358506.html
Java 增强 for 循环
语法格式如下:
for(声明语句 : 表达式) { //代码句子 }
**声明语句:**声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
**表达式:**表达式是要访问的数组名,或者是返回值为数组的方法。
**跳出多层循环:**在外部循环的前一行,加上标签在break的时候使用该标签即能达到结束外部循环的效果
public class HelloWorld {
public static void main(String[] args) {
//打印单数
outloop: //outloop这个标示是可以自定义的比如outloop1,ol2,out5
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println(i+":" + j);
if(0 == j % 2)
break outloop; //如果是双数,结束外部循环
}
}
}
}
注:标签名字由程序员指定,break后指定到哪个标签就退出到哪里,但是在实际开发中,尽量不要使用标签,如果没有指定break,默认退出最近的循环体(continue也是类似的)
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构成为内层分支,外面的分支结构成为外层分支。
建议:不管是循环结构还是分支结构,不要超过三层(可读性不好)