//: Playground - noun: a place where people can play
import UIKit
//4、playground介绍
//为了获得最佳体验,请将本章作为Xcode中的一个操场来打开。
//不需要编译文件或运行一个要编译的工程,可以快速的看到代码执行得结果及中间过程中的结果。
//“在操场上工作比在其他地方工作要好很多。”首先,他们会让编写代码变得有趣而简单。使用一个更熟悉的界面,您可以键入一行代码,结果会立即出现在侧栏中。如果您的代码在一段时间内运行,您可以在时间轴上查看进度。*/
var str = "Hello, playground"
print(str)
//1、print打印相比NSLog可以打印出更复杂的信息,print打印自动换行
// 2、注释:不会被执行的文本 方式:// /* */ ///
/// 注释的第三种方法
///一定要在一个方法前才可以使用commond+option+/
/// - Parameters:
/// - value: <#value description#>
/// - index: <#index description#>
/// - Returns: <#return value description#>
//func changeValue(value:String,index:Int)->Bool{
// return true
//}
//3、不适用; 与其他大部分编程语言不同,Swift 并不强制要求你在每条语句的结尾处使用分号(;),当然,你也可以按照你自己的习惯添加分号。有一种情况下必须要用分号,即你打算在同一行内写多条独立的语句:
//let cat="猫";print(cat)
//一、常量和变量
//1、如何定义一个常量 let关键字 date 名称 28值
letdate=28
print(date)
//2、常量可以是任何的数据类型:整型、浮点型、字符串等等
letheigt:Int=185
letname:String
name="hello"
//3、常量一旦赋值,就不可再次更改其值
//heigt=187 报错
//4、常量的命名规则
/*
1、常量命名可以由字母、数字、下划线组成(常量名称不能以数字开头、不能有数学符号)
2、常量需要以字母或者下划线开始
3、区分大小写,字母的大小写表示值是不一样的
几乎可以使用任何你喜欢的字符常量和变量名,包括Unicode字符:Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
let π = 3.14159
let 你好 = "你好世界"
*/
letx3=5
let _=9
letad=10
print(ad)
letAd=5
print(Ad)
let 你好="hello world!!!"
print(你好)
//变量
/*
1、什么是变量
变量是它的值可以变化的值
变量可以访问内存中某块区域,变量可以存储值
*/
varage=2
print("age is\(age)")
age=10
print(age)
//var tra:String?="stt"
//print(tra)
//补充:可以声明多个常数或多个变量在一行上,用逗号分隔
varpage=0,source=0,groups=1
lethair:String,eye:String,mouse="pink"
//常量类似于变量,区别1、在于常量的值一旦设定就不能改变,而变量的值可以随意更改。
//2、常量声明:常量使用关键字 let 来声明,而变量使用关键字 var 来声明
//相同点:常量和变量都是访问内存某一块区域,都可以定义基本数据类型
//二、基本数据类型
/*1⃣️Int 表示整数,整数就是没有小数部分的数字
整数可以是有符号或者无符号的数字组成
一般来说使用Int就够了。这可以提高代码一致性和可复用性。
范围:-2147483648~2147483647*/
varweight:Int
weight=10
print(weight)
//weight=(Int)10.1
//print(weight)
//浮点数:Double,Float 表示有小数部分的数字
//2⃣️Double精确度很高,至少有15位数字,而Float最少只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围。
letfloatNum:Float
floatNum=20.3
print(floatNum)
var mn:Double=14.2352123
vars =String(format:"%.2f",mn)
//字符:Character
vardoller:Character="n"
//3⃣️String 表示一组字符串,多个字符组成的字符串( 不是全部的,只是一些常用的,注意:不能将字符串和整数相加)
varcolors:String=".com"
print(colors)
//(1)判断是否为空:isEmpty
varnilstr:String=""
if nilstr.isEmpty{
print("空字符串")
}
varmyString:String? =nil//nil也是一个值
if myString != nil {
// print(myString)
}else{
print("myString has nil value")
}
//(2)获取字符数量:string.characters.count
print("\(colors.count)个字符")//可以用“\()”在字符串里包裹变量,常量
//(3)检查字符串是否有特定前缀/后缀:hasPrefix/hasSuffix
if colors.hasSuffix(".com"){
print(colors)
}
//(4)大小写转换:
//通过字符串的uppercaseString、lowercaseString、capitalizedString属性来访问一个字符串的大写/小写/首字母大写
varuppercase =str.uppercased()
varlowercase =str.lowercased()
varcapitalized =str.capitalized
//(5)字符串的拼接
varstr1 =" hello"
varstr2 =" world"
varstr3 =str1+str2
//NSString *str3 = [NSString StringWithformat:"%@%@",str1,str2]
print(str3)
str3.append(str1)
print(str3)
leta1 ="Tina"
leta2 =20
leta3 ="178"
let info = "my name is\(a1),age is\(a2),height is\(a3)"
print(info)
//(6)比较字符串
letstrValue1 ="我们一样"
letstrValue2 ="我们一样"
if strValue1 == strValue2 {
print("same")
}
//(7)判断是否包含
let first = "hello swift"
if first.contains("he") {
print("包含该字符")
}
//(8)截取字符串
//NSSting的截取方法
var nameStr = "my name is Tom"
let strname:NSString = nameStr as NSString
//通过下标方法截取 to:后面接的是字符的长度
print("截取到4的字符串是\(strname.substring(to: 4))")
print("从4开始截取的字符串是\(strname.substring(from: 4))")
letranges =strname.substring(with:NSMakeRange(0,4))
print("0到4范围内的字符串\(ranges)")
//练习page122
//5⃣️Bool 表示布尔类型,逻辑上的值 即true false,bool类型也只能是真或者假,当你编写条件语句比如if语句的时候,布尔值非常有用,
letvalue:Bool=true
if value {
print("满足条件")
}
//练习page 33
//1、下列哪个值最能表示为常数
//2、下列哪一项最能代表一个变量?(多选)
//5、下列哪一项不是将大多数值声明为常量的理由
//A:这是最好的练习
//B:编译器可以对不可变值进行特殊的优化。
//C:更安全
//D:大多数值永远不会改变
//6、使用类型推断,下列变量中的哪一个将被指定为double类型
//7、下面代码片段会编译成功吗?为什么
//--------------------------运算符
/*1、算术运算符 2、比较运算符 3、逻辑运算符 4、位运算符 5、赋值运算符 6 区间运算符 7、其他运算符*/
//算术运算符+ - * / % += -=
varA =20
varB =30
print("A + B 结果为\(A+B)")
print("A - B 结果为\(A-B)")
print("A * B 结果为\(A*B)")
print("A / B 结果为\(A/B)")
A+=B
print(A)
print("A % B 结果为\(B%A)")
//比较运算符 == != > < >= <=
print("A == B 结果为\(A == B)")
print("A != B 结果为\(A != B)")
print("A >= B 结果为\(A >= B)")
//逻辑运算符 && || ! 1、&如果运算符两侧都为true则为true 2、|| 至少有一侧返回true则为true 3、!逻辑非 布尔值反,使得true变false,false变true
var M = true
var N = false
print("M && N 结果为\(M && N)")
print("M || N 结果为\(M || N)")
print("!M 结果为\(!M)")
//练习page39
//5、2不会编译
//6、 2 A赋值运算符 B复合赋值运算符 C+ =操作符 D复位操作
网友评论