您的位置:首页 > 移动开发 > Swift

Swift 的基本数据类型 常量和变量、String 的基本操作

2015-12-16 13:25 726 查看
/*

Swift 的基本数据类型 常量和变量、String
三个

*/

// Created by 周双建 on 15/12/16.

// Copyright © 2015年周双建. All rights reserved.

//

import UIKit

import Foundation

class ViewController:
UIViewController {





override func viewDidLoad() {



super.viewDidLoad()

/*

Swift 中常量的声明使用 let


变量的声明使用 var (次关键词,被用与好多中开发语言。例如:HTML、APS、.net)

常量和变量的区别:常量已但被定义是不可改变的


变量定义后是可改变的

*/

//声明一个常量

let MaxCount =
20

print(MaxCount)



//声明一个变量

var MixCount =
0

MixCount = 10//常量是不可以这样写的

print( MixCount)




// 在同一行可以声明多个变量或者常量 ,变量或者常量之间用 “,”分隔

//变量

var BodyCount :Int =10 , GirlCount :
Int = 20 , MailCount :Int =2

print([BodyCount , GirlCount ,MailCount])

/*

打印结果:

[10, 20, 2]

*/

// 常量

let Body =
20 , gril = 10 ,mail =
0

print([Body , gril ,mail])

/*

打印结果:

[20, 10, 0]

*/

/****************************************************************/


// 带类型的常量或者变量的声明


// 注意:在声明常量或者变量的时候,一般不带其类型,因为 Swift可以根据你给的值,来确定其类型。但也可以指定其,类型

//常量(int)

let Count_ZSJ :
Int = 10

// let Count_ZSJ = 10
和上面的是等同的

// 其他类型

let Str :
String = " 成功"

let Double_ZSJ :Double =5.20

let Float_ZSJ :Float =5.2

let Integer_ZSJ :
NSInteger = 3


//注意在声明后,不可更改其类型

let Str_ZSJ =
20

// Str_ZSJ = "失败" 这样是不对的。Str_ZSJ= 20这已经定义了
Str_ZSJ的类型了
是 int ,而 Str_ZSJ = "失败"是将一个字符串给Str_ZSJ


// 变量的道理和常量是一样的,就不在写了



/****************************************************************/

//常量和变量的命名规则

/*

Swift 中可以用任何字符作为常量和变量的名字,包括 Unicode字符

Unicode 字符:

¡¢£¤¥¦§¨©ª«¬ ®¯00B0°±²³´µ¶·¸¹º»¼½¾¿00C0ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ00D0ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß00E0àáâãäåæçèéêëìíîï00F0ðñòóôõö÷øùúûüýþÿ0100ĀāĂ㥹ĆćĈĉĊċČčĎď0110ĐđĒēĔĕĖėĘęĚěĜĝĞğ0120ĠġĢģĤĥĦħĨĩĪīĬĭĮį0130İıIJijĴĵĶķĸĹĺĻļĽľĿ0140ŀŁłŃńŅņŇňʼnŊŋŌōŎŏ0150ŐőŒœŔŕŖŗŘřŚśŜŝŞş0160ŠšŢţŤťŦŧŨũŪūŬŭŮů0170ŰűŲųŴŵŶŷŸŹźŻżŽžſ0180ƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏ0190ƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟ01A0ƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯ01B0ưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿ01C0ǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏ01D0ǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟ01E0ǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯ01F0ǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿ

这是部分,还有很多。

方法:

option + XXOO
就可以出现

*/



let
成功 = 30

let µ = "成功QQ吧"

let œ
= 520



/*注意:

1、常量与变量名不能包含数字符号(+ - * /等)、箭头、保留的 Unicode、连接线、制表符

2、不能以数字开头,但其他地方可以使用

3、 Swift中
尽量命名不要和一些关键字一样,如果。一定要用也是可以的,那就需要反引号来包含

*/

//错的

//let 5g = 20



// 对的

let g5 =
20



//
使用关键词做名字

let `let` =
520

/*

注释:反引号是
波浪建在英文编辑下,打出的

*/

/*****************************************************************/

//日志的输出

/*

在 OC里面
我们有 printf
、 NSlog

Swift 里面是 print、NSlog
注意
:println已经不在使用

*/



print(`let`)

NSLog("%d",`let`)

NSLog( "成功QQ吧")

/*

打印结果:

2015-12-16 09:41:32.541 Swift_013[1745:78097] 520

2015-12-16 09:41:32.541 Swift_013[1745:78097]
成功QQ吧



可见,NSLog打印带有日期,这就便于调试

*/



//
字符串的拼接输出

/*

字符的拼接输出,这需要使用 Swift的插值语法。其形式是:

在字符串内部使用 \(变量名)

*/

let b = true

let name =
"成功QQ吧"

let number =
520

print("注意:\(name)的标语是\(number)是\(b)")

/*

打印成功:

注意:成功QQ吧的标语是520是true

*/

/***************************************************************/


//下面是字符串的一些炒作

//
声明一个字符串

let XX ="I LOVE YOUR MONEY"

//
我们遍历一个字符串

//
获取字符串的长度

let Count = XX.lengthOfBytesUsingEncoding(4)

print(Count)

/*

这样写是错误的

for ch in XX {

print(ch)

}

因为
: String 不符合 SequenceType。但是,您可以使用 characters属性 String
。 characters
返回 String.CharacterView,顺应了 SequenceType

*/

// 是对的

for ch in XX.characters {

print(ch)

}



/*

打印结果:

I





L

O

V

E





Y

O

U

R



M

O

N

E

Y

*/

/**************************************************************/

//
字符串的拼接

let c = "成功"

let s = "失败"

print(c+s)

/*

打印:

成功失败



*/



/****************************************************************/


//字符串与其他类型的进行拼接

let name_S =
"成功QQ吧"

let age =
"\(name_S)
的年龄是6岁"

print(age)



let co = 7



print(name_S, co)

/*

打印结果:

成功QQ吧的年龄是6岁

成功QQ吧 7

*/



/******************************************************************/

//判断字符串是否为空

var str =
"d"

print(str.isEmpty ?"没":"有")


// 判断字符串是否包含某个字符

var sh = "dH"

print(str.containsString(sh))

/*

true

*/

//
第一种 判断字符串是否相等

print( str == sh )

/*

false

*/

//
第二种 comper 比较

/*

public enum NSComparisonResult : Int {



case OrderedAscending
升序

case OrderedSame
相等

case OrderedDescending
降序

}

*/



if str.compare(sh).hashValue ==1 {

print("相等")

}else if str.compare(sh).hashValue ==0 {

print("小于")

}else{

print("大于")

}

print( str.compare(sh).hashValue )

/*

通过
枚举的 hashValue
获取枚举的 值

str 和 sh 相比
得出结果是 str
是大还是小

*/

/*

打印结果:

NSComparisonResult

*/

//
第三种 比较

print(str > sh)

/*************************************************************/

//判断字符串的头和尾

/*

hasPrefix
是 头

hasSuffix
是 尾

*/

var My_Str ="http://www.baidu.com.image.png"

if My_Str.hasPrefix("http://") {

print("是网址")

}

if My_Str.hasSuffix(".png") {

print("是和图片相关的")

}

/***************************************************************/

//字符串的大小写转换

var str_zsj ="I love Your Qian Very Much "

// 转大写

print( str_zsj.uppercaseString )

/*

I LOVE YOUR QIAN VERY MUCH

*/

//转小写

print(str_zsj.lowercaseString )

/*

i love your qian very much

*/

/****************************************************************/


//字符串与其他类型的转换


// 整形转字符串,使用插值法

var QB = 23

let HJ = ("\(QB)")



//
字符串转其他,可直接转

var HK =
"34eeeeffff"

let Mn = Int(HK)

/*

注意:

HK.toint()
该方法已经不再了

*/



//利用 OC的方法转换

let BN :NSString = HK

let VB = BN.intValue



let Unicode = HK.unicodeScalars

print(Unicode)// 34 时将其转化为 UniCode 编码


//从哪个位置获取,字符串

let bm : NSString = HK

let AB = bm.substringFromIndex(1)

print(AB)

//从开始,到第三个位子

let Gh = bm.substringToIndex(3)

// Do any additional setup after loading the view, typically from a nib.

}



override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}



}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: