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的缩写形式,是变量的意思 ,是可改变的.并非数据类型 比如: 注意每一个语句后面 ...
随机推荐
- UnWind Segue
iOS 6 和 Xcode 4.5 中添加了一个新特性叫做“Unwind Segue”. 使用Unwind Segue,可以方便的在Navigation Controller的Controllers之 ...
- 转载:混淆包含SlidingMenu、gson等Android代码的proguard写法
描述:作为一个写了几年c#的码农,咱的java水平实在不敢恭维,但是最近有个任务需要弄点java的代码,还要研究混淆.网上百度并实验了整整一天,终于算是有点成果了.其中混淆的时候由于用到了gson包, ...
- 一个简单的3DTouch、Peek和Pop手势Demo,附github地址
参考文章:http://www.jianshu.com/p/74fe6cbc542b 下载链接:https://github.com/banchichen/3DTouch-PeekAndPopGest ...
- xss-跨站脚本攻击-后台传给前端的html标签安全显示
作用 后台拼接的html字符串传到前端,默认是不安全的,需要告诉前端这个字符串是安全的,可以正常显示html标签. 知识点 1.定义 2 3 <script> 获取session ...
- 优化C/C++代码的小技巧
说明: 无意看到一篇小短文,猜测作者应该是一个图形学领域的程序员或专家,介绍了在光线(射线)追踪程序中是如何优化C/C++代码的.倒也有一些参考意义,当然有的地方我并不赞同或者说我也不完全理解,原文在 ...
- ASP.NET在不同情况下实现单点登陆(SSO)的方法
第一种:同主域但不同子域之间实现单点登陆 Form验证其实是基于身份cookie的验证.客户登陆后,生成一个包含用户身份信息(包含一个ticket)的cookie,这个cookie的名字就是在web. ...
- jquery选择器(原创)<四>
前面学习了基本选择器,现在学习过滤选择器中的简单过滤选择器: 简单过滤选择器,主要根据索引值对元素进行筛选,这些过滤选择器类似于CSS的伪类选择器,他们均以冒号(:)开头,并且要与另外一个选择器一起使 ...
- 数学 --- 高斯消元 POJ 1830
开关问题 Problem's Link: http://poj.org/problem?id=1830 Mean: 略 analyse: 增广矩阵:con[i][j]:若操作j,i的状态改变则con[ ...
- P6 EPPM Installation and Configuration Guide 16 R1 April 2016
P6 EPPM Installation and Configuration Guide 16 R1 April 2016 Contents About Installing and ...
- 在ASP.NET MVC环境中使用加密与解密
在.NET Framework 4.5的NET框架中,在程序中加密与解密很方便.现在均学习ASP.NET MVC程序了,因此Insus.NET也在此写个学习的例子.在需要时可以参考与查阅. 写一个Ut ...