zoukankan      html  css  js  c++  java
  • Swift学习(1)

    swif(1)

    println("Hello, world")
    输出结果:
    Hello, world


    swift使用let来声明常量,使用var来声明变量

    //变量
    var myVariable = 42
    myVariable = 50
    //常量
    let myConstant = 42
    

    如果初始值没有提供足够的信息(或者没有初始值),那你需要在变量后面声明类型,用冒号分割

    let implicitInteger = 70
    let implicitDouble = 70.0
    //此处声明explicitDouble是double类型的常量
    let explicitDouble: Double = 70
    

    类型转换

    let label = "The width is"
    let width = 94
    //嘿嘿,很类似java的强制类型转换
    let widthLabel = label + String(width)
    

    let apples = 3
    let oranges = 5
    let appleSummary = "I have (apples) apples."
    let fruitSummary = "I have (apples + oranges)     pieces of fruit."
    

    swift数组:

    1. 类似java数组

      var shoppingList = ["catfish", "water",        "tulips", "blue paint"]
      shoppingList[0] = "catfish"
      shoppingList[1] = "water"
      shoppingList[2] = "tulips"
      shoppingList[3] = "blue paint"
      
    2. 或者使用下标或者键(key)来访问元素
      var occupations = [
      "Malcolm": "Captain",
      "Kaylee": "Mechanic",
      ]
      occupations["Jayne"] = "Public Relations"

    3. swift空数组
      let emptyArray = String
      let emptyDictionary = Dictionary<String, Float>()


    控制流
    java中常见的if..else{...},while,do ...while...,for...在swift中是如何表示的,请往下看:
    在数组[75, 43, 103, 87, 12],如果数组中的内容>50,
    teamScore+3;否则teamScore+1;

    let individualScores = [75, 43, 103, 87, 12]
    var teamScore = 0
    for score in individualScores {
    if score > 50 {
        teamScore += 3
    } else {
        teamScore += 1
    }
    }
    teamScore
    

    switch语句:

    let vegetable = "red pepper"
    switch vegetable {
    //vegetable=celery的话
    case "celery":
    let vegetableComment = "Add some raisins and make ants on a log."
    //vegetable=celery的话或者watercress
    case "cucumber", "watercress":
    let vegetableComment = "That would make a good tea sandwich."
    //字符串中有pepper话执行
    case let x where x.hasSuffix("pepper"):
    let vegetableComment = "Is it a spicy (x)?"
    //上面条件都不符合,执行如下代码
    default:
    let vegetableComment = "Everything tastes good in soup."
    }
    
    let anotherCharacter: Character = "a"
    switch anotherCharacter {
    case "a":
    println("The letter a")
    case "A":
    println("The letter A")
    default:
    println("Not the letter A")
    }
    

    (没看懂,)

     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
        for (kind, numbers) in interestingNumbers {
        for number in numbers {
            if number > largest {
                largest = number
            }
        }
        }
        largest
    

    while和do while
    swift的循环相比java看起来好奇葩

    1. 列表项

    初始值为2,便利100以内的值,n=100以内的值逐个*2递增

    var n = 2
    while n < 100 {
    n = n * 2
    }
    n
    
    
    var m = 2
    do {
    m = m * 2
    } while m < 100
    m
    
    1. 0->3的求和操作,初始值为0

      var firstForLoop = 0
      for i in 0..3 {
      firstForLoop += i
      }
      firstForLoop

      var secondForLoop = 0
      for var i = 0; i < 3; ++i {
      secondForLoop += 1
      }
      secondForLoop


    明日计划:
    看函数和闭包

  • 相关阅读:
    MyEclipse 2014 破解图文详细教程
    Eclipse构建Maven项目
    Eclipse构建Maven项目
    Spring--环境配置
    Spring--环境配置
    Sencha Touch2 -- 11.1:定义具有关联关系的模型
    Sencha Touch2 -- 11.1:定义具有关联关系的模型
    Android百度定位API的使用
    Android百度定位API的使用
    Java基础学习总结(64)——Java内存管理
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/4237679.html
Copyright © 2011-2022 走看看