zoukankan      html  css  js  c++  java
  • Swift语言

    /*
    //main Swift 没有main函数
    //什么是SWift?
    //swift是在2014年 WWDC 发布的一款脚本语言。
    //好处: OC ARC 最大的困难 内存管理
    //swift 不用担心内存方面。简洁 、功能强大。
    //弱点:安全度不高。.h .m
    //语法简单  与 oc语言可以相互调用
    
    //swift两个不需要:1.分号“;”
    //在同一行里有两句代码时,必须要加分号
    let 常量 = 30
    
    //注释。/* /*  */   */可以嵌套使用注释
    
    //打印  ()会自动给你计数出()里面相应的值
    print("(常量)
    ")
    
    
    //变量的定义  var
    
    var 变量1 = 60
    
    //改变变量1的值
    变量1 = 60
    println("(变量1)")
    
    /*
    
    swift 变量和常量的命名规则
    
    1.不能有数学符号(如:+)
    2.不能包含箭头
    3.不能有非法无效的非编码字符
    4.不能有关键字
    5.不能包含横线,指示符(my-name)
    6.不能以数字开头
    7.不能单独的只有一个下划线(var _)
    
    */
    
    var 变量2 = "20";var 变量3 = "60";var 变量4 = "90"
    var bianl = 变量2 + 变量3 + 变量4
    
    print("(bianl)
    ")
    
    //隐式声明  显式变量
    var myVar = "hello"//myVar 它是一个String类型的字符串
    var myVAr1 = 2.0 //myVAr1 系统会默认为一个double类型的变量
    
    //显式变量
    var myVar2 : String = "hello"
    var myVar3 : Double = 2.0
    
    var bian = [String]();
    bian.append("huahua")
    bian.append("xiaxia")
    bian += ["momo"]
    
    //遍历数组的方法1
    for ite in bian{
        println("(ite)")
    }
    //遍历数组的方法2
    for (index, itr) in enumerate(bian){
        println("(index) is (itr)
    ")
    }
    
    for index in 1...5{
        println(index)
    }
    //两个数组相加
    var intsA = [Int](count:2, repeatedValue: 2)
    var intsB = [Int](count:3, repeatedValue: 1)
    
    var intsC = intsA + intsB
    
    for item in intsC {
        println(item)
    }
    
    //可以使用只读计算 (count) 数组属性
    println("Total items in intsA = (intsA.count)")
    println("Total items in intsB = (intsB.count)")
    println("Total items in intsC = (intsC.count)")
    
    //使用只读数组的空属性(isEmpty)找出一个数组是否为空
    var ints1 = [Int](count:3, repeatedValue: 1)
    var ints2 = [Int]()
    
    println("intsB.isEmpty = (ints1.isEmpty)")
    println("intsC.isEmpty = (ints2.isEmpty)")
    
    //字典
    
    var airports: Dictionary<String, String> = ["TYO": "Tokyo", "DUB": "Dublin"]
    //字典的updateValue(forKey:)方法可以设置或者更新特定键对应的值。就像上面所示的示例,updateValue(forKey:)方法在这个键不存在对应值的时候设置值或者在存在时更新已存在的值。和上面的下标方法不一样,这个方法返回更新值之前的原值。这样方便我们检查更新是否成功。
    
    //updateValue(forKey:)函数会返回包含一个字典值类型的可选值。举例来说:对于存储String值的字典,这个函数会返回一个String?或者“可选 String”类型的值。如果值存在,则这个可选值值等于被替换的值,否则将会是nil。
    //我们还可以使用下标语法来通过给某个键的对应值赋值为nil来从字典里移除一个键值对:
    if let oldValue = airports.updateValue("Dublin Internation", forKey: "DUB") {
        println("The old value for DUB was (oldValue).")
    }
    
    //另外,removeValueForKey方法也可以用来在字典中移除键值对。这个方法在键值对存在的情况下会移除该键值对并且返回被移除的value或者在没有值的情况下返回nil:
    
    //for-in循环请参见For 循环。我们也可以通过访问它的keys或者values属性(都是可遍历集合)检索一个字典的键或者值:
    
    
    var allKeys = Array(airports.keys)
    for airportCode in airports.keys {
        println("Airport code: (airportCode)")
    }
    // Airport code: TYO
    // Airport code: LHR
    
    for airportName in airports.values {
        println("Airport name: (airportName)")
    }
    
    
    
    //swift 的控制流语句  if switch for while  do...while (Xcode7.0 之后 repeat...while)
    
    var teamScore = 0
    
    var chengji = [70,90,85,78,88]
    for eig in chengji{
        
        println("(eig)")
        if eig > 80{
            teamScore += 3
        }
        if eig > 70 && eig < 80 {
            teamScore += 2
        }
        if eig < 70{
            teamScore += 1
        }
    
    }
    println(teamScore)
    
    
    //在swift 中switch 非常强大
    
    var 蔬菜 = "黄瓜"
    var 特征:String = ""
    switch 蔬菜 {
    case "茄子":
        特征 = "可以炒菜,烧烤"
    case "黄瓜","生菜":
        特征 = "都是才,可以生吃"
        
    default :
        特征 = "暂无此类蔬菜"
        
    }
    
    var allteam = ["一队":[10,23,11,33,22],"一队":[6,13,21,33,62],"一队":[2,23,41,37,28]]
    var max = 0
    var index = 0
    
    for(key,values) in allteam {
        for value in values{
            if max < value {
                max = value
                
            }
        }
    }
    
    */
    //循环 通过for、while 、do...while 得到10!
    var val = 10
    var va = 1
    for val; val > 0;val-- {
        println("(val)")
        va = va * val
    }
    println("(va)")
  • 相关阅读:
    BZOJ 1101 [POI2007]Zap
    BZOJ 2005 [Noi2010]能量采集
    BZOJ 1053 [HAOI2007]反素数ant
    BZOJ 4321 queue2
    ZOJ 1456 Minimum Transport Cost(Floyd算法求解最短路径并输出最小字典序路径)
    POJ 3268 Silver Cow Party(Dijkstra算法求解来回最短路问题)
    Trie(字典树)解析及其在编程竞赛中的典型应用举例
    POJ 3037 Skiing(如何使用SPFA求解二维最短路问题)
    POJ 1724 ROADS(使用邻接表和优先队列的BFS求解最短路问题)
    POJ 1860 Currency Exchange(如何Bellman-Ford算法判断图中是否存在正环)
  • 原文地址:https://www.cnblogs.com/liYongJun0526/p/4874179.html
Copyright © 2011-2022 走看看