xml地图|网站地图|网站标签 [设为首页] [加入收藏]

您的位置:亚洲必赢 > 计算机尝试 > CASE语句的使用,条件语句

CASE语句的使用,条件语句

发布时间:2019-08-21 21:22编辑:计算机尝试浏览(159)

    貌似大家会这么写:

    COBOL IF...ELSE的问题
    000100 IDENTIFICATION DIVISION.

    世家对IF ELSE语句大概都很熟识,它是用来对经过进展支配的。在SQL的世界中CASE语句语句有周围的意义。下边轻松的牵线CASE语句的用法。思量上边包车型客车状态,假诺有个user表,定义如下:

    JAVA 基础 /第十六课: 调节流程 / JAVA的IF和IF ELSE 和 ELSE IF 以及 SWITCH 条件语句,elseswitch

    2018-03-07

    复制代码 代码如下:

    000200 PROGRAM-ID. COB10.

    CREATE TABLE USER   
    (   
    NAME VARCHAR(20) NOT NULL,---姓名   
    SEX INTEGER,---性别(1、男   2、女)   
    BIRTHDAY DATE---生日   
    );  
    CREATE TABLE USER
    (
    NAME VARCHAR(20) NOT NULL,---姓名
    SEX INTEGER,---性别(1、男 2、女)
    BIRTHDAY DATE---生日
    );

    1.if

    if ( 表明式1 ){ 表明式2; } 假若表明式1的值是true,就实践表达式2 图片 1

    public class HelloWorld {
        public static void main(String[] args) {
    
            boolean b = true;
            //如果成立就打印yes
            if(b){
                System.out.println("yes");
            }
    
        }
    }
    

    <?
    if($_GET['time']==null)
    {
    $time = time();
    }
    else
    {
    $time = $_GET['time'];
    }
    echo $time;
    //假诺GET有time那几个值则带入变数time,若无就带以往time()时间
    ?>

    000300 ENVIRONMENT DIVISION.

    CASE使用场地1:把user表导出生成三个文本,必要性别为男或女,并不是1和2,咋做?大家得以用如下的说话管理:

    2.多表明式与贰个表明式

    public class HelloWorld {
        public static void main(String[] args) {
    
            boolean b = false;
            //如果有多个表达式,必须用大括弧包括起来
            if(b){
                System.out.println("yes1");
                System.out.println("yes2");
                System.out.println("yes3");
            }
    
            //否则表达式2 3 无论b是否为true都会执行
    
            if(b)
                System.out.println("yes1");
                System.out.println("yes2");
                System.out.println("yes3");
    
            //如果只有一个表达式可以不用写括弧,看上去会简约一些
            if(b){
                System.out.println("yes1");
            }
    
            if(b)
                System.out.println("yes1");
    
        }
    }
    

    只要只单轻便的判别,照上边这样写就太费事了,何况效果也不高!
    能够改成选用长富一次式:

    000310 INPUT-OUTPUT SECTION.

    SELECT    
        NAME,   
        CASE SEX   
            WHEN 1 THEN '男'  
            ELSE '女'  
        END AS SEX,   
    CASE语句的使用,条件语句。    BIRTHDAY   
    FROM USER;  
    SELECT 
     NAME,
     CASE SEX
      WHEN 1 THEN '男'
      ELSE '女'
     END AS SEX,
     BIRTHDAY
    FROM USER;  

    3.if 选择进度中可能遭受的坑

    在第6行,if后边有二个分行; 而分号也是叁个完完全全的表达式
    万一b为true,会进行这一个分号,然后打字与印刷yes
    若果b为false,不会实行这些分号,然后打字与印刷yes
    像这种类型,看上去无论怎样都会打字与印刷yes

    public class HelloWorld {
        public static void main(String[] args) {
    
            boolean b = false;
    
            if (b);
                System.out.println("yes");
    
        }
    }
    

    复制代码 代码如下:

    000320 FILE-CONTROL.

    CASE使用场馆2:要是user近日不曾值,然后您往user导入了一堆数量,不过很悲伤,错把男设置成为2,而把女设置成为1,今后要求您转移过来,怎么做?

    4.if else

    else 代表不创制的动静

    图片 2

    public class HelloWorld {
        public static void main(String[] args) {
    
            boolean b = false;
    
            if (b)
                System.out.println("yes");
            else
                System.out.println("no");
    
        }
    }
    

    <?
    $time = ($_GET['time']==null) ? (time()) : ($_GET['time']);
    echo $time;
    ?>

    000330 SELECT IN-FILE ASSIGN TO INPUT1.

    办法1:使用三条语句,先把2立异成3,接着把1立异成2,最终把3更新成1,很辛劳,不是吧?

    5.else if

    else if 是多规格判定

    public class HelloWorld {
        public static void main(String[] args) {
    
            //如果只使用 if,会执行4次判断
            int i = 2;
            if (i==1)
                System.out.println(1);
            if (i==2)
                System.out.println(2);
            if (i==3)
                System.out.println(3);
            if (i==4)
                System.out.println(4);
    
            //如果使用else if, 一旦在18行,判断成立, 20行和22行的判断就不会执行了,节约了运算资源
            if (i==1)
                System.out.println(1);
            else if (i==2)
                System.out.println(2);
            else if (i==3)
                System.out.println(3);
            else if (i==4)
                System.out.println(4);     
    
        }
    }
    

    简洁多数!
    大约解释一下安慕希三回式意思
    比如第三个括号()内的论断句创造 就实行问号? 后第二个括号() 的内容,就算不树立则施行问号? 后第三个括号() 的剧情

    000340 SELECT OU-FILE ASSIGN TO OUTPUT1.

    UPDATE USER SET SEX=3 WHERE SEX=2;   
    UPDATE USER SET SEX=1 WHERE SEX=3;   
    UPDATE USER SET SEX=2 WHERE SEX=1;  
    UPDATE USER SET SEX=3 WHERE SEX=2;
    UPDATE USER SET SEX=1 WHERE SEX=3;
    UPDATE USER SET SEX=2 WHERE SEX=1;

    6.switch

    swich 语句也正是 if else的另一种表明情势,switch能够使用byte,short,int,char,String,enum

    注: 每种表明式甘休,都应该有多少个break;
    注: String在Java1.7事先是不辅助的, Java从1.7初叶协理switch用String的,编译后是把String转化为hash值,其实依然偏分头
    注: enum是枚举类型,在枚举章节有详细讲授

    public class HelloWorld {
        public static void main(String[] args) {
    
            //如果使用if else
            int day = 5;
            if (day==1)
                System.out.println("星期一");
    
            else if (day==2)
                System.out.println("星期二");
            else if (day==3)
                System.out.println("星期三");
            else if (day==4)
                System.out.println("星期四");
            else if (day==5)
                System.out.println("星期五");
            else if (day==6)
                System.out.println("星期六");
            else if (day==7)
                System.out.println("星期天");
            else
                System.out.println("这个是什么鬼?");
    
            //如果使用switch
            switch(day){
                case 1:
                    System.out.println("星期一");
                    break;
                case 2:
                    System.out.println("星期二");
                    break;
                case 3:
                    System.out.println("星期三");
                    break;
                case 4:
                    System.out.println("星期四");
                    break;
                case 5:
                    System.out.println("星期五");
                    break;
                case 6:
                    System.out.println("星期六");
                    break;
                case 7:
                    System.out.println("星期天");
                    break;
                default:
                    System.out.println("这个是什么鬼?");
            }
    
        }
    }
    

     

    基础 /第十六课: 调控流程 / JAVA的IF和IF ELSE 和 ELSE IF 以及 SWITCH 条件语句,elseswitch 2018-03-07 1.if if ( 表明式1 ){ 表达式2; }要是表明式1的...

    复制代码 代码如下:

    000341 *

    方法2:使用CASE语句

    <?
    $a = 5; //定义变数a=5
    $b = 3; //定义变数b=5
    $c = ($a==$b) ? ("yes") : ("no");
    //如果 a=b,c就=yes ; a不等于b,c就=no
    ?>

    000350 DATA DIVISION.

    UPDATE USER SET SEX=   
    (   
    CASE SEX   
    WHEN 1 THEN 2   
    WHEN 2 THEN 1   
    ELSE SEX   
    END   
    );  
    UPDATE USER SET SEX=
    (
    CASE SEX
    WHEN 1 THEN 2
    WHEN 2 THEN 1
    ELSE SEX
    END
    );

    再有一种简化

    000360 FILE SECTION.

          留心的相恋的人只怕早已意识了,下面的方法1的三条语句的实践顺序有毛病,没有错,是自己故意那贰个写的,仅仅是把1变成2,把2改成1就那么辛劳,何况很轻松出错,想象一下,即便有好些个那样的值要求退换,那是一种何等的情事。还好,咱们有CASE语句,有十分的多如此的值必要改动,CASE语句也不会设有毛病。或者某些朋友或然有质疑,那样做会不会死循环啊?哈哈,主见很好,如果您意识这么做会死循环,应当要告诉IBM,笔者左右没察觉。

    复制代码 代码如下:

    000361 *

    CASE使用场馆3:假如让您把张三的出生之日更新成一九四九-10-1,李四的生辰更新成一九九九-7-1等,类似那样的翻新由众多。该怎么做吧?非常轻松,大多数人会这样做。

    $bool = true;
    if($bool)
    {
    setValueFun();
    }

    000370 FD IN-FILE.

    update USER set BIRTHDAY='1949-10-1' where NAME='张三';   
    update USER set BIRTHDAY='1997-7-1' where NAME='李四';  
    update USER set BIRTHDAY='1949-10-1' where NAME='张三';
    update USER set BIRTHDAY='1997-7-1' where NAME='李四';

    能够简化成

    000380 01 CUST-IN.

    当USE索罗德表的数据量一点都不小,而NAME字段上又未有索引时,每条语句都要拓宽全表扫描,假如如此的语句有过多,功用会卓绝差,那时候大家能够用CASE语句,如下:

    复制代码 代码如下:

    000381 05 N0-A PIC X.

    UPDATE USER SET BIRTHDAY=   
    (   
    CASE NAME   
    WHEN '张三' THEN '1949-10-1'  
    WHEN '李四' THEN '1997-7-1'  
    ELSE BIRTHDAY   
    END   
    )   
    where NAME in ('张三','李四');  
    UPDATE USER SET BIRTHDAY=
    (
    CASE NAME
    WHEN '张三' THEN '1949-10-1'
    WHEN '李四' THEN '1997-7-1'
    ELSE BIRTHDAY
    END
    )
    where NAME in ('张三','李四');

    本文由亚洲必赢发布于计算机尝试,转载请注明出处:CASE语句的使用,条件语句

    关键词: sql oracle cobol