编程
关键字: 编程
- 做什么? 提出问题 - 如何做? 写程序 让计算机完成 - 现实的问题 进行抽象 让人理解 找到解决方法 然后 写成计算机理解方式 让计算机来解决 - 计算机理解的方式 就是 计算方式(过程 步骤) - 表达这种计算方式 就是 编程语言 - 写程序的方法 就是 语法 : 代表什么 如何组合 - 语法 - 语句 分割符 关键字 - 注释 :给我们自己看的 辅助我们和他人理解程序 - 把 解决方法 抽象 为计算(函数): 输入 计算 输出 - 程序 = 数据 + 算法 = 数据和结构 + 算法 - 数据的表示 结构 组合 的表示 - 算法的表示 - 输出 :像素的组合 形成 字符(文字,数字) 图形 图像 动画 - 把结果 转换为 人类理解的方式 - 本质 0和1 表示 即二进制 - 机器语言 - 汇编语言 - 高级语言(Lisp,C,Swift)
Swift
关键字: 语法 程序
- 语法 :表示的方式 贯穿整个语言 - 注释 - 语句 关键字 保留字 分割符 - 分号 括号 - 块 区域 :作用域 - 字面量 - 数值 :不同进制的表示 - 字符串 空字符串 多行字符串 特殊字符(转义) Unicode 标量格式 扩展字符串分隔符 - 类型安全 : 类型标注 类型推断 - 类型别名 - 操作符 运算符 - 算术 赋值 逻辑 比较 条件(三元条件) 区间 溢出 合并空值(??) - 术语 :一元、二元、三元 前缀 中缀 后缀 - 语法糖 - 特性 :模式匹配 计算属性 观察属性 - 可选 :?? - 可选项绑定 : If 语句的强制展开 - 隐式展开
- 程序 - 数据 :对象 (数字 文字 逻辑 其他 ?) - 基本 - 数 : 整数 浮点数 - 大小范围
- 十进制 : 3
- 二进制 (0b) : 0b101
- 八进制 (0o) : 0o21
- 十六进制 (0x) : 0xfa1
- 有符号 : Int
- 无符号 : UInt
- 位数 : 8 16 32 64
整数
关键字: 整数
- 字面量
- 示例:
- 类型
- 说明: 位数 等同 平台本地字长
- 示例:
let signedInt8:Int8 = 127 let unsignedInt32:UInt32 = 32
- 逻辑 : 真 假 - Bool : ture false - 字符 字符串 - 编码 : Unicode - 有无 :可选 空 - nil ? ! - 常量和变量 - 类型 - 类型转换 - 数据结构 组合 :元组 数组 字典 枚举 结构 类 - 对象间的关系 : 继承 协议 泛型 - 改变 :扩展 观察 通知 介入 - 比较 - 作用域 生命周期 - 值类型 引用类型 - 计算 算法 - 步骤 :顺序执行 行 块 - 过程 :函数 运算符(语法糖) - 分支 :二分 多分 - 选择分支 通过 条件判断 - 重复 :循环 迭代 递归 - 并发 - 特定对象的计算 - 输出 打印 - 错误处理 调试 - ? 为什么程序会出错 - 运行期 :捕捉 抛出 传递 - 调试 :断言 先决条件 - 库 - 工具