以文本方式查看主题

-  DahuangPhone  (http://dahuangphone.com/index.asp)
--  Swift  (http://dahuangphone.com/list.asp?boardid=24)
----  Swift 基本类型以及运算符号  (http://dahuangphone.com/dispbbs.asp?boardid=24&id=306)

--  作者:dahuangphone
--  发布时间:2014/10/11 20:52:24
--  Swift 基本类型以及运算符号

定义常量:let

定义变量:var

变量定义规范:

常量全部使用大写,多个单词用下划线隔开。

变量使用驼峰写法。

注释:

//   单行,选中多行,使用command+/可以同时注释多行

/*   */   多行,可以嵌套使用


表达式:

1.不指定数据类型:系统自动分配看数据类型

  • var a=2;
  • let b=3;

2.指定数据类型:指定类型,可读性好,推荐

  • var c:Int=4;
  • let d:Int=5;
  • let d:Int=5.5;  //实际值为5
  • let d:Int="5.5";   //报错

布尔型


var b:Bool=true  


注意:

1. 布尔型可以赋值非零值表示true,零表示false。但是必须要先指明Bool类型,否则就是声明了一个整型

2. if语句中的判断条件必须是一个Bool的返回值,即true或者False,不能直接使用整数来作为判断条件



运算符


===:a与b引用一个实例时返回ture,否则false,只用于类

==:比较两个引用的内容是否是同一个实例


%: 余数(取模)


Swift中,整数,负数,浮点都可以求余数,根据以下计算公式:


var array:(CGFloat,CGFloat,CGFloat,CGFloat)=(8.5 % (-2.5), -8.5 % (-2.5), 8.5%2.5, -8.5%2.5)

        

println("\\(array)")


结果:(1.0, -1.0, 1.0, -1.0)


因此余数的正负与被除数保持一致,余数大小与被除数和除数的绝对值的余数相同




基本数据类型:

一般使用Int和UInt 。数据会和平台保持一致


var abc=9_600_000


var float1=9_600_000.00   //值为9600000,为了便于查看,数字可以用下划线分开书写


浮点类型的自动推断是Double类型,如果要使用Float,必须指定



各种类型数据进行计算的时候不支持隐形转换,必须强制手动转换。


如果浮点向整形转换,小数点会被忽略。



n进制表达方法:


let decimailInt=28

let binaryInt=0b11100   //0b 开头

let octalInt=0o34       //0o 开头

let hexadecimalInt=0xdd //0x开头

 

元组型:

var tuple1=(1,2,3,4)       //不带键值的定义方法

var tuple2:(Int,Int)=(2,2)       //强制类型定义方法

var tuple3=(id:12,name:333);       //带键值的定义方法

var tuple4:(id: Int, name: Int)=(id:22,name:4444);       //带键值,强制类型定义方法


var t1=tuple4.0       //无键值读取方法(带键值也可以这么读取)

var t2=tuple4.id       //有键值的读取方法




var (ta1,tb1,tc1,td1)=tuple1;       //将元祖分解成多个变量。


println("\\(ta1)");


var (t11,_)=tuple2       //如果只需要其中几个,可以讲不用的变量使用下划线代替。


字符串:


var string1=""            //初始化方法一

var string2=String()            //初始化方法二


var string3:String="abc"            //强制类型方法

print(string3)


var count=countElements(string3)            //计算字符串中的字符数量

var string4="\\(2)+\\(3)=\\(5)"            //


let sz1=["abc3.jpg","abc2.jpg","abc1.jpg","abc.bmp","abc.gif","abc.png"]            //

var sameSuffix=0;

var samePrefix=0;


var upperCaseString=""

var lowerCaseString=""


for string in sz1{

    if string.hasSuffix(".jpg"){            //查看字符串是否有指定的后缀

        sameSuffix++;

    }

    if string.hasPrefix("abc."){            //查看字符串是否有指定的前缀

        samePrefix++;

    }

upperCaseString=string.uppercaseString;           //字符串变成大写

    lowerCaseString=string.lowercaseString;           //字符串变成小写

}


 var str="abcdefg"

        

        //获取字符串的每一个字符

        for item:Character in str{

            println(item)

        }

        

        //获取字符串每一个字符的unicode编码

        

        for item in str.unicodeScalars{

            print("\\(item.value)")

        }

        


定义别名:


typealias Abc=Int   //typealias和typedef功能相似

var abc:Abc=2


区间值 ...和..<


0...2  包括 0,1,2

0..<2  包括 0,1


使用场景

for i in 0...5{   //注意,这里的 i 不需要var

     print("\\(i)")

}

        

for i in 0..<5{

     print("\\(i)")

}