Swift基于cocoa Touch框架,苹果官方为了保证Swift的可靠性,结合多种语言的特性,同时独立了一套属于自己的单独语言,结合了C,C++,OC,Java等语言。

基本变量:

1 . swift具有倒推功能,它能够更具结果推算出对应swift语言中的类型

let: 定义常量,必须进行一次精确赋值

var:定义变量,可以进行多次赋

var variable: String = "vairable"

let  const:Int  = 250      同类变量Int32 Int64

//String 为变量类型,Int为常量类型,默认是可以省略的,但是Swift变量容易混淆,后续发生更改的时候报错就很难修正,建议最好不要省略;

var variable: Characters = "A"

// Characters 属于字符,如果此处不定义Characters类型,Swift反推类型时会优先自动定义为String类型,所以在定义Character(字符)类型的变量时候一定要加上:Charaters 定义。 它类似于C中的char

2. 对象创建,Swift改版后需要对象的方法直接改成了 点语法 格式

// 原来OC设置参数主要通过setXXX,或者 点语法,而Swift中主要采用(参数名字:  参数...)  的形式,而且括号里面的参数可以嵌套

let view = UIView(frame: CGRect(x: 100, y: 200, width: 300, height: 400))

view.backgroundColor = UIColor.redColor()

let btn = UISwitch();     //直接使用  类名+()  初始话实例对象

//对象的 点语法 照样适用

btn.setOn(true, animated: true);

btn.center = CGPoint(x: 50, y: 50)

view.addSubview(btn)

3. 基本数据类型

max, min分别表示该类型的最大数值和最小数值

var i:Int;   i = 100;  Int.min;  Int.max;  sizeof(Int)

var ui:UInt; UInt.min; UInt.max;

var i8:Int8;   Int8.max;    Int8.min;

var ui8:UInt8;  UInt8.max;  UInt8.min;

var f1:Float

isinfinity

Float32 Float  Float64  Float80  Double

//tpypealias 重新可以将类型进行更名

typealias MyFloat = Float32    var f6:MyFloat

4. 常用方法

/**void属于无,返回值,参数,主要占位使用*/

sizeof(Void)

/**swift的中的Bool取值只有ture和false,不再具备OC语言的非0及真*/

sizeof(Bool)

字符代表某些Unicode字形集群规范所定义的本地化,或者定制的分割算法。一种特   殊的制服*/

sizeof(Character)  9bit

sizeof(String)     24bit

4  /**在c语言中,0代表8进制,在c语言中中015代表15,被swift忽略掉*/

var x = 15   x =015   x = 00005  x = 100_000_000_000

x = 185_ 8843_1460   x = 0b1110111  x = 0o15   x = oxff00ff00  y = 1.25E-2

5.  string and characters:

print(str)    //打印变量

if secondStr.isEmpty{

print(“secondStr is empty”)

secondStr += “abcd”   //字符串相加

}

//通过字符数组 创建字符串 [String] 字符串数组,如果是放的字符,需要进行类型标注

var catCharaters:[Character] = [“C”,”a”,”t”]

var catString = String(catCharaters)

/**双引号转意字符  \"*/

var myStr = "\"哦耶啦啦\"---爱因斯坦"

print(myStr)

//格式化拼接,前面使用格式化,后面使用数组

var timeStr2 = String(format: "%02d:%02d:%02d", arguments: [hour,minute,second])

6. 值类型与引用类型 /**

1.值类型和引用类型,Swift中所有的结构体都是值类型

2.所有的类类型都属于引用型

3.String 值类型(结构体)

4.引用类型地址完全一样,Swift中引用类型常使用public class定义

5.值类型,及结构体类型,赋值后左右两边的地址不一样

*/

7. 运算符:

var   a,b,c,d

a =10, b = 2

a = b = c = d =100; Swift赋值运算本质属于一个函数,返回值为void类型  ❌

a + b   a - b  a * b  a/b    -9/4   9/4

a > b     a <  b     a !=b     a > b ? a:b  a  +=b

var   z:Int ?

规则:

    -》Swift赋值运算本质属于一个函数,且返回值为viod类型,所有不能进行连等

    -》Swift可以向C语言那样进行+/-* mod运算,取mod符号以除数为准

    -》a++先取a再运算;++a,先运算再取a

    -》var   z:Int ?  其中?为选择类型,这样z可以赋值为

