OC与Swift的区别二(常量、变量、运算符)
4.常量与变量声明
oc的变量声明使用 类型 变量名 = 变量值的方式,其中类型为系统内置数据类型或自定义类型,变量名需由英文字母开头且不能包含特殊字符
swift变量声明使用 var 变量名 = 变量值的方式,其中变量名可以使用任何你喜欢的字符,甚至是表情符号emoji等
oc常量声明使用const放在变量定义前即为声明常量,如:const NSString *str = @"Hello";
swift常量声明使用 let 常量名 = 常量值的方式,同样可以使用任何你喜欢的字符作为常量名
swift 可以自动推断出常量与变量的数据类型,当然也可以使用“:数据类型”的方式指定其具体数据类型,如 let age:Int = 10
PS:swift严格要求变量在使用前必须进行初始化,如上所示,必须给定变量值,而oc则不强制
5.整数
swift提供了8、16、32、64位有符号和无符号整数,如UInt8、Int64等,每一种类型都有一个min和max可调用,如UInt8.min、UInt8.max等。
6.浮点数
swift浮点数可以用十进制和十六进制2种进制来表示
十进制:let d1=12.5或let d2=0.125e2 后缀e2代表e前面部分乘以10的2次方
十六进制:let d3=0xC.8p0 0x前缀表示后面是十六进制,p0代表前面整个数字乘以2的0次方 且指数部分(px)必须存在
7.数字格式
swift中允许在数字中间加入符号_,以增加可读性,并不会影响原来数据,如 let money = 100_0000 还是表示100000
swift中还允许在数字前面加入0,以增加可读性,并不会影响原来数据,如 let money = 001_000_000还是表示1000000
而这些在oc中是不允许的
8.字符串
oc中使用@""来表示字符串
swift使用""来表示字符串,拼接字符串直接使用+将两个字符串或字符串变量进行拼接运算即可,如var str1="abc";var str2="def";var str3=str1+str2;
oc使用stringFormat方法进行字符串格式化,可以将其他非字符串值插入字符串中进行格式化
swift使用“\()”将其它非字符串插入字符串中,如:let hand=2;var age=20;let str="我今年\(age)岁了,有\(hand)只手",也可以使用String(age)进行转换,并用+进行字符串拼接,如let str="我今年"+String(age)+"岁了,有"+String(hand)+"只手"
9.数据类型转换
swift类型转换使用“数据类型(原数据)”进行类型转换,如let money1=100;let money2=50.5;let totalMoney=Double(money1)+money2;
10.运算符
oc赋值运算符返回该变量值,如 int a = 0;int b = a = 10;其实a=10返回10赋值给了b
swift赋值运算符没有返回值
oc求模运算只支持整数求模运算
swift求模运算支持浮点数求模运算,如8%2.5=0.5,因为8=2.5*3+0.5
oc中bool有两个值 YES NO 其实根本0为假,非0都代表真
swift中bool有两个值false true 且只有false和true 0与非0在任何场合都不代表bool值,比如if(10)这种写法是错的
swift 比oc中多几种运算符
10.1闭合范围运算符
a...b [a,b]包含a,b
a..<b [a,b)包含a,不包含b
如for i in 0..<5{
printfln(i)
}
10.2溢出运算符
swift为整型计算提供了5个&开头的溢出运算符
&+ 溢出加
&- 溢出减
&* 溢出乘
&/ 溢出除
&% 溢出求模
如 let x = UInt8.max //x=255
let y = x &+1 //y=0
如 let x = UInt8.min //x=0
let y = y &- 1 //y=255
OC与Swift的区别二(常量、变量、运算符)的更多相关文章
- iOS开发Swift篇—(二)变量和常量
iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...
- Swift入门学习之一常量,变量和声明
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6059421.html Swift入门学习之一常量,变量和 ...
- 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
[源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...
- OC与Swift的区别三(条件语句)
11.swift中的switch结构 区别一: oc中switch条件只可以放整数 swift中switch条件可以放几乎任何数据类型 区别二: oc中每一个case中应有break,如果没有brea ...
- OC与Swift的区别四(条件语句)
12.条件语句的区别,此处只写区别,没有指出区别的其他方面oc与swift基本一致 12.1 oc中for if switch语句体如果只有一行代码,则{}可以省略 swift中for if swit ...
- Swift基础语法(常量变量、数据类型、元组、可选、断言)
本文来自Swift中文开发组,感谢翻译者的分享. 本文将分几部分对Swift对ios的语法做讲解.本文为第一节,主要讲解基础语法. 常量和变量 常量和变量把一个名字(比如maximumNumberOf ...
- swift 2.0 语法 常量变量
import UIKit /*: 常量变量 * 常量: let * 变量: var 完整格式: * 修饰符(let/var) 常量/变量名称: 数据类型 */ let number: Int var ...
- swift学习(二)--基本运算符、字符串、集合操作
在这一篇博客里面,我想要介绍一下swift里面一些常用的基本运算符,还有涉及到的字符串,集合操作.你会发现在swift里面还是有许多其他语言所不具有的特性运算操作的. 首先最基本的+,-,*,/,&g ...
- OC与Swift的区别五(函数)
13 函数 oc函数定义: 返回值类型 函数名(参数类型 参数名,参数类型 参数名){ } swift 函数定义: func 函数名(参数名:参数类型,参数名:参数类型) -> 返回值类型{ } ...
随机推荐
- NOIP2001 一元三次方程求解
题一 一元三次方程求解(20分) 问题描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范 ...
- 2013 ACM区域赛长沙 I LIKE vs CANDLE(ZOJ3734) 很好的一道树形DP
题意:一棵有根树,每个节点都有一个value值和属性(zan或是 CANDLE).你可以通过反转一些点的属性,反转一个点时候,它的整个子树都会被反转属性.有些点反转消耗代价为X,有些为Y.你的目标的是 ...
- 最新版springside4基于Quickstart项目,创建自己的项目
直接输入 mvn archetype:generate -DarchetypeGroupId=org.springside.examples -DarchetypeArtifactId=quickst ...
- 【Java基础】Java中的持久属性集Properties
Properties 类的介绍 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串.一个属性列表可包含另一个属性列 ...
- HW4.6
public class Solution { public static void main(String[] args) { final double MILES_PER_KILOGRAM = 1 ...
- __FILE__,__LINE__,FUNCTION__
__FILE__,__LINE__,FUNCTION__实现代码跟踪调试 ( linux 下c语言编程 ) 先看下简单的初始代码:注意其编译运行后的结果. root@xuanfei-desktop:~ ...
- Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)
# 禅与 Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译) - 原文 <https://githu ...
- java transient简单介绍
我们都知道一个对象仅仅要实现了Serilizable接口,这个对象就能够被序列化,java的这样的序列化模式为开发人员提供了非常多便利,我们能够不必关系详细序列化的过程,仅仅要这个类实现了Serili ...
- Tsar 服务器系统和应用信息的采集报告工具
Tsar介绍 Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx.swift等),收集到的数据存储在服务器磁盘上,可以 ...
- 高质量CSS编写规范
①id和class的命名在保持语义性的同时尽可能的短.不推荐的写法:#navigation {} .atr {}推荐的写法 : #nav {} .author {}可以缩写单词,但缩写后务必能让人明 ...