Swift中的逻辑运算,在哪些时候可以不写default

var point = (2,17)

/*

/*

//MARK:-

switch point {

 Swith

 Swith

//MARK:- *****if语句*****

//case (var x,17):

 格式: switch(须求相称的值) case 相称的值: 须要施行的讲话 break;

 格式: switch(供给10分的值) case 相称的值: 供给进行的言辞 break;

/*

//    print(“x = \(x)”)

 OC:

 OC:

一、if 条件发挥式 {指令}   

case (var x,var y):

 char rank = ‘A’;

 char rank = ‘A’;

二、if 条件发挥式 {指令} else{指令}

    print(“x = \(x),y = \(y)”)

 switch (rank) {

 switch (rank) {

3、if后的()能够简轻便单

//default: break

 case ‘A’:

 case ‘A’:

肆、在Swift的论断句中务必有显然的真假,只好以bool作为规范语句,Bool值有多少个取值:false/true

}

 NSLog(@”优”);

 NSLog(@”优”);

5、倘若唯有条指令if,前面包车型大巴大括号不得以大致

 break;

 break;

*/

 case ‘B’:

 case ‘B’:

    let score = 87

 NSLog(@”良”);

 NSLog(@”良”);

    if score < 60 {

 break;

 break;

        print(“不及格”)

 case ‘C’:

 case ‘C’:

    } else if score < 70 {

 NSLog(@”差”);

 NSLog(@”差”);

        print(“及格”)

 break;

 break;

    } else if score < 80 {

 default:

 default:

        print(“良好”)

 NSLog(@”未有评级”);

 NSLog(@”未有评级”);

    } else {

 break;

 break;

        print(“优秀”)

 }

 }

    }

 

 

 

 可以穿透

 可以穿透

//MARK:-

 char rank = ‘A’;

澳门葡京备用网址, char rank = ‘A’;

//MA卡宴K:- *****三目运算符*****

 switch (rank) {

 switch (rank) {

/*

 case ‘A’:

 case ‘A’:

    斯维夫特中3目运算符保持了和OC壹致的作风

 NSLog(@”优”);

 NSLog(@”优”);

*/

 case ‘B’:

 case ‘B’:

    var a = 10

 NSLog(@”良”);

 NSLog(@”良”);

    var b = 23

Swift中的逻辑运算,在哪些时候可以不写default。 break;

 break;

    var resulte = a>b ? a : b

 case ‘C’:

 case ‘C’:

    print(resulte)

 NSLog(@”差”);

 NSLog(@”差”);

 

 break;

 break;

//MARK:-

 default:

 default:

//MARK:- *****guard的使用*****

 NSLog(@”未有评级”);

 NSLog(@”未有评级”);

/*

 break;

 break;

一、guard是斯维夫特二.0新增添的语法,它与if语句格外周边,它设计的目标是增进度序的可读性

 }

 }

二、guard必须用在函数里面,guard语句必须带有else语句,语法如下:

 

 

    二.一 当规则发挥式位true的时候跳过else语句,实践语句中的内容

 能够不写default

 可以不写default

    二.贰条件表明式为false的时候实行else语句中的内容,跳转语句一般是:return(一般用在函数里)、break(一般用在循环语句)、continue(一般用在循环语句)、throw

 char rank = ‘A’;

 char rank = ‘A’;

3、guard表达式

 switch (rank) {

 switch (rank) {

    guard 条件表达式 else {

 case ‘A’:

 case ‘A’:

        条换语句

 NSLog(@”优”);

 NSLog(@”优”);

        break

 break;

 break;

    }

 case ‘B’:

 case ‘B’:

    语句组

 NSLog(@”良”);

 NSLog(@”良”);

*/

 break;

 break;

    func online(age : Int) -> Void{

 case ‘C’:

 case ‘C’:

        guard age > 18 else{

 NSLog(@”差”);

 NSLog(@”差”);

            print(“能够上网”)

 break;

 break;

            return

 }

 }

        }

 

 

        print(“未成年”)

 default地方能够不管放

 default地方能够任由放

    }

 char rank = ‘E’;

 char rank = ‘E’;

online(a)

 switch (rank) {

 switch (rank) {

 

 default:

 default:

//MARK:-

 NSLog(@”未有评级”);

 NSLog(@”未有评级”);

//MARK:- *****switch语句*****

 break;

 break;

/*

 case ‘A’:

 case ‘A’:

壹、Swift中对switch实行了大大的巩固,使其独具了此外语言中未有的特征

 {

 {

二、基本用法与OC用法一致

 int score = 100;

 int score = 100;

三、switch后得以不加()

 NSLog(@”优”);

 NSLog(@”优”);

4、case后得以不跟break(私下认可会有break),不过default不能够轻易

 break;

 break;

伍、1个case可以确定四个值

 }

 }

6、帮忙八种数据类型推断(浮点数据类型、字符串数据类型、区间类型)

 case ‘B’:

 case ‘B’:

    陆.一 斯维夫特中的区间常见有三种:

 NSLog(@”良”);

 NSLog(@”良”);

        一、半开半闭区间:0..<十 表示0到玖

 break;

 break;

        2、闭区间:0…10 表示0到10

 case ‘C’:

 case ‘C’:

7、固然期待case穿透,则能够运用主要字fallthrough

 NSLog(@”差”);

 NSLog(@”差”);

8、具体变化如示例程序所示

 break;

 break;

*/

 }

 }

