swift(1)

import Foundationprint("Hello, World!")

//在swift中使用print输出

//1.定义一个(常量let ;变量var)

///定义常量

//let myName = "斌斌"//

//myName = "乐乐"  

//let修饰的常量是不能被改变的.

//print(myName)////定义一个变量

// var myage = 30  

//(var修饰的可以被改变)

//myage = 20

//print(myage)

////swift 定义变量或者常量时候,需标识出变量或者常量的类型如果没有,那么编译器会自动推断类型//let name = "duke"  

//会自动推断为string类型,决定后面的值来决定name的类型//                  

//let name : String = "duke"  由前面类型string来决定后面付什么值,后面要和前面类型一致

//let age:Int = 30  

 //如果使用了let修饰,必须付初值.如果是使用var修饰可以不用赋初值;

//var age1: Int?    

//?好表示当前age1是可选类型其值可以为空

//print("----",age1)

////定义一个字符类型的变量

//var char:Character = "A" 

//此时char就是一个字符,其值也是用""括起来,只能放一个字符

////定义一个bool类型的变量(值只有ture和false)

//var flag:Bool = true/*** 字符串string  ***

///(1)创建一个空字符串变量//var str_empty = ""

//var str1_empty = String()

////(2)通过字符串对象的isempty方法判断是否为空

//if str_empty.isEmpty{//if后面的判断条件(表达式,方法..)的返回值,必须是bool类型,不再用括号;

//    print("str_empty is empty")

//    //}

////字符串的拼接var str_city = "西安"var str_class = "ios 8班"let classname = str_city + str_class

//拼接用+号来拼接print("我们是:\(classname)")

//插入式取值print("我们是:",classname)

////(4)获取字符串的长度

//var str1:String = "abc"

//print(str1.characters.count)

////(5)字符串比较

//let str2 = "张凡"

//let str3 = "张凡"//if str2 != str3{

//    print("两个不相等")

//}/***数组(array)  ***

///swift中的数组里面存储的所有数据都必须是同一种类型的,如果需要使用不同类型的数据可以使用OC的NSarray

//定义一个数组变量

//var namearray = ["张凡","张恒","张华"]

//print(namearray)

//var nameArray1:Array= ["张凡","张恒","张华"]

//print(nameArray1)

////定义一个空数组变量

//var array_empty:Array= Array()

//var array1_empty = Array()

//定义一个字符串类型的空数组

//var int_array = [Int]() 

//定义一个整形空数组

//print(array_empty)

//print(array1_empty)

//print(int_array)

////访问数组中的某个元素

//print("第二个元素:\(namearray[1])")

////向数组中添加一个元素

//int_array.append(10)

//int_array.append(20)

//print(int_array)

////使用运算符向数组中添加一个元素

//int_array += [30]//print(int_array)

////使用运算符徐昂数组中添加多个元素

//int_array += [40,50,60]

//print(int_array)

////在数组中某个位置插入一个元素

//int_array.insert(5, atIndex: 0)

//print(int_array[0])

//////移除某个位置上元素

//int_array.removeAtIndex(0)

//print(int_array)

////移除所有元素

//int_array.removeAll()

//print(int_array)/***字典 ******************************************

///var dic1:Dictionary= ["a":10,"b":20]//print(dic1)

//var dic2_empty:Dictionary= Dictionary()

//print(dic2_empty)//var dic2:Dictionary= [:]

//var dic3 = Dictionary()

////向字典中添加键值对

//dic1["c"] = 30

////修改字典中的某个值

//dic1["a"] = 50

////删除字典中的一个键值对

//dic1.removeValueForKey("a")

//print(dic1)

/**************/////  元祖////***********/

//定义一个元祖  元祖:可以存放多种不同类型的元祖

//方法一:直接初始化.通过隐式类型推断每一个元素的类型

//let status = ("蓝鸥8班",["ios","html"])

//print(status)

////方法二:显示标识类型

//let status2:(String,Array) = ("蓝鸥8班",["IOS","HTML"])

//print(status2)

////取出元祖中的值得方法

////方法一:直接赋值给常量,并通过使用标记名来获取对应的值

//let status_info:(className:String,course:Array) = status

//print(status_info.className)

//print(status_info.course[0])

////方法二:直接通过下标获取元素的值

//var string = status.0+status.1[0]+status.1[1]

//print(string)

/***************循环*/

//第一种形式

//for var i = 1 ; i<10 ; i++ {

//    print(i)

