Swift学习--常量.变量.数据类型的使用(一)
一.Swift中的常量和变量
/*
Swift 中定义常量和变量用let/var
let 代表定义一个常量
var 代表定义一个变量
Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们后面数据的真实类型自动推导
Swift开发技巧:在做Swift开发中,我们需要经常使用option + click键来查看方法或变量
**/ //常量
let num = 10.1
//num = 9.0 //常量不能修改 //变量
//注意点: Swift开发中每一条语句后面可以不写分号,但是写上也不会报错
// 如果同一行多条语句,那么每天语句后面必须写上分号
var value =
value = //相当于OC中的NSLog
print(value)
二.Swift中的数据类型
/*
Swift中不存在隐式类型转换,所有的类型转换都必须是显示的
*/
let num1 =
let num2 = 9.9
let iSum = num1 + Int(num2)
let dsum = Double(num1)+num2 //Swift是强语言/OC是弱语言
//let num3: Int = 10.1 //报错
let num3:Int =
let num4:Int = Int(10.1)
三.Swift中的分支
/*
Swift中的if使用方式 基本上 和OC一样
1.Swift中的if可以省略()
2.Swift中哪怕if后面只有一条语句,也不能省略{}
3.在C和OC中,有一个概念非0即真
在Swift中,条件只能放bool值,去值只有两个true/false */
let num5 =
if(num5 == ){
print("OK")
}
if num5 == {
print("OK")
}
/*
Swift中的switch
1.后面的()可以省略
2.OC中的switch如果没有break会穿透,但是OC中不会,Swift不会穿透
3.OC中如果要再case中同定义变量,必须加上{}确定作用域,而swift中不用
4.OC中的default的位置可以随便写,只有所有case都不满足才会执行default 而swift中的default只能放在最后
5.OC中的default可以省略,Swift中"大部分"情况下不能省略
*/ switch (num5){
case :
print("")
break
case :
print("")
break
case :
print("")
break
default:
print("other")
break
}
//Swift中的循环
/*
普通的for循环 和OC基本一致
*/
//0~9
for var i = ; i < ; i++
{
print(i)
} //Swift特色循环
//0..<10 代表一个区间范围,从0开始到9 包含头不包含尾
for i in ..<
{
print(i)
} // _ 代表忽略,如果不关心某个参数,就可以使用_
//在Swift中, _ 使用频率非常高
for _ in ..<
{
print("lnj")
} //0...10 代表一个区间范围, 从0开始到10结束 包含头又包含尾
for i in ...
{
print(i)
} /*
Swift的while循环和OC中差不多,而且在开发中很少使用while
*/
var a =
while a <
{
print(a)
a++
} /*
Swift升级到2.0后, do while循环发生了极大的变化
do while 没有do了 因为do被用作捕获异常了
*/
var b =
repeat{
print(b)
b++
}while b<
let num6 =
if num6 ==
{
print("")
}
else
{
print("")
} /*
在OC中 if else 可以使用三目运算符来简写
注意:在做Swift开发中三目运算符用得非常多
*/
let res = (num6 == ) ? :
print(res) /*
可选类型:代表着可以有也可以没有 optional
convenience init?
以后单反看到一个方法或者数据类型后面有?,就代表返回的是一个可选类型 使用可选类型需要注意,如果直接打印可选类型,那么打印出来的值会被Optional包裹
! 代表告诉编译器,可选类型中一定有值,强制解析
如果可选类型中没有值,而又进行了强制解析,那么程序就会崩溃
*/
let url = NSURL(string: "http://baidu.com")
print(url)
print(url!) let url2 = NSURL(string: "http://baidu.com/图片")
print(url2) //Swift的用意就是让我们将大部分运行时的错误,都再编译时解决
//let request=NSURLRequest(URL:url!)
if url != nil
{
let request = NSURLRequest(URL: url!)
} //可选绑定
//会将url的值取出来赋值给urlFinal变量,如果值不为nil,那么就可以进入{}
if let urlfinal = url{
let request = NSURLRequest(URL: urlfinal)
}
Swift学习--常量.变量.数据类型的使用(一)的更多相关文章
- Swift学习--常量.变量.数据类型的使用(二)
一.Swift中的数组 //Swift中的数组 //NSArray *arr = @["",""]; //和OC数组的区别就是去掉前面的@ let arr11 ...
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- Swift学习笔记 - 变量和常量
1. Mutability Objective-C offers several classes in both “regular” and mutable versions, such as NSS ...
- python常量 变量 数据类型 注释 交互 if语句
1.认识python python的创始人吉多·范罗苏姆(Guido van Rossum )龟叔在89年圣诞节开始开发python python属于解释型语言,强类型定义语言. 编译型/解释型:编译 ...
- Swift学习(四)常量&变量&基础数据类型
常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...
- swift学习第一天---常量变量基础数据类型
import Foundation /** * 1.常量 变量 知识要点:常量的定义用let 变量的定义用var 常量一旦定义便不可再更改. 变量定义之后可以在定义之后的程序中任意地方进行修改. */ ...
- Swift学习笔记(二)——常量与变量
这篇博客将会学习到Swift中的常量Constants和变量Variable.这是学习语言的基础.当中能够看到Swift每句后面基本都是没有:分号的,假设有加:分号的习惯,也能够加上. (1)常量声明 ...
- Swift入门学习之一常量,变量和声明
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6059421.html Swift入门学习之一常量,变量和 ...
- Swift学习——变量var和let常量的用法(一)
Swift中的变量var和let常量 首先介绍一下Swift中的 var 和 let (1)var 是 variable的缩写形式,是变量的意思 ,是可改变的.并非数据类型 比如: 注意每一个语句后面 ...
随机推荐
- Web程序员开发App系列 - 调试Android和IOS手机代码(补图)
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
- Tools - Oracle SQL Developer
Oracle SQL Developer Oracle公司出品的一个免费非开源的用以开发数据库应用程序的图形化工具. 可以浏览数据库对象.运行SQL语句和脚本.编辑和调试PL/SQL语句,也可以创建执 ...
- [python]自问自答:python -m参数?
python -m xxx.py 作用是:把xxx.py文件当做模块启动 但是我一直不明白当做模块启动到底有什么用.python xxx.py和python -m xxx.py有什么区别! 自问自答: ...
- SQL Server中的事务日志管理(6/9):大容量日志恢复模式里的日志管理
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- 华为手机Edittext光标(cursor)颜色修改
华为手机的emui系统经常让人发出“可以可以,这很华为”的感叹 这两天在edittext部分也发生了这样的事情 正常edittext光标的颜色和宽度都说可以修改的,只需要通过xml中的 textCur ...
- [Solution] 一步一步WCF(2) 终结点Endpoint
繁忙的一天又一天,不管其他,先继续WCF吧. Endpoint包含地址,绑定,契约三要素.WCF作为一个Windows平台下最大的通信框架.通过终结点承载了所有通信功能.所以终结点的作用将非常重要. ...
- SpringMVC——类型转换和格式化、数据校验、客户端显示错误消息
在介绍类型转换和格式化之前,我首先来介绍 <mvc:annotation-driven />. 需要导入的 schema: xmlns:mvc="http://www.sprin ...
- 团队项目2.0软件改进分析MathAPP
软件改进分析 在此基础上,进行软件的改进. 首先,我们把这个软件理解成一个投入市场的.帮助小朋友进行算术运算练习的APP. 从质量保证的角度,有哪些需要改进的BUG? 从用户的角度(把自己当成小学生或 ...
- HDFS Append时packet的格式以及DataNode对block/checksum文件的处理
HDFS Append时packet的格式以及DataNode对block/checksum文件的处理 HDFS的Block一般比较大,默认64MB/128MB,客户端给DataNode发数据实际上是 ...
- ASP.NET MVC的路由
好久没写博文了,感觉最近好像少了点动力.唉!这回就看看这个MVC的路由. 说这个路由机制其实不是MVC里面特有的,ASP.NET里面本身就有的,只不过在WebForm里面一般比较少用,而在MVC里就是 ...