码迷,mamicode.com
首页 > 其他好文 > 详细

01swife基础语法

时间:2015-11-28 15:02:45      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

看下:oc和swife基本语法的区别(简单写下概念,有时间再来整理)
 1.导入框架
import Foundation
 2.定义‘标示符‘时必须指定该标示符是变量还是常量
 int age = 20;
 格式:标示符 : 类型
 let : 定义常量
 var : 定义变量
let age : Int = 20
var a : Double = 3.14

 3.当一行语句结束时,不再需要写;
 但是:如果一行中有多条语句,则需要通过;将其分割.
 注意:不建议一行中写多条语句

 4.打印不再使用NSLog()
 而是使用:print
 OC : @"Hello World"
 Swift : "Hello World"
print("Hello World")
 
/********** 1.常量和变量的基本使用 **********/
var age : Int = 20
age = 25
let π : Double = 3.14
π = 5.22



/********** 2.常量和变量的使用注意 **********/
 注意点:
1> 在开发中优先使用常量,只有在需要修改时,在let改var.(数据更加安全)
 2> 常量的意思:指向的对象不可用修改(指针不可以修改)
 可以通过指针拿到对象,修改内部的属性
 在swift中创建对象.类()
let view : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))

 错误写法
 view = UIView()
view.backgroundColor = UIColor.redColor()

 在swift中使用枚举:类型.具体的类型
let btn : UIButton = UIButton(type: UIButtonType.ContactAdd)
 btn = UIButton()
btn.center = CGPoint(x: 50, y: 50)
view.addSubview(btn)
 
 
 
 
/********** 3.数据类型 **********/
let a : Int = 20
let b : Double = 3.44

 swift中类型推导
 如果一个标示符在定义时有直接赋值,那么可以根据后面赋值的类型,来推导出前面标示符的类型
 那么这个时候,前面标示符的(: 类型)可以省略
 可以通过快捷键:option+鼠标左键,来查看标示符的类型
var a = 20
 a = 1.44

var b = 3.14

swift中的基本运算
在swift中,进行运算,必须保证类型是一致
因为:swift中没有隐式转化
将Double类型转成Int类型的方法:Int(Double类型标示符)
将Int类型转成Double类型的方法:Double(Int类型标示符)

let c = Int(b) + a
print(c)
var d = Double(a) + b
d = Double(a) * b
 
 
/********** 4.分支语句 **********/
 if语句
 1> 判断句可以不加()
 2> 判断句结果必须是一个真假值
let a = 20
let flag = a < 10

示例一
if a > 10 {
    print("a大于10")
} else {
    print("a小于等于10")
}

示例二
let score = 87

if score < 60 {
    print("不及格")
} else if score < 70 {
    print("几个")
} else if score < 90 {
    print("良好")
} else if score <= 100 {
    print("良好")
} else {
    print("其他")
}

三目运算符
let age = 20

let result = age >= 18 ? "可以上网" : "回家去"
print(result)

guard(守卫)

- (void)
/*
func onLine(age : Int) -> Bool {
    if (age >= 18) {
        print("可以上网")
        return true
    } else {
        print("不能上网")
        return false
    }
}
*/

func onLine(age : Int) -> Bool {
    guard age >= 18 else {
        如果判断句为假,会执行else
        print("回家找妈妈拿身份证")
        return false
    }
   
    如果为真,继续执行
    print("可以留下来上网")
    return true
}

onLine(17)
onLine(20)
 
 
 
 
/********** 分支语句--switch **********/
/************ 1.switch的简单使用 ************/
sex为0,表示男 sex为1,表示女
let sex = 54

switch (sex) {
case 0:
    NSLog(@"男")
    break
}

switch sex {
case 0:
    print("男")
case 1:
    print("女")
default:
    print("其他")
}

