Swift基础学习01

相关网站:http://www.cnblogs.com/tt_mc/p/3871295.html

相关辅助操作:

可以在右边直接查看输出值

可能出现的常见问题:

1.凡是=注意左右间距一样

2.程序有时会不断提示错误,解决方法:重启Xcode

/*-----------1.常量与变量--------------*/
//1.在swift里面 变量的修饰用var 常量的修饰用let
//2.print与println的区别是一个没换行一个换行了
//3.swift 数据类型写在变量名的后面 格式: var 变量名:类型
//4.等号两边要有空格都有空格 要没空格都没空格 (隐式类型推断)
//5数据类型的首字母大写
var a = 10
var a1:Int //指定类型
a1 = 2
println(a1)

println(a)
println(a)

let b = 8
println(b)

//其他语言采用的是ASCII编码方式,而swift采用的是uncode编码方式.以下命名方式不推荐明明依然采用字母/数字/下划线开头的命名规则
var ?? = 20
println(??)

//-------------数据类型----------------

var f:Float=10.6
var f1 = 10.6//默认为double类型

var w:Int
//强制转换类型的格式为: 类型(需要转换的变量名)
//所有的语言,在数据转换时从高精度转换到低精度都会存在数据的丢失
w = Int(f1)

//字符串string操作
var str = "妹子是"
var str1 = "徐小龙的"
//拼接
var ss  = str + str1
println(ss)
//字符串添加参数\()在swift中的表示占位符
println("漂亮的\(str)\(str1)")
//将整型转换成字符串
var sss = String(w)
println(sss)

//----------------数组----------------
//C语言中的数组必须存放相同类型的数据类型 OC中的数组必须存放对象
//swift中的数组只能存放同种数据类型(不同版本不一样)

var array = [1,2,3]
var array1:Array=[1, 2, 3, 4]
var array2:Array<Int>=[1,2,3,4]//<>中为数据类型
var array3:[Int]=[2,3,4]//这种方式是官方推荐的

var arr:[String]=["字符串1","字符串2"]

//放置不同类型的方法必须使用<Any>修饰
var array4:Array<Any>=[1,"w2e",3.3]

//添加元素
array4.append(4)
array4.append(12)
//插入元素
array4.insert("你好", atIndex: 1)
array4.insert(3.5, atIndex: 2)
//删除
array4.removeAtIndex(1)
array4.removeAtIndex(2)
println(array4)

//替换0-2位置的值
array4[0...2]=[6,7,8]
println(array4)

for value in array4
{
    println(value)
}
//打印index
for(indext,value) in enumerate(array4)
{
    println("indext=\(indext),value=\(value)")
}

//-------------------元组-----------
//很类似结构体

var person:(name:String,age:Int,address:String)=("徐小龙",30,"广州")//实质就是定义了三个变量name,age,address
println(person)
println(person.age)
println(person.2)

//把元组赋值给另一个元组
var(name,age,address)=person
var (names,ages,_)=person//用下划线忽略掉第三个不想要的元素
println(names)

//----------------字典---------------
//字典的所有ke值必须是同一类型的,所有的value值也必须是同一类型的 key和value可以不是同一类型的(不同版本不一样,处了强制写了数据类型的必须一样外)

//字典用[]
var dic:Dictionary = ["ke1":"va1","ke2":"va2"]
println(dic)
var dic1:Dictionary<Int,Int> = [1:11,2:22]//强制int类型

//常用方法
//添加一个键值对
//当字典中没有这个键值对表示添加,否则为修改(覆盖掉)
dic["ke3"]="va3"
dic["ke1"]="va11"
println(dic)
//删除
dic.removeValueForKey("ke1")
println(dic)
//得到字典里面所有key值
println(Array(dic.keys))
//得到字典里面所有value值
println(Array(dic.values))

//--------------------可选类型---------
//可选数据类型 就是在我们基础数据类型后加?
//Optional()就是一个可选类型
var aaw:Int?
aaw = 6
//当我们想要输出里面的内容的时候就需要将其解包 注意:解包前可选类型变量的值不能为空 需要先赋值 为空强制解包会造成程序崩溃
println(aaw)
println(aaw!)

//------------------流程控制语句----------

//在这里没有非0即为真的说法 只有ture和false
var g = 1
//if语句的()可以不写
if g==1
{
    println("yes")
}else
{
    println("no")
}
//switch
//1switch语句必须要default语句
//2switch语句case里面必须要有一句代码
//3每条case语句后面都自带了一个break
var s = 2
switch s
{
case 1:
    println("1")
case 2:
    println("2")
case 3:
    println("3")
default:
    println("default")
   
}
//
var tt = 2
switch tt
{
case 1:
    println("1")
case 2,3:
    println("2或3")
    fallthrough//不管下条语句是否正确 都会执行
case 4:
    println("4")
default://必须要有这条语句
    println("default")
}

//case 可以是一个范围,而且范围还可以交叉,交叉值只走第一种情况
var s2=10
switch s2
{
case 1...15:
    println("1...15")
case 5...15:
    println("5...15")
default:
    println("default")
}
//双重判定
switch s2
{
case 1...15 where tt==3:
    println("s2在1到15之间 tt的值为3")
default:
    println("default")
}

//switch可以传递一个元组
var point=(0,4)
switch point
{
case(_,0):
    println("在X轴上面")
case(0,_):
    println("在Y轴上面")
case(0,4):
    println("就是我的点")
default:
    println("default")
}

//------------------循环结构----------

