流程控制
- if-else
if-else 是一个基本的流程控制语法,用于判断某个条件是否成立,然后执行不同的业务逻辑,基本语法:
if(判断条件){
//条件成立的业务逻辑
}else{
//条件不成立的业务逻辑
}
运算符优先级顺序: ! > 算术运算符 > 关系运算符 > && > | | 。
- 多重if
173 以下M,173~178 L,178 以上 XL
if-else 的使用比较灵活,可以根据不同的情况选择不同的组合方式,需要注意的是:
-
if 后面必须跟条件
-
eles 后面不能跟条件
-
eles 后面可以直接跟{//逻辑代码},也可以跟if语句。
-
if 嵌套
成绩大于80分可以进入决赛,根据年龄分别进入A组(20岁以上),B(18~19岁)
- switch-case
switch-case 也可以完成流程控制,与 if 不同的是,switch-case 只能完成等值判断,即条件如果是判断两个值是否相等,可以使用 switch-case ,如果是比较两个值的大小关系,则不能使用 switch-case ,switch 支持 int、short、byte、char、枚举、String 类型数据的判断,不支持 boolean 类型。
基本语法:
switch(变量){
case 值1:
代码1
break;
case 值2:
代码2
break;
......
default:
代码n;
break;
}
if - else
if(变量 == 值1){
代码1
}else if(变量 == 值2){
代码2
}
......
else{
代码n
}
case 判断 switch 后面的变量是否等于某个值,default 表示所有的 case 都不成立的情况下所执行的代码。
每一个 case 语句必须要跟 break,表示结束当前的代码块,如果不跟 break,则从当前的 case 语句起,后续所有的 case 都不再进行判断,直接执行相关代码。
循环
当循环条件成立时,会重复执行循环体中的代码,直到循环条件不成立,我们应该在循环体中动态控制循环条件是否成立,编写循环逻辑时,需要额外添加控制循环条件的代码,这些代码组成了循环四要素:
- 初始化循环变量;
- 循环条件;
- 循环体;
- 更新循环变量;
while循环
do — while循环
for循环
任何一种形式的循环代码,四要素缺一不可。
流程控制实例
进阶-----switch case
switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte、short、int、char、还有枚举;需要强调的是:long和String类型是不能作用在switch语句上的。
case B:C;case是常量表达式,也就是说B的取值只能是常量(需要定义一个final型的常量,后面会详细介绍原因)或者int、byte、short、char(比如1、2、3、200000000000(注意了这是整型)),如果你需要在此处写一个表达式或者变量,那么就要加上单引号; case后的语句可以不用大括号,就是C不需要用大括号包裹着;
default就是如果没有符合的case就执行它,default并不是必须的.
选用枚举类型可以进行选择字符串
public enum Color {
RED("red color", 0),
GREEN("green color", 1),
BLUE("blue color", 2),
YELLOW("yellow color", 3);
Color(String name, int id) {
_name = name;
_id = id;
}
private String _name;
private int _id;
public String getName() {
return _name;
}
public int getId() {
return _id;
}
public static Color getColor(int max) {
Random random = new Random(System.currentTimeMillis());
int num = random.nextInt(max);
switch (num) {
case 0:
return Color.RED;
case 1:
return Color.GREEN;
case 2:
return Color.BLUE;
case 3:
return Color.YELLOW;
default:
return Color.BLUE;
}
}
public static void main(String[] args) {
int len = Color.values().length;
Color color = Color.getColor(len);
switch (color) {
case RED:
System.out.println("select " + RED._name);
break;
case GREEN:
System.out.println("select " + GREEN._name);
break;
case BLUE:
System.out.println("select " + BLUE._name);
break;
case YELLOW:
System.out.println("select " + YELLOW._name);
break;
default:
System.out.println("select " + "unknow!!");
break;
}
}
}