IOS中的Swift基础03(字符串操作,数组,元组)

//

//  main.swift

//  SwiftLesson03

//

//  Created by lanou on 16/10/24.

//  Copyright (c) 2016 lanou. All rights reserved.

//


import Foundation


//字符串长度strlen(),比较strcom(),拷贝,拼接...


//格式化字符串

//字符串长度

//判断字符串是否相等

//字符串的拼接

//遍历

//大小写转换

//前后缀 是否相等

//判断字符串是否为空



//字符串分为:1. 可变字符串(var) 2. 不可变字符串(let)

//不可变字符串(let)

//(1)字符串的创建

let str = "hello"

let str1 = "1 + 2 = \(3)"

//根据已经存在的字符串来创建一个新的字符串

let str2 = "\(str),World"


//格式化创建字符串

//format:我们自定义的格式,arguments:参数集合,要用一个中括号来包括

let str3:String = String(format: "%d + %d = %d", arguments: [3,4,7])

let str4 = String(format: "%d + %d = %d", 4,5,9)


println("\(str\(str1\(str2\(str3\(str4)")


//字符串长度(characters,lengthOfBytesUsingEncoding),4表示UTF-8的编码(NSUTF8Encoding)

let length = str3.characters.count

let length = str3.lengthOfBytesUsingEncoding(4)

println("length = \(length)")


//判断一个字符串是否为空:isEmpty,返回一个Bool

if str4.isEmpty {

    println("str4为空")

}


//判断字符串是否相等(,后缀是否等于某一个字符串;两个字符串是否全等)

let string0 = "hello"

let string1 = "hello"

if string0 == string1 {

    println("string0 = string1")

}

//hasPrefix:前缀是否等于某一个字符

if string0.hasPrefix("he") {

    println("string0是以'he'开头")

}

//hasSuffix:后缀是否等于某一个字符

if string0.hasSuffix("lo") {

    println("string0是以'lo'结尾")

}


//大小写转换

//将字符串里面的英文全部转换为大写:uppercaseString

let string2 = string0.uppercaseString

println("string2 = \(string2)")

//将肌肤穿里面的英文全部转换为小写:lowercaseString

let temp = "dnfSDfns"

let string3 = temp.lowercaseString

println("string3 = \(string3)")


//可变字符串

var mutableStr = "hello"

println(mutableStr)

mutableStr += "world"

println(mutableStr)



//数组: 数组分为 可变数组 不可变数组

//可变数组可以动态添加元素,删除元素

//swift中的数组可以存放一种或者多种数据类型(C语言中只能存放同种类型的数组类型)

//1.字面量创建一个数组

let numArray = [1,2,3,4,5]

let numArray1 = [1.2,2.1]

//表示创建了一个空的整形数组

let numArray2:[Int] = [Int]()

//字符串

let strArray:[String] = ["hello","world","das"]

println(numArray)

println("numArray = \(numArray1)")

println("ghjghgj----\(strArray)")



//数组中存放多种数据类型

let array = [1,2,3,23.23,"hello"]

let array1:[NSObject] = [1,2,3,23.23,"hello"]


//访问数组元素:通过数组下标

println(array[4])

println(numArray[1])


//数组的容量 (数组的元素个数):count

let count = array1.count

println(count)

//注意:访问数组的时候不能数组越界

//println(array1[5]) (fatal error: Array index out of range)


//遍历,支持for循环遍历

print("for循环遍历: ")

for var i = 0; i < array1.count; i++ {

    print("\(array[i]) ")

}

println()

//for-in遍历就是遍历这个数组,把数组里面的东西一次给element

print("for-in循环遍历: ")

for element in array1 {

    print("\(element) ")

}

println()



//建立一个整型数组(10个元素),对整型数组进行for-in遍历,如果元素偶数的话就打印出来,并求奇数之和

let intArray = [1,5,9,6,4,8,3,2,45,22]

var sum = 0

for temp in intArray {

    if temp%2 == 0 {

        print("\(temp) ")

    } else {

        sum += temp

    }

}

println("intArray数组中,奇数之和 = \(sum)")


//另一种for-in遍历

for (index.element) in intArray.enumerate() {

    print("下标=\(index),对应的元素=\(element)")

}



//可变数组:[Int] 表示一个整型数组,后面的()表示初始化

var mArray = [Int]()//创建了一个空的整型数组

var mStrArray = ["Hello","World"]

//不可变数组中的所有操作(访问某个元素,数组的元素个数,遍历....)在可变数组中都可以使用

//但是可变数组中的特有操作(增加,删除...)在不可变数组中不可以使用


//增加元素:增加的元素必须跟数组中的元素是同一类型

//如果数组类型是:[NSObject],可以增加任意类型的元素

mStrArray.append("123")

mArray.append(23)

print("\(mArray) \(mStrArray) \n")


//在指定位置插入元素

mStrArray.insert("abc", atIndex: 1)

println(mStrArray)


//获取某一个元素在数组中的下标

let index0 = mStrArray.indexOf("Hello")

println("Hello的下标--\(index0)")


/*

  删除:

    mStrArray.removeAll():移除数组里面所有的元素并且清空内存

    mStrArray.removeAll(keepCapacity: Bool):移除数组里面所有的元素并且决定是否保持数组原有的容量

    mStrArray.removeAtIndex(index: Int):移除某一个元素并且将这个元素返回出来

    mStrArray.removeFirst():删除第一个元素

    mStrArray.removeLast():删除最后一个元素

    mStrArray.removeRange(subRange: Range<Int>):删除指定位置指定长度的元素(mStrArray.removeRange(Range(0...3))

*/

let elementTemp = mStrArray.removeAtIndex(2)

println("移除了第3个元素的数组\(mStrArray),被移除的元素是\(elementTemp)")




//元组:元组是一种可以自定义特定数组类型的集合

let num0:(Int,Double) = (1,2.3)

let value:(Int,Double,String) = (23,2.3,"23")


//访问元组中的元组 .0 .1 .2.......

let valueElement0 = value.0

let valueElement1 = value.1

let valueElement2 = value.2


println("valueElement0 = \(valueElement0)")

println("valueElement1 = \(valueElement1)")

println("valueElement2 = \(valueElement2)")





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值