swift -入门与 数组 字典

什么是swift ? swift 是一门脚本语言

2014 WWDC 发布的一款脚本语言

好处 OC ARC 最大的困难 内存管理
swift 不用担心内存方面 简洁 功能很强大
弱点 :安全性不高 。h .m
语法简单 与oc语言 可以相互调用

1、定义常量与变量

let 常量 = 3
var 变量 = "xx"

2、同一行有两句代码的时候 中间必须加;分号

let 常量1 = 30 ; let 常量2 = 40

3、常量是固定的 不可以改变 变量是可变的
4、//注释 。 /* /* 里面是多行注释 / /
5、输出

//1、
print("this is  guiyang")
//2、()会自动给你计算出 ()对应的值
print("常量1 = \(常量1)")
print(常量1)

swift 变量或者是常量 的命名规则
1、不能有数字符号 (比如说 + , *)
2、不能包含箭头
3、不能有非法无效的非编码字符
4、不能有关键字符(let var)
5、不能包含横线,指标符(my-name)
6、不能以数字开头
7、不能单独只有一个下划线(var _)
8、拼接

var 变量2 = "oo"
var 变量3 = "xx"
var 变量4 = "ii"
var 变量5  = 变量2 + 变量3 + 变量4
print("变量5 = \(变量5)")

9、隐式声明

var my = "oo"  //my 他是一个 String  类型变量

 var num = 3 // num 系统就会默认为一个Int类型的变量

var num1 = 3  //num1 系统就会默认为一个double类型的变量

10、显式声明

var myVar : String = "qwete"

var num : Double = 23

11、数组
隐式 数组

let a = ["ww","qq"]
print("a是:\(a)")

//显式数组
let aa:[String] = ["cc","xx"]

print("aa 是:\(aa)")

支持多类型的初始化

let b:Array = ["w",1]
print("b是:\(b)")

let bb = ["w",1]
print("bb是:\(bb)")

空数组

var c = [Int]()

读取数组有多少数值

print(bb.count)

检查数组是否为空

if bb.isEmpty
  {
    print("数组为空")
  }else{
     print("数组不为空")
}

字典(显式)

var dict = [String:Double]()
dict["age"] = 18

通过下表来获取数组的数据(但是不能通过下表来向数组里面添加数据)


let c1 = [1,2]
let c2 = [3,4]

c = c1 + c2
c+=c1
//不能写成c = c +c1
print("c[1]是:\(c[1])")

可以通过下表来修改数组里面的值( 注意:let定义的数组不能改变长度,却可以改变里面的值 )

var d = [1,2,3]
d[1]=5
print("d[1]是:\(d[1])")

往数字末尾添加一个元素

d.append(5)

在一个特定的索引位置插入一个值,可以使用insert(atIndex:)方法

d.insert(10, atIndex: 2)
print("d[2]是:\(d[2])")

你可以调用removeAtIndex方法移除特定的元素。这个方法移除特定索引位置的元素,并返回这个被移除的元素(尽管你并不关心这个返回值)。

let f = d.removeAtIndex(2)
print("f是:\(f)")

可以使用removeLast移除数组最后一个元素

let f1 = d.removeLast()
print("f1是:\(f1)")

遍历数组
//可以使用for-in循环来遍历数组中的值

//for q in d{}
var r = [1,2,3,4,5]
for c in r{
    print("c shi \(c)")
}

字典
//定义一个变量

var dic = ["name":"shabi","age":18,"sex":"男"]
print(dic)
//取到所有的key

var allKey = Array(dic.keys)
print(allKey)

var allvalues = Array(dic.values)
print(allvalues)

dic["age"] = 20
print(dic)

swift 的 控制流 语句 if swift for while(xcode 7.0 之后 repeat。。。。 while)

练习:

//有一个队伍的五个人成绩存放在数组中 80分以上加3分  70分以上的加2分 其余加1分 求改组的总分

var g = 0

var chengji = [90,85,75,60,100]
for jia in chengji
{
    if jia >= 80{
        g=g+3
//        g += 3

    }
    if jia >= 70 && jia < 80{

        g=g+2
        //        g += 2
    }else{
        g=g+1
        //        g += 1
    }

    print("总分是\(g)")
}

练习2;//OC swich (表达式) {case 1:…..break}
swift 中 swich 变得非常强大

var 蔬菜 = "茄子"
var 特征:String = ""
switch 蔬菜 {
    case"茄子":
    特征 = "可以炒菜 火锅"
case"南瓜","生菜","青菜":
    特征 = "吃吃吃"

case let 后缀 where 后缀.hasPrefix("辣椒"):
    特征 = "都是辣椒"


default:
    特征 = "暂无这样的菜"
}

print(特征)
//有三个队  [一队:[10,20,5,6,5],.....]通过 双重遍历 三队中的最高分以及最高分所在的组



var max = 0
var team = ""

var all = ["one":[10,20,5,8,10],"two":[30,60,10,5,8]]

for (key, values) in all {


    for v in values{

        if max < v{
            max = v
            team = key
        }

    }
}
print("\(max),\(team)")

练习3:

//循环  通过for得到 10的阶乘 while do ....while  repeat ... while

var shu = [1,2,3,4,5,6,7,8,9,10]
var he = 1

for num in shu{



        he=he*num


}
print(he)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ldl_csdn_ios

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值