1.变量常量的定义
- 定义变量*
var age = 10
age = 10
- 定义常量
let gender = "男" //普通的常量
let 黑 = "Db" //文字也可以
let = "猪" //只有你想不到没有他做不到
2.显示标注类型
var he1: Int = 13// 注意哦!!!冒号后面一定要加空格否则爆红哦
var he2: Float = 30.2
var he3: Double = 172.2
到底可以定义多少类型呢Int
,Double
,Float
,NSString
,Character,Bool
let her1 = true
let her2: NSString = "g"
let her3: Character = "g"//不写Character 默认NSString,主意Character赋值是双引号
3.创建数组可有多种方式
var array2 = ["12","234","67"]
var array3 = ["abc",23,35.2]
var array4: Array<Int> = [23] 自定数组里面的类型为Int
var array5: [String] = ["hello", "world"]
var array6: Array = [23]
var array7 = Array<Int>()```
*对数组的操作增删改查*
> * 增
array1.append(78)
array1.insert(1000, atIndex: 1)
array1 += [23,56]
print(array1)
> * 删
array1.removeAtIndex(0)
array1.removeAll()
> * 查
print(array1[2])
#####4、创建字典的多种方式
>```var dict = [
"key1" : "value1",
"key2": 68,
fause : "value3"
]
var dict2: Dictionary <Int,Int> = [
23 : 567,
56: 78
]
var dict3: Dictionary = [12.34 : 45.67]
var dict4 = [Int : Int]()
var dict5 = Dictionary<String , String>()```
> * 增加/修改'
dict5["key1"] = "value1"
dict5["key2"] = "value2"
dict5.updateValue("value3 ", forKey: "key1")
print(dict5)
> * 删除
dict5.removeValueForKey("Key1")
print(dict5)
> * 查找
print(dict5["key2"])
//如果想要获取字典里面所有的keys和Values,需要通过Array进行强转
let allKeys = Array(dict5.keys)
print(allKeys)
let allValues = Array(dict5.values)
print(allValues)
#####5、元组
var result = (404 , "Not Found")
result.1 = "Not Found"
var yanhau = (num : 1001 , name : "yanhau " , age: 101 , height: 168.0 weight : 118 ,des : "我怕谁")
yanhau.age = 67
print(yuanhau)
var (num1,name1,age1,height1,weight1,des1) = yanhua
print(num1,yanhau.num,age1,height1)
//print中嵌套变量的使用"(变量名)"
porit("num : (num1) name : (name1) ")
#####6、循环
######(1) 分支语句
var score = 78
if score > 78
{
print("秀秀")
}
else if score > 60
{
print("过了")
}
else
{
print("不及格")
}
/*
主意点:
1.必须有分支满足情况
2.分支中一定有操作
3.不需要Break 若想贯穿,手动添加关键字fallthrough
4.switch可以进行范围判断
*/
######(2)switch语句
//(1)
switch score
{
case 90:
print("")
fallthrough//贯穿
case 100:
print("")
default:
print("")
}
//(2)
switch score
{
case 0..<60 //0到60
print("")
default:
print("")
}
//(3)switch score
{
case 0...60:
score += 20
print(score)
case var s where s< 80 && s > 70: //判断
s += 20
print("")
default:
print("")
}
//4
let point = (13,45)
switch point
{
case(13,)://''代表忽略
print("")
fallthrough// 贯穿
default:
print("")
}
#####7、循环语句
repeat
{
print("执行一次")
}while false
while false
{
print("ss")
}
for var i = 1; i<=10; i++
{
print(i)
}
//最常用
for abc in 0..<10
{
print(abc)
}
//数组
let names = ["shaung " , "shaung2","2shaung" , "shua2ng"]
for name in names
{
}
//字典
let names2 = [
"ju" : "de"
"shuang" : "shuang"
]
for(_,value) in names{
print("key : value: (value)")
}
#####8、函数
> * 无参数无返回值
func text1 () {
print(2)
}
text1()
func text2() -> Void{
}
> * 无参数,有返回值
func text3() -> String{
return "string"
}
var str = text3()
print(str)
> * 有参数,无返回值
func test4(a: Int ,b: loat){
print(a , b)
}
> * 有参数,有返回值
func text5(name : String , gender: Character) -> String {
return "name : "+ name1 + "gender: " + String(gender)
}
var str1 = text5("ss" , gender: "$")
print(str1)
> * 有参数,多个返回值
func test6(x: Int, y:Int) -> (Int, Int){
return (x+y , x- y)
}
var resultMax = test6(3 , y: 3)
print(resultMaX.0 , resultMax.1)
let (he , cha) = test6(3, y: 3)
> * 外部参数名、内部参数名称
func test7(buShuang suanShuang: String)
{
print(Suanshuang)
}
func test8(a: Int , _ b: Int)// 函数的第一个参数变量是默认省略的,_ 可以省略函数参数
{
}
test8(19,68)
> * inout参数
func test9(inout a: Int)
{
a = 100
}
var yanhuaDage = 10
test9(&yanhuaDage)
print(yanhauDage)
> * 函数的嵌套使用
func test2(){
func test3(){
func test11(){
}
}
}
#####9、枚举
func enum
enum Season : Int
{
case Spring // 0
case Summer = 1
case Autumn
case Winter
}
var s1 = Season.Spring
s1 = .Summer
print(s1)
print(s1.rawValue)
>* 注意:
*使用原始值创建对象时注意:!(optional)修饰的变量必须是有值的否则会崩*
*?(optional)修饰的变量可以为nil 输出时为 optional (...)*
var s2 = Season(rawValue: 3)
print(s2! )
> * 与Switch配合
switch s2!
{
case .Spring:
print("")
case .Summer:
print("")
case .Autumn
print("")
case .Winter
print("")
}
#####10、结构体
struct Person
{
//声明属性
var name: String
var age: Int
//声明结构体属性
static var des : String?
//声明方法
func sayHi()
{
print("name : (name) age: (age)")
}
//声明结构体方法
static func sayHello()
{
print("你好,我是好人,(self.des)")//在结构体中在结构体方法只能调用结构体中的结构体属性,而不能调用结构体中的属性
}
}
* 创建结构体对象
var p1 = Person(name : "dahuazi" , age: 38 )
p1.age = 49
print(p1.age)
p1.sayHi()
Person.des = "aaa"
Person.sayHello()
struct Student{
var name: String?
var gender: String?
var age: Int?
var hobby:String?
//构造函数
init(name: String, age: Int)
{
self.name = name
}
init(name: String ,gender: String, age: Int, hobby: String)
{
self.name = name
self.gender = gender
self.age = age
self.hobby = hobby
}
init()
{
}
}
var ss = Student(name:"sss", age 1)
print(ss)
let ssl = Student()
print(ssl)
网友评论