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.
}
}
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.
}
}
相关文章推荐
- 解决swift中闭包中循环引用self 的问题
- swift 学习笔记
- Swift 随堂笔记
- [ios][swift]swift GPS传感器的调用
- 窥探Swift之别具一格的Struct和Class
- Swift之单例模式
- swift学习记录(String)
- Xcode: Swift 添加库后找不到库中的类型的解决方法
- @objc在swift语法中的使用场景
- Swift 可选值(Optional Values)介绍
- swift 学习记录(可选类型 Optionals)
- swift学习记录(基本数据类型)
- swift学习记录(特点,常量,变量)
- swift学习日记(七)下标 继承
- Swift 柯里化(currying)和反柯里化(uncurrying)
- Swift-Kingfisher图片下载库
- Swift中自定义运算符
- 深入探究Swift数组背后的协议、方法、拓展
- Swift之!与?的区别
- Swift -- Swift 2.0值得注意的新特性