//

//}

//第二种形式

//for i in 1..<10 {

//    print(i)

//}

//for i in 1...10{

//    print(i)

//}

//while 循环

//var i = 5

//while i>0{

//    i-=1

//    print(i)

//}

//repeat while

//repeat{

//    print("repeat while")

//

//}while i<0

//

////使用for循环遍历字典

//var animalsdic = ["dog":"🐶","pig":"🐷"]

//for (key,value) in animalsdic{

//    print("key = \(key),value =\(value)")

//}

////用for循环遍历数组

//var animasNane = ["dog","pig","cat","fish","duck","tiger","cow"]

//for name in animasNane{

//    print(name)

//}

/*练习题  //创建一个存储学生信息的字典,里面的key值包含学号、姓名、性别、年龄。

//创建一个学生的数组,将存储该学生信息的字典存入到数组中。

//创建一个元组,将上述两道练习题中的字典和数组放到新的元组中,并打印输出。

var studentdic = ["学号":1,"姓名":"国栋","性别":"man","age":22]

print(studentdic)

var studentarray = [studentdic,studentdic]

print(studentarray)

var yz = (studentdic,studentarray)

print(yz)*/

//********分支结构*******/

// if结构

//let flag = true

//if flag == true {

//    print("true")

//}else{

//    print("false")

//}

//

////switch case  特点:switch实现贯穿,使用关键字fallthrough

//let value = 0

//switch value{

//case 0:

//    print("0")

//    fallthrough

//case 1:

//    print("1")

//case 2:

//    print("2")

//default:

//    print("other")

//}

////特点2 :case后面可以是一个范围

//switch value {

//case 0..<10:

//    print("范围在0到10之间")

//case 10...100:

//    print("范围在10-100之间")

//default:

//    print("其他")

//}

//

////特点三 :case后面可以定义一个变量(let var都可以)

//switch value {

//case var i where value>=0 && value<10:

//    i=20

//    print(i)

//default:

//    print("other")

// }

//

////特点4: case后面跟元祖

//let point = (10,10)

//switch point {

//case (_,10): //下划线表示任意值

//    print("case1")

//case (10,0):

//    print("case2")

//case (10,10):

//    print("case3")

//default:

//    print("other")

//

//}

/******************枚举*******/

//原始类型是INT类型的枚举

//enum Direction:Int {

//    case east = 0

//    case west = 1

//    case south = 2

//    case north = 3

//}

//print(Direction.east.rawValue)

//print(Direction.west.rawValue)//rawvalue打印原始值

//print(Direction.south.rawValue)

//print(Direction.north.rawValue)

////原始类型是string类型的枚举

//enum season:String {

//    case spring = "春天"

//    case sumer = "夏天"

//    case winter = "冬天"

//

//}

//print(season.spring.rawValue)

//

//let dir = Direction(rawValue: 2) //表示取得是原始值为2的那个枚举(south)

//print(dir!)//加感叹号表示肯定有值

/*********************函数************************/

//表示函数的关键字 func

//如果要重写父类的方法. 那么需要在前面加override

//1.无返回值,无参数的函数

//func func1() -> Void {

//    print("无返回值,无参数")

//}

//func func1() {

//    print("无返回值,无参数")

//}

//

//func1()

//

////2.无返回值有参数

//func function2(str str:String) {

//    print(str)

//}

//function2(str: "蓝鸥")

//有返回值,无参数

//func func3() ->String {

// return "国栋"

//}

// //print(func3())

////有返回值有参数

//

//func func4(a a:Int,b:Int) ->Int {

//    return a+b

//}

//  print(  func4(a: 2, b: 3))

////5.返回值为元祖类型 (利用元祖实现多个值)

//func func5(a a:Int,_ b:Int) ->(Int, Int, Int) {

//    return (a+b,a-b,a*b)

//}

//print(func5(a: 3, 2))

/********************inout*****************/

//参数默认是常量 let

//在参数前面添加var修改就可以修改

//如果参数使用inout来修饰就成了输出参数,在函数内部修改参数,可以影响外部变量的值

//func test(inout name:String) {

//    name = "张华"

//    print(name)

//}

//var strname = "许仙"

//test(&strname )

//

////函数嵌套

//

//func test1(){

//    func test2(){

//      func test3(){

//            print("test3")

//        }

//        test3()

//        print("test2")

//    }

//    test2()

//    print("test1")

//}

//test1()

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

推荐阅读更多精彩内容