//与C语言没什么太大区别 就是加不加()
for var i=0;i<10;i++
{
    for var j=0;j<10;j++
    {
        println("i=\(i) j=\(j)")
        if i==3&&j==4
        {
            break;//终止内层循环
        }
    }
}
//switch标记的使用
aa:for var i=0;i<10;i++
{
    for var j=0;j<10;j++
    {
        if i==3&&j==4
        {
            println("hd")
            break aa;//
        }
       
    }
}

//---------------------函数---------
//func(函数的关键字)
//switch 函数定义的格式 func 函数名(参数名:)->返回值类型{语句块}

func sayHi(name:String)->String
{
    return name + "你好"
}
var sa = sayHi("世界")
println(sa)

//两个数之和
func sum(summ1:Int ,summ2:Int)->Int
{
   
    return summ1 + summ2
}
var summ = sum(10,10)
println(summ)

//返回值如果是多个 可以以元组的方式返回出来
func countNumber()->(saa:Int,sbb:Int)
{
    var saa=1
    var sbb=2
    return (saa,sbb)
}
var s_n = countNumber()
println(s_n.saa)

//---------------------闭包----------
//闭包是一个封闭式的代码块,类似于block
//语法格式((参数列表)返回值类型 in 返回值)

//正常的函数调用
//数组排序
var mans = ["zhangsan","lisi","wangwu","zhaoliu"]
func sortByName(s1:String,s2:String)->Bool
{
    return s1>s2
}

var s3 = sorted(mans,sortByName)//依次从数组中取两个元素 传给sortByName进行比较
println(s3)

//闭包方式
var s4=sorted(mans, { (s1:String, s2:String) -> Bool in
    return s1>s2
})

println(s4)

时间: 2024-10-08 18:58:00

Swift基础学习01的相关文章

pyqt listview基础学习01

from decimal import * from PyQt4.QtGui import * from PyQt4.Qt import * from PyQt4.QtCore import * import sys class Example(QWidget): def __init__(self,args=None): super(Example, self).__init__(args) list_data=[1,2,3,4] lm=MyListMode(list_data,self) s

Swift基础学习(一)基本语法

Swift 简介(赞美一番,收集了多篇 关于Swift 学习教程的语言简介一直以为英语和汉语混写的时候只是英语字母结尾的地方打空格,原来是英语字母的开头和结尾都要加一个空格,英语字母后面是标点符号的时候不加空格): Swift 是一种新的编程语言,用于编写 iOS,macOS,watchOS 和 tvOS 的应用程序.Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制.Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣.Swif

swift基础学习(04)[运算符、属性、属性观察器、方法、下脚标本、继承、构造器]

//swift恒等运算符 //===恒等,不等!== //运用这两个运算符检测两个常量或者变量是否引用同一个实例 //"等价于"表示两个类类型(class type)的常量或者变量引用同一个类实例. //等于"表示两个实例的值"相等"或"相同",判定时要遵照设计者定义的评判标准,因此相对于"相 等"来说,这是一种更加合适的叫法. //类和结构体的选择 //属性的存储只能是类或者是结构体 //存储属性:变量存储属性va

swift基础学习(04)[闭包、函数、枚举、类和结构体]

//闭包表达式:闭包表达式是一种利用简洁语法构建内联闭包的方式 //sort方法:排序功能,排序后的原来的不会被修改 //:从大到小排序 let names = ["d","ds","wa","ad"] func sortNames(sName1:String,sName2:String) -> Bool { return sName1 > sName2 } var result = names.sort(sort

PHP基础学习01

PHP语法基础 PHP是一种服务器端技术,不能在客户端运行 保存PHP脚本是必须使用.php扩展名,(例如:index.php). 必须把PHP代码放置在<?php和?>标签之间. <?php print "Hello World"; ?> PHP注释,注释将不会被发送至Web浏览器.PHP提供三种添加注释的方法. <?php         print "Hello"; //第一种单行注释         print "Wo

T-SQL 基础学习 01

1 --新建数据库 2 create database Studentdb 3 go 4 5 --使用数据库 6 use Studentdb 7 go 8 9 --新建表 10 create table Username 11 ( 12 StudentNo int identity(1,1) not null,--学号并设置标识列 13 LoginPwd nvarchar(20) not null,--密码 14 StudentName nvarchar(20) not null,--姓名 15

Swift基础学习(二)数据类型

在编程语言中,不同的数据信息需要不同的数据类型来存储,计算机内存中针对不同的数据类型它们所分配的内存大小是不同的,特定的值需要特定的类型来声明. Swift 数据类型 内置数据类型 整数 - Int & UInt 根据一个整数变量占据的内存空间(8/16/32/64-bit,现在 iOS 开发基本全部是 64 位)以及整数是否带有符号(Unsinged),Swift 一共定义了 8 种不同的整数类型: Int8/Int16/Int32/Int64 UInt8/UInt16/UInt32/UInt

1、c语言基础学习01

=============================================================================每一种语言都有其独特的语法规则与语言定义. 指令是对计算机进行程序控制的最小单位.所有的指令的集合称为计算机的指令系统. 程序是为完成一项特定任务而用某种语言编写的一组指令序列.=============================================================================机器语言---

swift基础学习(03)

//元组:元组(tuples)把多个值组合成一个复合值.元组内的值可以是任意类型,并不要求是相同类型. let httpError = (404,"not found") print(httpError) //对于元组,如果你只需要一部份值 ,在临时修改值的时候使用,其余 可用 类或者结构体 let httpRight = (404, "d") print(httpRight.1) //可选类型, 有. 没有 //包含一个可选值 var canChoose: Int