/************ 2.switch的简单使用补充 ************/
补充一:有case穿透,可以在语句后加fallthrough
switch sex {
case 0:
    print("男")
    fallthrough
case 1:
    print("女")
default:
    print("其他")
}

补充二:case中可以判断多个条件
如果想判断多个条件,可以通过,分割
switch sex {
case 0, 1:
    print("正常人")
default:
    print("其他")
}


/************ 3.switch的特殊用法 ************/
特殊用法一:switch可以判断浮点型
let a = 3.14

switch a {
case 3.14:
    print("π")
default:
    print("非π")
}

特殊用法二:switch可以判断字符串
let m = 20
let n = 25

let opration = "*"
var result : Int

switch opration {
    case "+":
    result = m + n
    case "-":
    result = m - n
    case "*":
    result = m * n
    case "/":
    result = m / n
default:
    print("非法操作符")
}

特殊用法三:switch中可以判断区间
let score = 88
区间:
闭区间:0~10 [0, 10] swift: 0...10
开区间:0~9 [0, 10) swift: 0..<10
switch score {
case 0..<60:
    print("不及格")
case 60..<70:
    print("及格")
case 70..<90:
    print("良好")
case 90...100:
    print("优秀")
default:
    print("不合理的分数")
}
 
-------------------------------------------------------------
 
for循环
1.写法一:常规写法
for (var i = 0; i < 10; i++) {
    print(i)
}

for var i = 0; i < 10; i++ {
    print(i)
}

2.写法二:区间for循环
for i in 0..<10 {
    print(i)
}

for i in 0...10 {
    print(i)
}

3.写法三:如果for循环中没有用到i,可以将i用_代理
for _ in 0..<10 {
    print("hello world")
}
 
-------------------------------------------------------------
while循环
1> 不要()
2> 判断句必须有真假(Bool)
var a = 10
while a < 20 {
    a++
    print("111")
}

do while循环
注意:在do while循环循环中,不要再使用do.而是使用repeat代替do
repeat {
    a++
    print("222")
} while a < 30
 
 
 
 
-------------------------------------------------------------
1.String的遍历
var str = "Hello, playground"

for s in str.characters {
    print(s)
}

2.String的拼接
1>两个字符串之间的拼接
let str1 = "my name is"
var str2 = " why"
str2 = str1 + str2

2>字符串和其他类型的拼接
let age = 18
let height = 1.88

在字符串中拼接其他类型的变量/常量
格式:\(变量/常量名字)
let str3 = "age is \(age), height is \(height)"

3>字符串的格式化
2:3 -> 02:03
let min = 2
let second = 3
let time = "0\(min):0\(second)"
let time = String(format: "%02d:%02d", arguments: [min, second])

3.String的截取
let urlString = "www.520it.com"
提示:不要使用String方法截取.index非常不好创建
urlString.substringFromIndex(index: Index)
String转成NSString,只需要在String后面跟上:as NSString
let prefixString = (urlString as NSString).substringToIndex(3)

let middelString = (urlString as NSString).substringWithRange(NSRange(location: 4, length: 5))
let subfixString = (urlString as NSString).substringFromIndex(10)
 
 
 
 
-------------------------------------------------------------
数组:Array
可变数组 var修饰
不可变数组 let修饰
let names : Array<String> = @[@"why"]

1.不可变数组
数组定义的写法一:
let names : Array<String> = ["why", "yz","ljz", "across"]
names[0]

数组定义的写法二:常用
let names1 : [String] = ["why", "yz","ljz", "across"]

数组定义的写法三:类型推导
let names2 = ["why", "yz","ljz", "across"]


可变数组
数组定义的写法一:
var names3 : [String] = ["why", "yz"]
names3.append("ljz")

var names4 : [String] = Array()
var names4 : [String] = [String]()
names4.append("why")
 
 
 
-------------------------------------------------------------
 

01swife基础语法

标签:

原文地址:http://www.cnblogs.com/acrossfate/p/5002578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!