swift常量与变量 字符串 数组 字典 元组 循环遍历

// 在导入框架时,直接"import 框架名"

import Foundation

各语言后缀

  • C : .c

  • OC : .m

  • Swift: .swift |-> 混编后的后缀 .mm

  • C++ : .cpp /

①print打印的内容会自己单独一行,语句不需要时使用 “ ; ”作为结尾
②“ ;”的作用在swift中用于多句代码写在一行时分割使用

print("Hello, World!")
print("Hello swift")

量的命名规范:

// 1、符合UNICODE编码标准的均可以作为量的名称
// 2、尽管如此,我们仍然不可以使用系统关键字,以及不推荐使用表情和较特殊的字符来作为量的名称,并且要规范命名,见名知意

常量 使用let修饰,程序运行期间不可以修改的量

let number = 10
let string = "瑾年绝流芳"

变量 使用var修饰,程序运行期间可以被修改的量

var f1 = 10.0
print(f1)
f1 = 3.242592653589
print(f1)

// 在给未设定类型的量赋初值时,必须要有初值
// var integer1 ;(这样定义变量是不对的)

// 定义一个具备类型的量
// 数值型数据

var integer1:Int = 10
var double1:double_t = 1.414
var float:Float = 9.18

// 布尔型

var b1:Bool = false

// 字符型

var string1:String = "雨滴落在湖面,痒"
var character1:Character = "🌹"// 只能写一个字符

// 练习

var integer2:Int = Int()
var double2:Double = Double()
var float2:Float = Float()
var b2:Bool = Bool()
var string2:String = String()
//var character2:Character = Character()不能用,(例外)错误写法

print(integer2)
print(double2)
print(float2)
print(b2)
print(string2)
// 在打印时,若想输出多种内容,需要使用双引号包括内容,其中的量需要使用\(var)的方式来参与
// "\",转义字符

print("integer:\(integer2),double:\(double2),float:\(float2),bool:\(b2),string:\(string2)")

swift不允许量的隐式转换(不能将一个浮点值赋值给整型)必须使用强制转换

var num = 798;
var subString = "艺术家"
var totalName = String(num) + subString

print(totalName)

判断字符窜是否为空

var simpleString = String()
simpleString = ""
if simpleString.isEmpty{

    print("来也匆匆,去也冲冲")
}else{

    print("空山新雨后,天气晚来秋")
}

var str1 = "asd"
var str2 = "acd"
if str1 == str2 {

    print("str1与str2相等")
}else{

    print("str1与str2不相等")
}
str1 += str2
print(str1)

字符串拼接方式
// + :返回一个新值,原值不变
// += :直接对自身进行修改

var subString1 = "上海自来水"
var subString2 = "来自海上"

var subString3 = subString1 + subString2
print("subString1:\(subString1) subString3:\(subString3)")

subString1 += subString2
print("subString1:\(subString1) subString2:\(subString2)")

获取字符串长度

let 🇨🇳 = "我们是共产主义接班人🇨🇳"
var 💩 = "某某某"
print(🇨🇳.characters.count)

数组
①swift中数组可以存储所有swift数据类型
②swift中的数组中必须存储同一类型的值

// 第一种方式

var array1 = [1,2,3,4,5];

// 第二种创建方式

var array2:Array = ["a","b","c","d"]
print(array2)

// 空数组,但必须指定内部元素类型

var array3 = Array<Int>()
var array4 = [String]()

var array = [String]()

// 增

array.insert("iOS", atIndex: 0)   // 打印结果array = ["iOS"]
array.append("Android") // 打印结果array = ["iOS", "Android"]

// 删

array.removeAtIndex(1)  //打印结果 array = ["iOS"]

// 改

array[0] = "WindowsPhote"  // 打印结果array = ["WindowsPhote"]

// 查

print(array)

// 对数组间进行操作

var tempArray = ["Meego","Ubuntu"]

// 新数组存储结果

var resultArray = array + tempArray
print(resultArray)   // 打印结果resultArray = ["WindowsPhote", "Meego", "Ubuntu"]

// 源数组存储结果

array += tempArray
print(array)  // // 打印结果array = ["WindowsPhote", "Meego", "Ubuntu"]

// 判断数组是否存在某一元素

let bool = array.contains("Ubuntu")
print("数组\(bool)存在这个元素")

// 数组元数个数

print(array.count)

字典
①swift中的字典的键值对可以是任意类型
②swift的字典中,尽管可以是任意类型,但是所有key值类型必须统一,所有value值类型也必须统一

OC中数组(有序,元素可以重复);
字典(无序,有key值不需要排序,主要是键值映射关系,key值必须遵循NSCopying协议,元素不重复)和集合(内容杂乱不排序,元素不可以重合)都是无序的

var dict1 = [1:"田家旭",2:"刘惠萍",3:"卢桥东",4:"马泽坤"]

// <key,value>的类型限定
var dict2:Dictionary<Int,String> = [:]
var dict3 = Dictionary<Int,String>()
print(dict1)

var dict = ["笑":"😊","哭":"😭","怒":"😡"]

// 增

dict["笑哭"] = "😂" // 打印结果 dict = ["笑哭": "😂", "哭": "😭", "怒": "😡", "笑": "😊"] 

// 删

dict.removeValueForKey("笑哭") // 打印结果 dict = ["哭": "😭", "怒": "😡", "笑": "😊"] 

// 改

dict["哭"] = "😢"

// 查

print(dict)
print(dict["怒"])  // Optional("😡")

// 其他属性
// 键值对个数

print(dict.count)
print(dict.keys)不好使,key和value都出来了
print(dict.indexForKey("怒"))不好使。

元组
①swift中用来存储一组数据的集合,可以是不同数据类型
②有序集合

var collection11 = ("马泽坤","男","65kg",19,false)
var collectionl2:(String,Bool,Float) = ("语文",true,93.7)

// 带有外部变量的的元素

var status:(name:String,gender:String,age:Int,spouse:Array) = ("马泽坤","男",19,["刘亚彬","张鹏"])

// 根据外部变量名来访问元祖元素

print(status.spouse[0])

// 根据下标来访问

print(status.3[1])

程序结构

// 循环结构
// ①

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

    print("第\(i)次陪你去看海")

}

// ② 开区间,1~9

for var i in 1..<10{

  print("第\(i)次吃饭")
}

// ③ 闭区间,1~10

for var i in 1...10{

    print("第\(i)次初吻")
}

// for...in遍历数组和字典

var fruits = ["banana","apple","orange","grape"]

for fruit in fruits {

    print(fruit)
}

// 遍历字典

var music = ["name":"上心","album":"巡回演唱专辑","duration":"4:32"]

// 注意此处的key和value均为遍历使用的中间变量,可以是任何名称

for (key,value) in music {

    print("\(key):\(value)")
}

// while

var count = 10
while count > 1 {

    print("\(count-1)跑起来")
    count -= 1 // count--在swift中弃用雇佣count -= 1代替
}

// repeat

repeat { // 类似于do...while,无论条件是否成立,都会先执行一次
    print("第\(count)次喝醉")
    count -= 1
}while count > 0   
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容