1. 程式人生 > >學校學習ios教程筆記,第四節swift中可變陣列和不可變陣列以及元組的概念與操作

學校學習ios教程筆記,第四節swift中可變陣列和不可變陣列以及元組的概念與操作

//

//  main.swift

//  Swift第四節

//

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

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

//

import Foundation

//字串的長度strlen()

//字串分為可變字串(var) 和不可變字串(let)

//(1)字串的建立

let str="hello"

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

//根據一個已存在的字串來建立一個新的字串

let str2:String="\(str),world"

//格式化建立字串

//format:我們自定義的格式 arguments:引數集合,要用一個小括號來包括

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

let str4:String=String(format: "%d+%d=%d", 3,4,7)

//字串的長度 4表示UTF-8的編碼(NSUTF8Encoding

let length=str3.lengthOfBytesUsingEncoding(4);

//判斷一個字串是否為空

ifstr4.isEmpty{

print("str4為空")

}

//相等(前,字尾是否等於某一個字串,兩個字串是否全等)

let string0="hello"

let string1="hello"

ifstring0==string1{

println("字串相等")

}

//hasPrefix:字首是否等於某一個字串

ifstring0.hasPrefix("he")

{

println("字串是以he開頭的")

}

//hasSuffix字尾是否等於某一個字串

ifstring0.hasSuffix("lo")

{

println("字串是以lo結尾的")

}

//將字串裡面的英文全部轉換為大寫:uppercaseString

let string2=string0.uppercaseString

println(string2)

//將字串裡面的英文全部轉換為小寫:lowercaseString

let

string3=string2.lowercaseString

println(string3)

//可變字串

var mutableStr="hello"

println(mutableStr)

//拼接字串

mutableStr+="world"

println(mutableStr)

//陣列(一些資料的有序集合)Array

//swift中的陣列可以存放多種資料型別(c語言裡面陣列只能存放同種資料型別)

//(1)字面量建立一個陣列

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

let floatArray = [1.2,2.3,3.4,4.5]

//表示建立一個空的整形陣列

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

//字串

let strArray:[String]=["asd","dasd","dasd2"]

//swift  中列印陣列之間列印

println(numArray)

println(strArray)

//陣列中存放多種資料型別

let array=[1,2,3,1.85,2.5,"hello"]

let array2:[NSObject]=[1,2,3,1.85,2.5,"hello"]

println(array)

//訪問陣列元素

println(array[2])

//陣列的容量(陣列的元素個數)

let count=array.count;

//注意:訪問陣列的元素不能陣列越界

//print(array[10])

//遍歷,支援for迴圈遍歷

forvar i=0;i<array.count;i++ {

println(array[i])

}

//for-in遍歷就是遍歷這個陣列,把數組裡面的東西依次給區域性變數

for temp inarray {

println(temp)

}

// 題目建立一個整型陣列(10個元素),對整型陣列進行for-in遍歷,如果元素是偶數的話就打印出來,並求出奇數之和

var sum=0

var IntArray=[1,2,3,4,5,6,7,8,9,10]

for temp inIntArray {

if temp%2==0{

print(temp)

    }

else{

sum+=temp

    }

}

println(sum)

//另一種for-in遍歷

//由於博主Xcode版本過低這種無法驗證

/*for(index,temp) in IntArray.enumerate(){

print("下標=\(inde),對應的元素=\(temp)")

}

*/

//可變陣列:[Int]表示一個整型陣列,後面的()表示初始化

var mArray=[Int]()  //建立了一個空的整型陣列

var mStrArray=["hello","world"]

//不可變陣列中的所有操作(訪問某一個元素。陣列的元素個數,遍歷。。。)在可變陣列中都可以使用,但是可變陣列的特有操作(增加,刪除。。。)在不可變陣列中不可以使用

//增加元素:增加的元素必須跟陣列中的元素是一樣的

//如果陣列型別:[NSObject],可以增加任意型別的元素

mStrArray.append("ADS")

mArray.append(1)

println(mStrArray)

print(mArray)

//在指定的位置插入元素

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

println(mStrArray)

//某一個元素在陣列中的下標

/*let inde0=mStrArray.indexOf("hello")

print(index0)*/

//刪除

//mStrArray.removeAll()   //移除數組裡面的所有元素並且清除記憶體

//mStrArray.removeAll(keepCapacity: true)   // //移除數組裡面的所有元素並且決定是否保持陣列原來的容量

let asd=mStrArray.removeAtIndex(2)//移除指定下標的的元素,並將指定下標的元素返回,也可以不返回

print(mStrArray)

print("\(asd)")

//元組:元組是一種特定的資料型別的集合

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

var value:(Int,Double,String)=(45,23.54,"d")

//訪問元組中的元素 .0.1.2

let  temp=value.0

let temp1=value.1

print(temp,temp1)