Swift 中导入类库使用import,不再使用<>,导入自定义不再使用""

import Foundation

1> 声明变量和常量

  • 在Swift中使用 "let" 修饰一个常量,使用 "var" 修饰一个变量;

  • let修饰常量的值是不可以更改的;

  • var修饰的变量的值是可以更改的;

  • 在声明常量和变量的时候可以使用表情符号、中文等命名常量名和变量名。

  • Swift定义变量或者常量的时候,需要标识出变量或者常量的类型,如果不标识,会根据初始值自动推断。
  1. //MARK: - 定义常量、变量
  2. // 定义常量(使用完第一次就不能修改他的值了)
  3. // 用let最好给定初始值,因为使用一次不能在修改
  4. let myGender = "♂"
  5. //myGender = "男"
  6.  
  7. // 定义变量
  8. var carName = "BMW"
  9. carName = "Audi"
  10. print(carName) // 加不加引号都可以
  11.  
  12. //MARK: - 定义常量变量:变量类型的隐式转换
  13. // 在swift中如果定义常量变量不给定相关的类型,它会隐式转换成你给定的初始值
  14. let name = "Rose" // 如果这样自定义出来一个常量,它会隐式转换成string类型
  15. let name1 : String = "Jack" // 如果给定类型,后边赋值的时候需要根据类型进行赋值
  16.  
  17. let age : Int = // 如果定义常量最好给初始值,定义变量可以不给初始值
  18.  
  19. var age1 : Int? // ? 表示age1 的类型为可选类型,其值可以为空
  20. print(age1)
  21.  
  22. var char : Character = "a" // 赋值字符类型的时候仅需一个字母即可
  23.  
  24. // 定义一个BOOL类型的变量 [在swift中 bool类型只有true or false]
  25. var flag : Bool = true

2> 字符串

  • String是有序的字符集合

  • Swift中的字符串通过String类型表示,当然也可以看成Character字符类型的集合

  • \(变量名)输出相关内容【插入式取值】

  1. //MARK: - 字符串string
  2. //(1)创建一个空字符串
  3. var str_empty = ""
  4. var str1_empty = String()
  5.  
  6. //(2)判断一个字符串为空字符串
  7. if str_empty.isEmpty{
  8. print("str_emrty is empty")
  9. }
  10.  
  11. //(3)字符串的拼接
  12. var str_url = "http://"
  13. var str = "www.baidu.com"
  14.  
  15. let str_new_url = str_url + str
  16. print(str_new_url)
  17. print("百度网址:\(str_new_url)") // \(变量名)输出相关的内容【插入式取值】
  18.  
  19. //(4)获取字符串的长度
  20. var str1 : String = "abcde"
  21. print(str1.characters.count)
  22.  
  23. //(5)字符串的比较
  24. var str2 = "MBBoy"
  25. var str3 = "GBLW"
  26.  
  27. if str2 != str3 { // == 相等 != 不相等
  28. print("这两个不相等")
  29. }

3. 数组、字典

 1> 数组

  1. //MARK: - 数组
  2. //Swift 中数组的元素类型必须相同
  3. //定义一个数组
  4. var nameArray = ["yuanyuan","GBLW","WYW"]
  5. print(nameArray)
  6.  
  7. var nameArray1 : Array<String> = ["YaQian","ZhaTian"]
  8. print(nameArray1)
  9.  
  10. //定义一个空数组(字符串)
  11. let array : Array = Array<String>()
  12. print(array)
  13.  
  14. //访问数组的元素
  15. print(nameArray[])
  16.  
  17. //向数组中添加元素
  18. var int_array = Array<Int>()
  19. int_array.append()
  20. int_array.append()
  21. print(int_array)
  22.  
  23. //使用运算符添加数组元素
  24. int_array += []
  25. //使用运算符添加多个数组元素
  26. int_array += [,]
  27. print(int_array)
  28.  
  29. //插入元素到具体位置
  30. int_array.insert(, atIndex: )
  31. print(int_array)
  32.  
  33. //移除某个元素
  34. int_array.removeAtIndex()
  35. print(int_array)
  36.  
  37. // 移除所有元素
  38. int_array.removeAll()
  39. print(int_array)

