黑马程序员技术交流社区

标题: if 与 switch 语句 [打印本页]

作者: STARlove    时间: 2015-8-7 23:38
标题: if 与 switch 语句


if语句格式:

                第一种格式:
                        if(条件表达式){
                                语句体;
                        }
                        执行流程:
                                如果条件表达式为true,就执行语句体;
                                否则,什么都不执行。

                第二种格式:
                        if(条件表达式){
                                语句体1;
                        }
                        else{
                                语句体2;
                        }
                        执行流程:
                                如果条件表达式为true,就执行语句体1;
                                否则,就执行语句体2;

                        特殊:
                                可以和条件表达式在某些情况下进行替换。
                                一般是在赋值的情况下可以。

                        举例:
                                获取两个数中的最大值。
               
                第三种格式:
                        if(条件表达式1){
                                语句体1;
                        }
                        else if(条件表达式2){
                                语句体2;
                        }
                        ...
                        else{
                                语句体n;
                        }       

                        执行流程:
                                如果条件表达式1为true,就执行语句体1;
                                如果条件表达式2为true,就执行语句体2;
                                ...
                                否则,就执行语句体n;
               
*注意事项
        a:什么时候时候哪一种if语句。
                第一种格式在判断条件为一种情况下使用。
                第二种格式在判断条件为两种情况下使用。
                第三种格式在判断条件为多种情况下使用。
        b:每一种if语句其实都是一个整体,如果有地方执行了,
          其他的就不执行了。
        c:如果if或者else里面控制的语句体是一条语句,是可以省略大括号的,
          但是,如果是控制多条语句,就必须写上大括号。
          建议:永远写上大括号。
        d:大括号和分号一般不同时出现。

*作用域
        所有变量的定义只在它所属的大括号内有效。





switch(表达式){
        case 值1:
                语句
                break;
        case 值2:
                语句
                break;
        case 值3:
                语句
                break;
        ... ...
        default:
                语句
                break;


表达式数据类型:
        byte;short;int;char.

switch语句的特点:
       
A:针对格式的解释
        switch:表示这里使用的是switch语句,后面跟的是选项。
                表达式:byte,short,int,char
                        JDK5以后可以是枚举(以后讲)
                        JDK7以后可以是字符串(后面讲)
        case:表示这里就是选项的值,它后面的值将来和表达式的值进行匹配。
        case后面的值是不能够重复的。
        break:
                switch语句执行到这里,就结束了。
        default:
                当所有的case和表达式都不匹配的时候,就走default的内容。
                它相当于if语句的else。一般不建议省略。
B:执行流程
        进入switch语句后,就会根据表达式的值去找对应的case值。
        如果最终没有找到,那么,就执行default的内容。
               
C:注意事项:
        a:default整体可以省略吗?
                可以,但是不建议。
        b:default的位置可以放到前面吗?
                可以,但是不建议。
        c:break可以省略吗?
                可以,但是不建议。
                default在最后,break是可以省略的。
                case后面的break可以省略,但是结果可能有问题。
        d:switch语句什么时候结束呢?
                就是遇到break或者执行到程序的末尾。







作者: STARlove    时间: 2015-8-7 23:39
附加Scanner的 使用:
        A,导包
                import java.util.Scanner;
        B,创建对象,封装键盘录入
                Scanner sc = new Scanner(System.in);
        C,调用方法,获取数据
                int number = sc.nextInt();
作者: Marx_D    时间: 2015-8-7 23:48
zhengli de ,很详细呀。。。。
作者: burningzzy    时间: 2015-8-8 00:12
够详细。
作者: fantianfei    时间: 2015-8-8 00:51
可以,但是不建议。
作者: yongaidongbing    时间: 2015-8-8 13:13
不错不错哦
作者: F灬灬    时间: 2015-8-8 14:28
不错不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2