/*
选择结构:程序有选择性的去执行某一行或某几行代码
有两种常用语句: if else语句 switch case语句
早期的鸟儿有虫子
*/
// if else语句
/*
if 如果
在 if语句 后面紧跟的是某一种情形或者条件 是一种 布尔类型 的表达式
语法规则:(布尔类型表达式) !!表达式要写在括号里边
{
如果这种情形或者条件成立,那么程序员就会进入到if后面紧邻的{}内部
后面紧邻的或括号{}可以选择不写,但是不推荐
}
如果if后面跟的是一种情形,我们也称为if else中的单支(情形/条件)语句,没有else语句
如果if 后面跟的是多种情形,我们也称为if else中的多支(情形/条件)语句,有else语句
*/
// 单支语句 if(条件语句){条件成立时,程序需要执行的代码}
boolean isFree = false; // ture 有空 false 没空
if (isFree) {
System.out.println("我去找你玩...");
}
boolean isMoney = false;// false 没钱 true 有钱
if (isMoney) {
System.out.println("我就要资助贫困山区的孩子们");
}
//多支语句
/* else 否则,其他
语法结构:
if(条件1、情形1){
条件1/情形1成立时,程序需要执行代码1...
.
.
}else(条件2/情形2){
条件2/情形2成立时,程序需要执行代码2....
..
.
.
}else (条件n/情形n){
条件n/情形n成立时,程序需要执行代码n.....
}
互斥:在多支语句中,这多种情形是一种互斥关系,非你即我,只有一种情形会成立,程序也只会执行条件里面的一种
代码
在多支语句中,如果最后一种情形它包含了它以上情形之外的所有情形,那么该种情形也可以这样表达:省略
*/
String traLight = "黄灯";//红灯停,绿灯行,黄灯等待
if (traLight == "红灯") {
System.out.println("停下");
} else if (traLight == "绿灯") {
System.out.println("通行");
} else if (traLight == "黄灯") {
System.out.println("等待");
}
//嵌套语句:在某种情形下,内部又可以分化为多种情形
String rule="靠右行驶";
if (traLight == "红灯") {
System.out.println("停下");
} else if (traLight == "绿灯"){
System.out.println("同行安全");
}
String employee="华为员工";
String welfare="缴纳五险一金";
String overall="缴纳五险";
if(employee=="华为员工"){
if(welfare=="缴纳五险一金"){
if(overall=="五险") {
System.out.println("该公司真是好公司");
}else {
System.out.println("该公司好坏呀!");
}
}else{
System.out.println("该公司真黑呀!");
}
}
/*
switch case语句
语法结构:
switch(表达式/变量){
case 值1(就是具体的数据):
语句1/代码1;
case 值2(同上):
语句2/代码2;
case 值3(同上):
语句3/代码3;
......
case 值n(同上):
语句n/代码n;
default:
语句n+1/代码n+1;
}
备注:
1. 如果switch(变量)如果要在()放变量需要在switch语句上面先定义或声明出来;
当变量的值等于值1的时候程序就会执行值1冒号后面的内容;
当变量的值等于值2的时候,程序就会执行值2冒号后面的内容;
以此类推下去
当变量的值等于值n的时候,程序会执行值n冒号后面的内容;
当变量的值都不满足以上所有的情形时,程序执行default冒号后面的内容。
2. case后面的值的数据类型要和switch小括号中的(变量)的数据类型保持一致
3. 避免穿透现象,需要使用跳出语句 break 不瑞克 continue
需要显示的声明在case情形语句中的最后一行,通常使用break进行程序的跳出
4. switch(表达式/变量中的值的数据类型可以是以下:
byte short int char string 枚举)
5. case 后面的值不能是不确定的值必须是确定的值。
6. case 情形之间也是一种互斥关系。非你即我
*/
//描述一个人的一生的状态
String status = "成长期";
switch (status) {
case "婴幼期":
System.out.println("吃奶、、、");
break;
case "成长期":
System.out.println("拥有强烈的好奇");
break;
case "成熟期":
System.out.println("看淡人世间的名与利");
break;
case "衰老期":
System.out.println("走走看看人世间的花花绿绿");
break;
case "死亡期":
System.out.println("保持一颗童心");
break;
default:
System.out.println("长生不老");
}