學校學習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
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)