if分支语句

  • 和OC中if语句有一定的区别
  • 判断句可以不加()
  • 在Swift的判断句中必须有明确的真假
    • 不再有非0即真
    • 必须有明确的Bool值
    • Bool有两个取值:false/true
let score = 87if score < 60 {print("不及格")
} else if score <= 70 {print("及格")
} else if score <= 80 {print("良好")
} else if score <= 90 {print("优秀")
} else {print("完美")
}
复制代码

三目运算符

  • Swift 中的 三目 运算保持了和 OC 一致的风格
var a = 10
var b = 50var result = a > b ? a : b
println(result)
复制代码

guard的使用

  • guard是Swift2.0新增的语法
  • 它与if语句非常类似,它设计的目的是提高程序的可读性
  • guard语句必须带有else语句,它的语法如下:
  • 当条件表达式为true时候跳过else语句中的内容,执行语句组内容 条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throws
var age = 18func online(age : Int) -> Void {guard age >= 18 else {print("回家去")return}print("可以上网")
}online(age)
复制代码

switch的使用

switch的简单使用
  • 基本用法和OC用法一致
  • 不同之处:
  • switch后可以不跟()
  • case后可以不跟break(默认会有break)
  • 例子:
let sex = 0switch sex {
case 0 :print("男")
case 1 :print("女")
default :print("其他")
}
复制代码
  • 简单使用补充: 一个case判断中,可以判断多个值 多个值以,隔开
let sex = 0switch sex {
case 0, 1:print("正常人")
default:print("其他")
}
复制代码
  • 简单使用补充: 如果希望出现之前的case穿透,则可以使用关键字fallthrough
let sex = 0switch sex {
case 0:fallthrough
case 1:print("正常人")
default:print("其他")
}
复制代码
Switch支持多种数据类型
  • 浮点型的switch判断
let f = 3.14
switch f {
case 3.14:print("π")
default:print("not π")
}
复制代码
  • 支持字符串类型
let m = 5
let n = 10
var result = 0let opration = "+"switch opration {case "+":result = m + ncase "-":result = m - ncase "*":result = m * ncase "/":result = m / n
default:result = 0
}print(result)
复制代码
switch支持区间判断
  • 什么是区间? 通常我们指的是数字区间:0~10,100~200
  • swift中的区间常见有两种
  • 半开半闭区间:0..<10 表示:0~9,不包括10
  • 闭区间:0...10 表示:0~10
let score = 88switch score {
case 0..<60:print("不及格")
case 60..<80:print("几个")
case 80..<90:print("良好")
case 90..<100:print("优秀")
default:print("满分")
}
复制代码

swift的基础语法(二)相关推荐

  1. Python 基础语法(二)

    2. 元组 tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义:支持索引和切片操作:可以使用 in 查看一个元素是否在tuple中.空元组 ...

  2. Java的基础语法(二)

    目录 1.自动类型转换 2.强制类型转换 3.运算符 一 . + 号的使用 (1)  + 号可作为连接符使用 . (2) 自增自减运算符 二 . = (赋值运算符) 三 . 关系运算符 四 . 逻辑运 ...

  3. python定义字符串变量有两种常用方式_Python 1基础语法二(标识符、关键字、变量和字符串)...

    一.标识符 标识符就是程序员自己命名的变量名.名字需要有见名知义的效果,不要随意起名 :比如 a=1 a是个变量,a这个变量名属于标识符 1 company = '小米 2 employeeNum = ...

  4. PLSQL基础语法二-流程控制,循环

    2019独角兽企业重金招聘Python工程师标准>>> --流程控制 --分支语句 --练习1:字符串 declarestr varchar2(18):='b'; beginif(s ...

  5. PHP 之旅 基础语法(二)

    注释 1.块注释:/* 注释内容 */ 2.行注释:  // 3.文档注释: /* *@   定义 *@   作者 *@   版本 */ 数据类型: 1.布尔型(boolean)与NULL 非0值为T ...

  6. java default修饰符_Java基础语法二

    Java循环结构 for循环 /* for(初始化;布尔表达式;更新) {执行代码 } */ for(int i=0; i < 5; i++) {System.out.println(i); } ...

  7. 【WY】数据分析 — Matplotlib 阶段一 :基础语法 二 —— 创建图表

    版权声明:本文为博主原创文章,未经博主允许不得转载. 文章目录 一.plt.plot() 1.1 按数据结构画图 1.1.1 Series 直接生成图表:Series.plot() 1.1.2 Dat ...

  8. Swift 5 基础语法篇

    常量 只赋值一次,它的值不要求在编译时期确定值,但在使用之前赋值一次 let a = 10 let b: Int = 20 let c: Int c = a + b 标识符 标识符(常量变量函数名)不 ...

  9. swift语言基础语法思维导图

    借鉴了这个网站进行整理:https://www.cnswift.org/the-basics

最新文章

  1. 21天mysql_把整个Mysql拆分成21天,轻松掌握,搞定(下)
  2. ubuntu安装mysql报错_在Ubuntu上安装mysql数据库和遇到的问题
  3. 你得学会并且学得会的Socket编程基础知识
  4. [ARM异常]-ARMV8-aarch64 异常(中断)是如何跳转到向量表的
  5. Windows性能查看器:系统的性能信息(I/O,IIS最大连接数,Sql) ,以及解决 asp.net IIS 一二百多用户并发...
  6. 35岁真的是程序员的坎儿吗?
  7. braintree php 开发,php – 如何为使用Braintree和静态方法调用的端点编写集成测试...
  8. 作业 winform 备份原始积分派送五百分
  9. SQLServer格式化时间
  10. C#代码调用js函数,js函数中的document.getElementById(对象ID)得null值解决办法
  11. 目前软件分析设计过程中的主要问题
  12. HTML5 本地存储之IndexedDB封装及最详细教程
  13. 数据科学导论--2.理论基础
  14. Java毕业设计:校园二手闲置物品交易网站(java+springboot+vue+mysql)
  15. 【超详细】韦东山:史上最全嵌入式Linux学习路线图
  16. 【牛客网-公司真题-前端入门篇】——如何快速上手牛客
  17. WPS删除所有的页码
  18. 我是路人甲,请你为我祝福
  19. shell小数点前不打0_shell十三问:关于${0##*/} 和${0%/*}
  20. matlab三大数组之构架数组

热门文章

  1. python编程入门指南上下百度云-Python编程入门指南(上下册)
  2. python下载教程1001python下载教程-Python知识圈
  3. python编程入门经典教程-python编程入门经典
  4. lidar激光雷达介绍,以及使用激光雷达数据通过深度学习做目标检测
  5. gitbook的使用
  6. python的GUI库PyQt5的使用
  7. LeetCode Interleaving String(动态规划)
  8. LeetCode Majority Element
  9. LeetCode Minimum Depth of Binary Tree
  10. Spinner的使用(一):与ArrayAdapter的配合使用