//MACR-VK:一、基本用法

 

 

    let sex = 0

 

 

    switch sex {

 在case中定义变量供给加大括号, 不然功效域混乱

 在case中定义变量须要加大括号, 否则成效域混乱

    case 0:

 char rank = ‘A’;

 char rank = ‘A’;

        print(“男人”)

 switch (rank) {

 switch (rank) {

    case 1:

 case ‘A’:

 case ‘A’:

        print(“女人”)

 {

 {

    default:

 int score = 100;

 int score = 100;

        print(“绝B去过泰王国”)

 NSLog(@”优”);

 NSLog(@”优”);

    }

 break;

 break;

 

 }

 }

//MA奥迪Q三K:贰、3个case能够确定多少个值

 case ‘B’:

 case ‘B’:

    switch sex {

 NSLog(@”良”);

 NSLog(@”良”);

    case 0,1:

 break;

 break;

        print(“正常人”)

 case ‘C’:

 case ‘C’:

    default:

 NSLog(@”差”);

 NSLog(@”差”);

        print(“人妖”)

 break;

 break;

    }

 }

 }

 

 

 

//MARK:3、case穿透:fallthrough

 不能剖断目的类型

 无法判断目标类型

    switch sex {

 NSNumber *num = @100;

 NSNumber *num = @100;

    case 0:

 switch (num) {

 switch (num) {

        print(“正常人”)

 

 

        fallthrough

 case @100:

 case @100:

    case 1:

 NSLog(@”优”);

 NSLog(@”优”);

        print(“正常人”)

 break;

 break;

    default:

 default:

 default:

        print(“人妖”)

 NSLog(@”未有评级”);

 NSLog(@”未有评级”);

    }

 break;

 break;

 

 }

 }

