swift 2.x学习笔记(二)

//: Playground - noun: a place where people can play

 

import UIKit

 

var str = "Hello, playground"

 

let individualScores = [75, 43, 103, 87, 12];

var teamScore = 0;

for score in individualScores {

//    if 里的条件判断 不用加()

    if score > 50{

        teamScore += 3;

    } else{

        teamScore += 1;

    }

}

 

print(teamScore);

 

//? 可选值 可为nil

 

//你可以一起使用 if let 来处理值缺失的情况。这些值可由可选值来代表。一个可选的值是一个具体的值或者 nil 以表示值缺失。在类型后面加一个问号来标记这个变量的值是可选的。

var optionalString : String? = "Hello";

print(optionalString == nil)

 

var optionalName:String? = nil;

var greeting = "Hello";

if let name = optionalName {

    greeting = "Hello, \(name)";

} else if(optionalName == nil){

    greeting = "bye"

}

 

//?? 默认值

//如果变量的可选值是 nil ,条件会判断为 false ,大括号中的代码会被跳过。如果不是 nil ,会将值赋给 let 面的常量,这样代码块中就可以使用这个值了。

//另一种处理可选值的方法是通过使用 ?? 操作符来提供一个默认值。如果可选值缺失的话,可以使用默认值来代 替。

let nickName : String? = nil;

let fullName : String = "John Appleseed";

let informalGreetin = "Hi \(nickName ?? fullName)";

 

//switch 支持任意类型的数据以及各种比较操作——不仅仅是整数以及测试相等。

let vegetable = "red pepper";

switch vegetable {

    case "celery":

        print("Add some raisins and make ants on a log.");

    case "cucumber","watercress":

        print("That would make a good tea sandwich.");

    case let x where x.hasSuffix("pepper"):

        print("Is it a spicy \(x)");

    default:

        print("Everyting tastes good in soup");

}

 

let interestingNumbers = [

    "Prime":[2, 3, 5, 7, 11, 13],

    "Fibonacci":[1, 1, 2, 3, 5, 8],

    "Square":[1, 4, 9, 16, 25],

];

var largest = 0;

var largestKind : String? = nil;

//你可以使用 for-in 来遍历字典,需要两个变量来表示每个键值对。字典是一个无序的集合,所以他们的键和值以 任意顺序迭代结束。

for (kind, numbers) in interestingNumbers {

    for number in numbers{

        if number > largest {

            largest = number;

            largestKind = kind;

        }

    }

}

 

var n = 2;

while n < 100 {

    n = n*2;

}

print(n)

var m = 2;

repeat{

    m = m*2;

}while m < 100

print(m)

 

var firstForLoop = 0

//..< 不包含上界 ...包含上界

//可以在循环中使用 ..< 来表示范围,也可以使用传统的写法,两者是等价的:

for i in 0...4 {

    firstForLoop += i;

}

print(firstForLoop)

 

var secondForLoop = 0;

for var i = 0; i < 4; ++i {

    secondForLoop += i;

}

print(secondForLoop);

 

 

 

 

posted @ 2016-11-16 00:26  wjwdive  阅读(346)  评论(0编辑  收藏  举报