swift第一课

//

// main.swift

// swift01

//

// Created by DioneFlora on 16/10/20.

// Copyright (c) 2016年 DioneFlora. All rights reserved.

//

swift第一课

//swift里面没有头文件和实现文件,只有一个swift文件

//swift里面没有main的概念,程序从main.swift开始执行

//swift每一条执行语句可以不用分号结束,多条语句在同一行的时候才需要分号区分

//swift引用其他文件的内容直接引用,不用导头文件

//print是swift里面的打印函数,效率比NSLog要高;可以不使用占位符,拼接采用()

//变量,常量,可选类型,控制流

//变量:定义之后允许改变,通过var表示

//常量:定义了之后不允许改变,通过let,常量定义出来一定要赋值,不赋值会出错

//swift会根据初值来对变量进行自动推断

//明确指明数据类型 let/var 变量名:数据类型=初值

import Foundation

let number = 20

let number1 = 12.3

var number2:Int = 20

//var number2 = 25.6不允许

//不同数据类型之间不能直接运算,必须进行强转let result = number1 + number2

let result:Int = Int(number1) + number2

let result1:Double = number1 + Double(number2)

print("result = (result)")

print("Hello(1234),World(5678)!")

//字符Character:用双引号表示,单个字母,指明类型Character

let cha:Character = "a"

//字符串:String:双引号表示多个字符

let str = "HelloWorld"

//可选类型:如果某一个变量可能为空(nil),那么这个变量就是数据可选类型,可选类型用 ? 进行表示

//打印可选类型会有optional字眼,如果要去掉optional就进行强制解包

//var 变量名:数据类型? = 初值(可以不给初值(var 变量名:数据类型))

var num0:Int? = 50

//num0 = nil(如果不注释,令值为nil 崩溃,提示错误atal error: unexpectedly found nil while unwrapping an Optional value)

let num1:Int = 20

//可选类型不能直接参与运算,必须进行强制解包之后才可以参加运算,强制解包用 ! 表示

//对可选类型进行强制解包必须确保可选类型的值不是nil,否则对nil进行强制解包会导致系统崩溃(即上段注释num0……)

let sum = num0! + num1

print("sum = (sum)")

let 猴子 = "请来的逗比"

print("(猴子)")

println("Hello, World!")

//布尔类型

let flag:Bool = true //false

//条件判断:if

//(1)if后面的小括号可以去掉,大括号不能省略(即使里面只有一句代码)

//(2)if没有非零即真的概念,只有true or false

if(flag){

print("flag is true");

}

let value = 10

if value > 0{

print("value != 0")

}

//(3)可选类型的条件判断

var name:String? = "hello"

//<1>:if-let/var:先判断可选类型name是否为nil,如果不为空,就将name进行强制解包后的值,赋值给temp,然后执行代码段,否则的话就不执行

print(name)

if let temp = name{

print(temp)

}

//<2>if-let/var-where:是在if-let的基础上对定义的局部变量再做一次判断,两个条件都满足的时候执行{}里的代码块

if let temp = name where temp == "hello"{

print("if-let-where:name = hello")

}

//定义一个整形可选值n,如果该整形可选值不为nil,使用for循环打印n遍“hello”

var n:Int? = 8

if let temp = n {

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

print("hello")

}

}

//<3>guard:如果可选值count不为nil,就强制解包后的值给temp,否则就执行{}里的代码块,return一定要写

/*func demo(){

let count:Int? = 3

guard let temp = count else{

print("count 为 nil")

return

}

print(temp)

}

demo()

*/

//定义一个整形可选值myValue,如果该值不为nil并且是偶数的话就用for循环打印myValue遍helloWorld,否则就打印该数是奇数

var myValue:Int? = 8

if let temp = myValue where temp % 2 == 0 {

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

print("helloWorld")

}

}else if let temp = myValue where temp % 2 == 1{

print(temp,"该数是奇数")

}

//a = b ?? value

//??是将b这个可选值进行判断,如果b不为nil则对b进行强制解包后的值给a,如果b为nil则为a提供一个默认值value

let bilibili:Int? = nil

let asd = bilibili ?? 3

print("asd = (asd)")

你可能感兴趣的:(swift第一课)