//MAOdysseyK:四、浮点型判定

 */

 */

    let π = 3.14

 

 

    switch π {

/** Swift:可以剖断目的类型, OC必须是整数 **/

/** 斯维夫特:能够判明指标类型, OC必须是整数 **/

    case 3.14:

//不可以穿透

//不能穿透

        print(“is \(π)”)

//能够不写break

//能够不写break

    default:

var rank = “A”

var rank = “A”

        print(“not π”)

switch rank{

switch rank{

    }

    case “A”:  // 相当于if

    case “A”:  // 相当于if

 

      print(“A”)

      print(“A”)

//MA昂CoraK:五、字符串类型

    case “B”: // 相当于 else if

    case “B”: // 相当于 else if

    let operation = “+”

      print(“B”)

      print(“B”)

    switch operation {

    case “C”: // 相当于 else if

    case “C”: // 相当于 else if

    case “+”:

      print(“C”)

      print(“C”)

        resulte = a + b

    default:  // 相当于 else

    default:  // 相当于 else

    case “-“:

      print(“其他”)

      print(“其他”)

        resulte = a – b

}

}

    case “*”:

 

 

        resulte = a * b

/*

/*

    case “/”:

 因为不能穿透所以不可能那样写

 因为无法穿透所以无法如此写

        resulte = a / b

 var rank1 = “A”

 var rank1 = “A”

    default:

 switch rank1{

 switch rank1{

    resulte = 0

 case “A”:

 case “A”:

    }

 case “B”:

 case “B”:

    print(resulte)

 print(“B”)

 print(“B”)

 

 case “C”:

 case “C”:

//MA揽胜极光K:陆、区间类型

 print(“C”)

 print(“C”)

    switch score {

 default:

 default:

    case 0..<60:

 print(“其他”)

 print(“其他”)

        print(“不及格”)

 }

 }

    case 60..<70:

 */

 */

        print(“及格”)

//只可以这么写

//只可以如此写

    case 70..<80:

var rank1 = “A”

var rank1 = “A”

        print(“良好”)

switch rank1{

switch rank1{

    case 80…100:

case “A”, “B”: // 注意OC不可能如此写

case “A”, “B”: // 注意OC不可能那样写

        print(“优秀”)

    print(“A&&B”)

    print(“A&&B”)

    default:

case “C”:

case “C”:

        print(“不客观成绩”)

    print(“C”)

    print(“C”)

    }

default:

default:

 

    print(“其他”)

    print(“其他”)

//MAKoleosK:7、区间和元祖相称

}

}

    var point = (1, 15)

 

 

    switch point{

/*

/*

    case (0, 0):

 //不能够不写default

 //不能够不写default

        print(“坐标在原点”)

 var rank2 = “A”

 var rank2 = “A”

    case (一…拾, 拾…20): // 能够在元祖中再增添区间

 switch rank2{

 switch rank2{

        print(“坐标的X和Y在1~10之间”)

 case “A”:

 case “A”:

    case (_, 0): // X能够是大肆数

 print(“A”)

 print(“A”)

        print(“坐标的X在X轴上”)

 case “B”:

 case “B”:

    default:

 print(“B”)

 print(“B”)

        print(“Other”)

 case “C”:

 case “C”:

    }

 print(“C”)

 print(“C”)

 

 }

 }

//MARK:8、值绑定

 */

 */

    point = (1, 10)

 

 

    switch point{

/*

/*

    case (var x, 拾): // 会将point中X的值赋值给X

 //default地点只可以在最终

 //default地方只幸亏最后

    print(“x= \(x)”)

 var rank3 = “A”

 var rank3 = “A”

    case (var x, var y): // 会将point中X、Y的值赋值给X、Y

 switch rank3{

 switch rank3{

    print(“x= \(x) y= \(y)”)

 default:

 default:

    case var( x, y):

 print(“其他”)

 print(“其他”)

    print(“x= \(x) y= \(y)”)// 会将point中X、Y的值赋值给X、Y

 case “A”:

 case “A”:

    default:

 print(“A”)

 print(“A”)

    print(“Other”)

 case “B”:

 case “B”:

    }

 print(“B”)

 print(“B”)

//依照条件绑定

 case “C”:

 case “C”:

    point = (100, 10)

 print(“C”)

 print(“C”)

    switch point{

 }

 }

    // 唯有where前边的尺码表明式为真才赋值并实施case后的语句

 */

 */

    case var(x, y) where x > y:

 

 

    print(“x= \(x) y= \(y)”)

//在case中定义变量不用加大括号

//在case中定义变量不用加大括号

    default:

var rank4 = “A”

var rank4 = “A”

    print(“Other”)

switch rank4{

switch rank4{

    }

case “A”:

case “A”:

 

    var num = 10

    var num = 10

    print(“A”)

    print(“A”)

case “B”:

case “B”:

    print(“B”)

    print(“B”)

case “C”:

case “C”:

    print(“C”)

    print(“C”)

default:

default:

    print(“其他”)

    print(“其他”)

}

}

 

 

/*

/*

间隔和元祖相称

距离和元祖相称

var num = 10

var num = 10

switch num{

switch num{

  case 1…9:

  case 1…9:

    print(“个位数”)

    print(“个位数”)

  case 10…99:

  case 10…99:

    print(“十位数”)

    print(“十位数”)

  default:

  default:

    print(“其他数”)

    print(“其他数”)

}

}

 

 

var point = (10, 15)

var point = (10, 15)

switch point{

switch point{

case (0, 0):

case (0, 0):

    print(“坐标原点”)

    print(“坐标原点”)

case (1…10, 10…20):

case (1…10, 10…20):

    print(“坐标的X和Y在1~10之内”) // 能够在元祖中再增添区间

    print(“坐标的X和Y在1~十之间”) // 能够在元祖中再增添区间

default:

default:

    print(“Other”)

    print(“Other”)

}

}

*/

*/

 

 

/*

/*

//值绑定

//值绑定

var point = (1, 10)

var point = (1, 10)

    switch point{

    switch point{

    case (var x, 10):   // 会将point中的x赋值给

    case (var x, 10):   // 会将point中的x赋值给

        print(“x = \(x)”)

        print(“x = \(x)”)

    case (var x, var y): // 会将point中xy的值赋值给xy

    case (var x, var y): // 会将point中xy的值赋值给xy

        print(“x = \(x) y = \(y)”)

        print(“x = \(x) y = \(y)”)

    case var(x,y):

    case var(x,y):

        print(“x = \(x) y =\(y)”)

        print(“x = \(x) y =\(y)”)

    default:

    default:

        print(“Other”)

        print(“Other”)

    }

    }

 

 

//依据条件绑定

//依据标准绑定

var point = (101, 100)

var point = (101, 100)

switch point{

switch point{

    // 唯有where前边的规则表明式为真才赋值并举行case后的话语

    // 唯有where后边的原则表明式为真才赋值并实施case后的言语

case var(x, y) where x > y:

case var(x, y) where x > y:

    print(“x = \(x) y = \(y)”)

    print(“x = \(x) y = \(y)”)

default:

default:

    print(“Other”)

    print(“Other”)

}

}

 */

 */

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website