//
// 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);
//判断一个字符串是否为空
if str4.isEmpty{
print("str4为空")
}
//相等(前,后缀是否等于某一个字符串,两个字符串是否全等)
let string0="hello"
let string1="hello"
if string0==string1{
println("字符串相等")
}
//hasPrefix:前缀是否等于某一个字符串
if string0.hasPrefix("he")
{
println("字符串是以he开头的")
}
//hasSuffix后缀是否等于某一个字符串
if string0.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循环遍历
for var i=0;i<array.count;i++ {
println(array[i])
}
//for-in遍历就是遍历这个数组,把数组里面的东西依次给局部变量
for temp in array {
println(temp)
}
// 题目建立一个整型数组(10个元素),对整型数组进行for-in遍历,如果元素是偶数的话就打印出来,并求出奇数之和
var sum=0
var IntArray=[1,2,3,4,5,6,7,8,9,10]
for temp in IntArray {
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)