2> 字典

  1. //MARK: - 字典
  2. //定义一个字典类型的变量
  3. var dic : Dictionary<String,Int> = ["a":,"b":,"c":]
  4. print(dic)
  5.  
  6. //定义空字典
  7. var dic1 : Dictionary<String,Int> = [:]
  8. print(dic1)
  9. var dic2 = Dictionary<String,Int>()
  10. print(dic2)
  11.  
  12. //向字典里添加键值对
  13. dic["d"] =
  14. print(dic)
  15.  
  16. //修改字典中的内容(根据键值去修改)
  17. dic["a"] =
  18. print(dic)
  19. //打印某个元素的值
  20. print(dic["a"])
  21.  
  22. //删除字典中的内容(根据键去删除)
  23. dic.removeValueForKey("c")
  24. print(dic)

4. 元组

  1. //MARK: - 元组
  2. //定义一个元组
  3. //方法一:直接初始化一个元素(使用Swift隐式转换的特点)
  4. let tuples = ("苹果",["iOS","html5","Android"])
  5. print(tuples)
  6. //方法二:显示初始化的方式
  7. let tuples1 : (String,Array) = ("安卓",["iOS","html5","Android"])
  8. print(tuples1)
  9.  
  10. //可变元组和不可变元组
  11. var superTuples = (name:"asd", , ["", ""])
  12. superTuples.name = "qwe"
  13. print(superTuples.name) //会打印name变成qwe
  14.  
  15. //let superTuples = (name:"asd", 12, ["111", "222"])
  16. //superTuples.name = "qwe"
  17. //print(superTuples.name) //会报错
  18.  
  19. ////需要注意的是,可变元组虽然可以修改数据,但却不能改变其数据的数据类型:
  20. //var superTuplesType = (name:"asd", 12, ["111", "222"])
  21. //superTuplesType.name = 1
  22. //print(superTuples.name) //会报错
  23.  
  24. //取出元组中的值
  25. //第一种取值方式:直接把元组赋值给另外一个常量,根据相关的标记进行取值
  26. let tuples_new : (appStyle:String,course:Array) = tuples
  27. var classInfo = tuples_new.appStyle + tuples_new.course[] + tuples_new.course[] + tuples_new.course[]
  28. print(classInfo)
  29.  
  30. //第二种取值方式:直接根据下标进行取值
  31. let classInfoNew = tuples_new. + tuples_new.[] + tuples_new.[] + tuples_new.[]
  32. print(classInfoNew)