1. Swift基本变量|运算符|控制流的更多相关文章

  1. 4.Swift教程翻译系列——Swift基本运算符

    英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 运算符是指一个特殊的符号,能够用来查看.更改值或者相加.比方说加法运算符+能够讲 ...

  2. Swift区间运算符

    Swift 提供了两个方便表达一个区间的值的运算符. 闭区间运算符 闭区间运算符(a...b)定义一个包含从a到b(包括a和b)的所有值的区间. ‌ 闭区间运算符在迭代一个区间的所有值时是非常有用的, ...

  3. swift的运算符

    1.什么是运算符?它有什么作用? 运算符是一种特定的符号或者表达式.它用来验证.修改.合并变量. 2.运算符有哪些? 运算符有很多,很多朋友学的很烦.这里我依据它的作用把它分为几块来介绍: a:赋值运 ...

  4. 初学swift笔记运算符(二)

    swift 中的运算符 import Foundation //字符类型 var char: Character = "a" char="b" println( ...

  5. Swift - 高级运算符介绍

    除了基本运算符之外,Swift还支持位运算和位移运算,包括:   1,按位取反运算:操作符是 ~ 2,按位与运算:操作符是 & 3,按位或运算:操作符是 | 4,按位异或运算:操作符是 ^ 5 ...

  6. swift 简单语句 控制流语句

    在 Swift 中.有两种类型的语句:简单语句和控制流语句.简单语句是最常见的.用于构造表达式和声明.控制流语句则用于控制程序运行的流程,Swift 中有三种类型的控制流语句:循环语句.分支语句和控制 ...

  7. Swift 学习- 06 -- 控制流

    // 控制流 // swift 提供了多种控制流结构,包括可以多次执行的 while 循环,基于特定条件选择执行不同分支的 if, guard 和 switch 语句,还有控制流程跳转到其它代码位置的 ...

  8. Swift 基本运算符

    前言 Swift 语言支持大部分标准 C 语言的运算符,并且改进了许多特性来使我们的代码更加规范,其中主要包含算数运算符.区间运算符.逻辑运算符.关系运算符.赋值运算符.自增自减运算符.溢出运算符等. ...

  9. Swift 高级运算符

    本文转载至 http://my.oschina.net/sunqichao/blog?disp=2&catalog=0&sort=time&p=2 除了基本操作符中所讲的运算符 ...

随机推荐

  1. Otsu algorithm

    一.介绍 OTSU算法也称最大类间差法,有时也称之为大津算法,被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用.它是按图像的灰度特性,将 ...

  2. AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

    在使用SqlConnection.Open()连接到SQL Server 2008 R2 SP2时,一直报以下异常: AccessViolationException: 尝试读取或写入受保护的内存.这 ...

  3. Android NDK开发之Jni调用Java对象

    https://my.oschina.net/zhiweiofli/blog/114064 通过使用合适的JNI函数,你可以创建Java对象,get.set 静态(static)和 实例(instan ...

  4. Ubuntu 14.04 升级gcc 4.8到gcc 5.x

    简介 有些软件比较新,需要更高的gcc版本,所以需要升级gcc.编译安装比较耗时,所以直接选择bin包就好. 步骤 添加源 sudo add-apt-repository ppa:ubuntu-too ...

  5. Oracle中用户的基本操作

    创建用户 1.首先登陆到系统用户sys(sys用户具有创建用户的权限). 2.然后在代码编辑框写入创建用户的代码. 语法:CREATE USER user_name IDENTIFIED BY pas ...

  6. iOS:Xcode8以下真机测试iOS10.0和iOS10.1配置包

    一.介绍 xcode的升级都已经到8系列了,可是还是有很多开发者使用的xcode还是7系列,然而xcode7...最多支持9.3,无法给升级到10.0和10.1的iPhone手机用户进行真机测试.此时 ...

  7. Bootstrap Typeahead/Jquery autocomplete自动补全

    使用Bootstrap Typeahead 组件: Bootstrap 中的 Typeahead 组件就是通常所说的自动完成 AutoComplete,自动填充. 效果如图所示: 实现方式: 1.引入 ...

  8. iOS,plist文件、pct文件,工程设置

    1.使用pch文件 2.在info.plist中配置URL Schemes 3.plist配置拍照界面,复制,粘贴等菜单的显示语言 显示中文 4.使用非ARC库/ARC库 5.链接选项-Objc &a ...

  9. Linux中的软硬链接

    说到Linux中的软硬链接,就必须谈一下Linux的文件系统的组成的重要部分iNode和block. 首先是iNode,先用一张图了解一下iNode在Linux文件系统中的地位: Linux中的文件的 ...

  10. [翻译] 为什么Uber的数据库从Postgres 切换到 MySql

    Uber工程师团队发布了一个重要的博客文章:他们的数据库从Postgres从移动到MySQL.毫不夸张地说,阅读这篇文章是一种享受,特别是因为他们提到这些细节:磁盘格式和那对他们2个数据库的表现的影响 ...