黑马程序员 java基础--》 if语句与switch语句 小结

来源:互联网 发布:舜宇光学 知乎 编辑:程序博客网 时间:2024/05/17 04:12

------- android培训、java培训、期待与您交流! ----------

判断结构的if语句有三种格式

1. if(条件表达式)                       

      {

执行语句;

}

2.if(条件表达式)

      {

执行语句;

}

else

      {

执行语句;

}

3.if(条件表达式)

      {

执行语句;

}

else if (条件表达式)

      {

执行语句;

}

·······

else

      {

执行语句;

}

if:如果。else:否则。


练习

需求1:根据用户自定义数据不同,打印对应的星期英文。
需求2:根据用户指定月份,打印该月份所属的季节。
3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12,1,2 冬季。



class ifelse
{
public static void main(String[] args)
{


int n = 3;
if(n==1)
System.out.println(n+"是星期一");
else if(n==2)
System.out.println(n+"是星期二");
else if(n==3)
System.out.println(n+"是星期三");
else if(n==4)
System.out.println(n+"是星期四");
else if(n==5)
System.out.println(n+"是星期五");
else if(n==6)
System.out.println(n+"是星期六");
else if(n==7)
System.out.println(n+"是星期日");
else 
System.out.println(n+"不存在");


int m = 5;


if(m>12 || m<1) //先把1~12提取出来
System.out.println(m+"不存在");
else if(m>=3 && m<=5) 
System.out.println(m+"月在春季");
else if(m>=6 && m<=8) 
System.out.println(m+"月在夏季");
else if(m>=9 && m<=11) 
System.out.println(m+"月在秋季");
else  //1,2,12 不用写剩下的就是
System.out.println(m+"月在冬季");
}

}


if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;

三元运算符

好处:可以简化if else 代码

弊端:因为是一个运算符,所以运算完必须要有一个结果。

if else全写格式可以不需要结果。


选择结构:switch 语句

格式:

switch (表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

```````

default:

执行语句;

break;

}



需求:根据用户指定月份,打印该月份所属的季节。

3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12,1,2 冬季。

int x = 22;
switch(x)
{
case 3:
case 4:
case 5:
System.out.println(x+"月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(x+"月是春季");
break;
   case 9:
case 10:
case 11:
System.out.println(x+"月是春季");
break;
case 12:
case 1:
case 2:
System.out.println(x+"月是春季");
break;
default:
System.out.println(x+"不存在");
//最后一句的break可以省略。

}

swith语句特点:

1.switch语句选择的类型只有四种:byte,short,int,char。

2.case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。

3.结束swith语句的两种情况:遇到break,执行到语句结束。

4.如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者with结尾结束。


if和swith语句很像,具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,并符合byte,short,int,char。虽然两个语句都可以使用,建议使用swith语句。效率稍高

其他情况:区间判断,对结果为boolean类型判断,使用if,if范围更广。