5. 循环结构

 1> 概述

  Swift里面的循环结构包含:for、for-in、while、repeat-while

 2> 循环

  1. //MARK: - 循环
  2. //第一种形式:
  3. for var i = ; i < ; i++
  4. {
  5. print(i)
  6. }
  7.  
  8. // 第二种形式
  9. // 1到9
  10. for number in ..<
  11. {
  12. print("number:\(number)")
  13. }
  14.  
  15. //第三种形式
  16. // 1到10
  17. for number in ...
  18. {
  19. print("number:\(number)")
  20. }
  21.  
  22. //while循环和repeat...while
  23. var i =
  24. while i >
  25. {
  26. i--
  27. print(i)
  28. }
  29.  
  30. repeat
  31. { // 限制性一次循环体,在进行相关的循环
  32. print("woaini")
  33. }while <
  34.  
  35. //使用循环遍历数组
  36. var animalArray = ["cat","dog","tiger","monkey","fish"]
  37. for animal in animalArray
  38. {
  39. print(animal)
  40. }
  41.  
  42. //使用循环遍历字典
  43. var animalDic = ["pig":"
  44. Swift - 1 (常量、变量、字符串、数组、字典、元组、循环、枚举、函数)的更多相关文章

      1. Swift语法基础入门二(数组, 字典, 字符串)
      1. Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...

      1. Swift学习—字符串&数组&字典
      1. 字符串 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" ...

      1. Swift基础语法(常量变量、数据类型、元组、可选、断言)
      1. 本文来自Swift中文开发组,感谢翻译者的分享. 本文将分几部分对Swift对ios的语法做讲解.本文为第一节,主要讲解基础语法. 常量和变量 常量和变量把一个名字(比如maximumNumberOf ...

      1. Swift学习--常量.变量.数据类型的使用(二)
      1. 一.Swift中的数组 //Swift中的数组 //NSArray *arr = @["",""]; //和OC数组的区别就是去掉前面的@ let arr11 ...

      1. Swift学习--常量.变量.数据类型的使用(一)
      1. 一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们 ...

      1. Swift(一,创建对象,类型推导,基本运算,逻辑,字符串,数组,字典)
      1. swift用起来刚开始感觉有点怪怪的,但用了一段时间觉得还是挺好用的,哈哈.毕竟都是要有一个过程的嘛. 我就写一些自己在使用swift的时候的注意点吧,如有不正之处,还请指正! 一.在开发中优先使用常 ...

      1. IOS NS 字符串 数组 字典 文件 动态 静态 操作
      1. ios 常用字符串的操作   //将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response e ...

      1. oc字符串+数组+字典操作题目
      1. 1. 判断中间目录是否存在 (10分) 比如 传入字符串 @"/home/qianfeng/oc.txt" 和 @"qianfeng" 返回:YES 传入字符串 ...

      1. Linux-Shell基础(变量,字符串,数组)
      1. 一. 什么是shell shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统 ...

      1. Object-C 语法 字符串 数组 字典 和常用函数 学习笔记
      1. 字符串 //取子字符串 NSString *str1=@"今天的猪肉真贵,200块一斤"; NSString *sub1=[str1 substringFromIndex:4]; ...

    1.  
    2. 随机推荐

        1. Determine If Two Rectangles Overlap
        1. 判断相交的情况比较复杂,所以从判断不相交的角度考虑. ! (P1.y < P4.y || P1.x > P4.x || P2.y > P3.y || P2.x < P3.x)

        1. Map(关联式容器)
        1. map是一类关联式容器,自动建立Key - Value的对应 , key 和 Value可以是任意你需要的类型.下面介绍 map 中一些常用的函数: 一.map 中的 begin 和 end 函数 m ...

        1. BZOJ 1625: [Usaco2007 Dec]宝石手镯( dp )
        1. 最裸的01背包.... --------------------------------------------------------------------- #include<cstdio ...

        1. MongDb添加嵌套文档
        1.      想添加嵌套文档,就需要创建2个实体类.如下图 usermodel.Student = student; 其中Student的类型就是StudentModel: 第一个实体类         ...

        1. [LeetCode]题解(python):096-Unique Binary Search Trees
        1. 题目来源: https://leetcode.com/problems/unique-binary-search-trees/ 题意分析: 给定一个整数n,返回所有中序遍历是1到n的树的可能. 题目思 ...

        1. java生成随机字符串
        1. 学习java comparable特性时候,定义如下Student类,需要需要随机添加学生姓名以及学号和成绩,这是java如何随机生成名字,根据我的查询,我找到目前java库支持两种方法. 1. or ...

        1. 如何修改Protel99SE原理图的标题栏
        1. 本文主要讲述了如何修改Protel99SE原理图中的标题栏内容,使用者可以根据需要修改. 标题栏的格式: 1.添加模板:(1)菜单栏Design\Template\Set Template File ...

        1. 看java源代码
        1. 不会看JDK源代码,相当于没学过Java. 网上不容易找到一篇帮助我解决了如何在Eclipse下查看JDK源代码 的文章. 核心提示:在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 w ...

        1. java Script 中的keyCode 和charCode
        1. 其实很长一段时间,我都没有完全弄明白keyCode 和charCode ,自己也认真看过,但是就是理解不透彻,为了防止以后再出现混乱,写篇博客记录一下吧! 首先  在不同的浏览器中,他们有不同的说法哦 ...

        1. html相关介绍
        1. HTML(超文本标记语言)  超文本标记语言,即HTML(Hypertext Markup Language),是用于描述网页文档的一种标记语言 XHTML1.0 可扩展超文本置标语言(eXtensi ...