準備:
1 在 swift中匯入標頭檔案只需要import就可,無需「」和<>
2 在swift中自定義的檔案都不要匯入標頭檔案可以直接使用
3 在swift中**不用再寫分號
例如:
一 常量和變數
a 定義變數的實質是開闢記憶體空間
// c 中:int a = 1;
let a = 1
//let表示是乙個常量,相當於const修飾
var b = 2
// var 表示變數,
b = 5
//運算子的兩邊要空格都要空格,不加空格都不加空格(保持對稱0.0)
var c = 2.36
//在swift中資料型別是自動腿短資料型別的,根據等號右邊的的值判斷是什麼資料型別複製給等號左邊的變數(常量)
// 指明資料型別的定義:在變數後面加上冒號(:)在冒號後面寫上資料型別 。例下
var d:int = 4
b 在c和oc中變數名命名規則:由數字,下劃線,字母組成,其中數字不能開頭,可以使用$(c和oc都是使用ascii碼編碼方式)
在swift中什麼都可以當做變數名,使用的是unicode的編碼方式
var 你好 = "o(∩_∩)o~"
var o(∩_∩)o~ = "來"
二 資料型別
//強制型別轉換:想要轉換的型別()
varf:float = 25.36
varg:int = 2
varh:int = g + int(f)
print(h)--->
27//建立乙個bool型別 在這的bool值為true或fa
varj:bool = true
//print(j)為true
三 字串
//a 建立乙個空的字串
var str_empty = ""
var str1_empty = string()
//b 字串的拼接
var str1 = "你好"
var str2 = "shuai"
let str3 = str1+str2
print(str3) //輸出的為「你好shuai」
//c 計算字串的長度
print(str3.characters.count)
//d 在swift中沒有格式化輸出符,所有需要原樣輸出都使用\(),在()內寫上需要輸出的內容
print("a = \(a)")
//f 在swift中方法的呼叫使用點語法
// 在swift中if語句的()不用寫
if str_empty.isempty
//g 大小寫的轉換
var str4 = "hello handsomeboy"
str4.uppercasestring //大寫
str4.lowercasestring //小寫
四 陣列
//c:陣列只能存放同一種型別的資料
//oc:陣列只能存放物件,可以不是同一類的物件
//swift:在指定的陣列元素型別的情況下只能存放同一種型別的資料 例下:
var array3:array
= [1,2,8]
//用var修飾的就是可變陣列
//let修飾的就是不可變陣列
//在swift中陣列用的形式表示,也可以用 array()初始化
vararray = [1,2,3]
var array1 = [1,2.2,3]
var array2 = [1,"afhg",3]
//還是通過下標取元素
print(array[0])
//完整寫法
let array4:array
= [1,2,3,4]
//不可變陣列不僅僅是陣列本身的長度不能改變 ,而且陣列裡面的元素也不能改變
//array4[1] = 8
//陣列的常用方法
//新增
//插入
array.insert(5, atindex: 4)
//刪除
array.removeatindex(4)
//範圍性取值
array[0...2] = [4,4,4]
print(array)
//遍歷 for沒有括號
for value in array
五 元組
//元組就是元素的組合,在swift中用來修飾乙個複雜的變數,類似於c中的結構體
var person = ("xiaohuang",25,"guangzhou")
print("person的年齡\(person.1)")
//使用元組同時對多個變數進行賦值
//如果在元組中某個值不想要使用下劃線("-")代表
//var name = "xiaohuang"
//var address = "gaungzhou"
var (name,_,address) = person
print(name) //--->
"xiaohuang"
print(address) //--->
"guangzhou"
六 字典
//<>裡面寫的是鍵值對的型別
var dic:dictionary = ["k1":"v1","k2":"v2","k3":"v3"]
//在swift中的常用方法
//修改:在swift中通過中括號的形式找到key所對應的值
dic["k1"] = "v1"
dic.updatevalue("value1", forkey: "k1")
print(dic)
//刪除
dic.removevalueforkey("k3")
print(dic)
//獲取字典的keys和values
//取出來的是swift裡面的資料格式,不能直接使用
array(dic.values)
七 流程控制
var k =1
if1 == k
//swift
//1 必須要有default
//2 每個case裡面至少要寫一句**
//3 每個case裡面自帶break
var l =4
switch l
//case可以是乙個範圍,而且可以交叉,如果兩個case交叉只走第一種情況
var m =10
switch m
//case還可以雙重判定
switch m
八 迴圈語句
//while和do while和c語言的沒有什麼區別
//for迴圈的()不用寫
// 1,9,3,6,8,5,4,2 //氣泡排序優化,實現跳出不必要的排序
// 1 判斷是否為正確結果
// 2 跳出排序
var arr = [1,9,3,6,8,5,4,2]
forvar i = 0;i < 7;i++
}if flag == 1
}print(arr) // --->(1 2 3 4 5 6 8 9)
9⃣ 列舉
enum season:string
//在列舉變數中要想獲取到真實值需要在後面新增乙個rawvalue
print(season.summer.rawvalue)
⑩ 函式
//函式的語法
/*func是函式的關鍵字
func 函式名(引數列表)->返回值型別
*///1 定義乙個函式
func sayhi (name:string)->
string
//2 函式的呼叫
sayhi("張三")
//3 在swift中通常使用元組返回多個值
func funname()->(a:int,b:int)
funname().a
//4 外部引數名
func personinfo(name:string,age:int,address:string)->
string
//從xcode7開始只有第乙個引數沒有外部引數名
personinfo("啦啦", age: 25, address: "廣州")
//在原來的內部引數名前面可以新增乙個外部引數名
func personinfo1(name name:string,age age:int,address address:string)->
string
personinfo1(name: "牠試", age: 50, address: "北漂")
//5 傳數值和傳位址
//傳數字
func changevalue(var num:int)
var num1 =
3changevalue(num1)
//傳位址(inout關鍵字可以將實參位址傳遞給形參)
func changevalue1(inout num:int)
var num2 =
3changevalue1(&num2)
print(num2)
//6 函式可以巢狀
func test1()
test2()
print("test1")
}test1()
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
基本概念 數控系統基本概念
第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...
XSLT基本概念
我們首先來澄清乙個概念,大家可能聽說過xsl extensible stylesheet language xsl和我們這裡說的xslt從狹義上理解是一樣的,而按照w3c的標準,xslt的說法更嚴格些,因此我們在文章中統一使用xslt的稱法。它們之間具體的關係我們會在下面講述。1.1 什麼是xslt...