IOS迷你教程1-Swift語言之變量,常量,表達式(swift4.2)

歡迎來到IOS迷你教程!

在本系列中,您將學習Swift編程語言的一些基礎知識。

對于本教程,需要準備Xcode 10,這是macOS的標準開發(fā)環(huán)境,點擊獲取。如果使用Xcode9或更低版本,本教程中的一些代碼將無法按預期運行。

入門

編寫代碼的工具稱為集成開發(fā)環(huán)境IDE)。Xcode是您的IDE,其中包括Playground。

您將在本系列中使用Playground來練習編碼。

創(chuàng)建一個Playground

當您打開Xcode時:

如果您沒有看到此屏幕,則很可能是因為未選中Xcode啟動時顯示此窗口選項。您也可以按Command-Shift-1打開屏幕。也可以從菜單欄中單擊窗口 ? 歡迎使用Xcode。

在歡迎屏幕上,您可以通過點擊“開始Playground”快速跳入Playground。Xcode將為您提供一系列模板。

選擇Blank模板,然后單擊Next。Xcode現(xiàn)在會要求您為Playground命名并選擇一個位置來保存它。命名任意。

單擊“ 創(chuàng)建”。然后Xcode會為您呈現(xiàn)Playground,如下:

新的Playground不完全是空的,有一些基本的入門代碼可以讓你前進。別擔心 - 你很快就會知道這段代碼意味著什么。

Playground概述

乍一看,Playground可能看起來像一個相當奇特的文本編輯器。

上面的屏幕截圖:

  1. 源代碼編輯器:這是您編寫Swift代碼的區(qū)域。它非常像文本編輯器,如Notepad或TextEdit。
  2. 結(jié)果側(cè)欄:此區(qū)域顯示執(zhí)行代碼時的結(jié)果。
  3. 執(zhí)行控制:Playground默認自動執(zhí)行,您可以編寫代碼并立即查看輸出。此控件允許您再次執(zhí)行Playground。按住??按鈕可以在自動執(zhí)行和手動執(zhí)行模式之間切換。
  4. 活動查看器:顯示Playground的狀態(tài)。
  5. 面板控件:三個面板的切換開關(顯示或隱藏)。

Playground從上往下執(zhí)行代碼。每次更改代碼時,Playground都會重新執(zhí)行所有操作。

Playground執(zhí)行后,Xcode會在右邊的結(jié)果側(cè)欄顯示相應行的結(jié)果。

代碼注釋,算術運算,常量和變量是任何語言的基本構(gòu)建塊,Swift也不例外,下面來一探究竟。

代碼注釋

與其他編程語言一樣,Swift允許您使用注釋來記錄一些說明。編譯器會忽略這些文本。

單行注釋:

//這是評論。它沒有被執(zhí)行。

多行注釋:

/*這也是一個評論。
   很多......
   很多行。*/

打印

查看代碼操作的結(jié)果。在Swift中,您可以使用print命令來實現(xiàn)。

print將任何你想要輸出的東西輸出到調(diào)試區(qū)域,也稱控制臺。

例如:

print(“Hello,Swift Apprentice reader!”)

這將向調(diào)試區(qū)輸出一條消息:

您可以用上圖中的向下箭頭按鈕隱藏或顯示調(diào)試區(qū)域。

算術運算

你可以在app中找到很多算術運算:從計算微博上“贊”的數(shù)量到計算按鈕或窗口的正確大小或位置,數(shù)字無處不在!

簡單運算

即上學時學到的四個算術運算:加法,減法,乘法和除法。對于這些簡單的操作,Swift使用以下運算符:

  • 加: +
  • 減: -
  • 乘: *
  • 除: /

使用方式:

2 + 6

10 - 2

2 * 4

24 / 3

每一行都是一個表達式。表達式具有值。在這些情況下,所有四個表達式都具有相同的值:8。

在您的Playground中,您可以在右側(cè)欄(結(jié)果側(cè)欄)中看到這些表達式的值:

可以刪除運算符兩邊的空格:

2+6

刪除空格是一個可有可無的事情,但不能用混合樣式:

2+6   // OK
2 + 6 // OK
2 +6  // ERROR
2+ 6  // ERROR

運算符兩側(cè)的空格只是為了更易讀。

小數(shù)

上面的所有操作都使用了整數(shù),代碼中叫Int。但是,并非每個數(shù)字都是整數(shù)。

例如:

22 / 7

結(jié)果是數(shù)字3。這是因為,如果你只在表達式中使用整數(shù),那么Swift會將結(jié)果也作為整數(shù)。這種情況下,結(jié)果為向下取舍的一個整數(shù)。

您可以更改為以下內(nèi)容來告訴Swift使用小數(shù):

22.0 / 7.0

這一次,結(jié)果是3.142857142857143,正如預期的那樣。

余數(shù)運算

也稱為模運算。即求余數(shù)。例如,10模3等于1。

余數(shù)運算符是%符號:

28 % 10

運算符優(yōu)先順序

很多時候,會使用多個運算符:

((8000 / (5 * 10)) - 32) >> (29 % 5)

合理的使用括號,可以讓團隊其他人看清楚 - 也包括你自己 。例如:

350 / 5 + 2

等于72(350除以5,加2)還是50(350除以7)?

Swift使用和數(shù)學相同的推理,并通過運算符優(yōu)先級來實現(xiàn)這一點。除法運算符(/)的優(yōu)先級高于加法運算符(+),因此,在示例中,代碼首先執(zhí)行除法運算。

如果你想讓Swift首先進行加法運算,可以使用括號:

350 / (5 + 2)

優(yōu)先規(guī)則和數(shù)學課學到的一模一樣。

數(shù)學函數(shù)

Swift還具有廣泛的數(shù)學函數(shù)供您使用。你永遠不知道什么時候你需要拉出一些三角函數(shù),特別是當你是一個專業(yè)的Swifter并編寫那些復雜的游戲時!

注意:并非所有這些函數(shù)都是Swift的一部分。有一些是由操作系統(tǒng)(OS)提供。不要刪除最開始的import語句,否則Xcode會告訴您無法找到這些函數(shù)。

例如:

sin(45 * Double.pi / 180)
// 0.7071067811865475

cos(135 * Double.pi / 180)
// -0.7071067811865475

它們分別計算正弦和余弦。請注意兩者Double.pi是如何使用的,這是一個Swift常量,即3.141592653589793。。。

還有:

(2.0).squareRoot() // 也可以用 sqrt(2)
// 1.414213562373095

這將計算2的平方根。

還有:

max(5, 10)
// 10

min(-5, -10)
// -10

它們分別計算兩個數(shù)字的最大值和最小值。

也可以組合用:

max(sqrt(2), Double.pi / 2)
// 1.570796326794897

命名數(shù)據(jù)

簡單的說,計算機編程就是操縱數(shù)據(jù)。
在Swift代碼中,您可以為每個數(shù)據(jù)提供一個名稱,以便之后用它。該名稱帶有一個類型關鍵字,表示數(shù)據(jù)類型,例如文本,數(shù)字或日期。

接下來您將學習一些基本類型。

常量

let number: Int = 10

這聲明了一個名為number的常量,它是類型的Int。然后,它將常量的值設置為10。

注意:回想一下運算符,這是等號運算符=,稱為賦值運算符。

Int類型的常量只可以存儲整數(shù)。存儲小數(shù)的方式如下:

let pi: Double = 3.14159

這類似于Int常量,除了名稱和類型不同。這次,常量是一個Double--可以存儲高精度小數(shù)。

還有一個為Float浮點類型,它的存儲精度低于的DoubleDouble的精度大約是其兩倍,這就是為什么Double被優(yōu)先使用的原因。Float占用的內(nèi)存少于Double,但通常情況下,數(shù)字的內(nèi)存使用不是一個大問題,你會看到Double在大多數(shù)地方使用。

一旦聲明了常量,就無法更改其數(shù)據(jù)。例如:

let number: Int = 10
number = 0

將產(chǎn)生錯誤:
Cannot assign to value: 'number' is a 'let' constant

在Xcode中,您會看到這種方式的錯誤:

常量對于不會改變的值很有用。例如,如果您要對飛機進行建模并需要跟蹤可用的座位總數(shù),則可以使用常量。

你甚至可以使用常量來表示某個人的年齡。盡管他們的年齡會隨著每個生日而改變,但您可能只關心他們在這個特定時刻的年齡。

變量

通常,您希望更改的數(shù)據(jù)。例如,如果您通過存款和取款跟蹤銀行帳戶余額,則可以使用變量而不是常量。

當您知道需要更改某些數(shù)據(jù)時,應使用變量來表示該數(shù)據(jù)而不是常量。如下:

var variableNumber: Int = 42

使用let聲明常量,使用var聲明變量。

一旦聲明了變量,只要類型保持不變,您就可以自由地將其更改為任何您想要的變量。例如,要更改上面聲明的變量,您可以這樣做:

variableNumber = 0
variableNumber = 1_000_000

要更改變量,只需為其指定一個新值即可。

注意:在Swift中,您可以選擇使用下劃線來使更大的數(shù)字更易于閱讀。下劃線的數(shù)量和位置隨意。

看一下Playground的結(jié)果側(cè)邊欄。當您將上面的代碼鍵入Playground時,您會看到variableNumber每行的當前值:

結(jié)果側(cè)邊欄將顯示每行(如果存在)的結(jié)果。

使用有意義的名字

為變量和常量選擇有意義的名稱,可以使您的代碼更容易閱讀。

一個好名字描述了變量或常量所代表的含義。以下是一些好名字的例子:

  • personAge
  • numberOfPeople
  • gradePointAverage

通常,壞名稱根本就不具有描述性。以下是一些不良名稱的例子:

  • a
  • temp
  • average

這是為了確保您在以后閱讀時理解變量或常量所指的內(nèi)容。不要錯誤地認為你有一個絕對可靠的記憶!在計算機編程中,通常一兩天后再次看自己的代碼時便會忘記它的作用。通過為變量和常量提供直觀,精確的名稱,使自己更容易理解。

在Swift中,使用駱駝命名法。對于變量和常量,請遵循以下規(guī)則:

  • 以小寫字母開頭。
  • 如果名稱由多個單詞組成,請將它們連接在一起并以大寫字母開始每個后續(xù)單詞。
  • 如果這些單詞中的一個是縮寫,后續(xù)則大寫出整個縮寫(例如,sourceURLurlDescription)。

在Swift中,您可以使用全部的Unicode字符(中文,顏表情等)。例如:

var ????: Int = -1

不推薦用。

遞增和遞減

var counter: Int = 0

counter += 1
// counter = 1

counter -= 1
// counter = 0

counter開始為0。遞增1后其值為1,再遞減1后其值為0。

上面的代碼是以下的簡寫:

var counter: Int = 0

counter = counter + 1
// counter = 1

counter = counter - 1
// counter = 0

類似地,*=/=運算符分別用于乘法和除法:

var counter: Int = 10

counter *= 3 // Same as counter = counter * 3
// counter = 30

counter /= 2 // Same as counter = counter / 2
// counter = 15
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,196評論 3 119
  • 本文目標: 實現(xiàn)PC通過手機A的熱點調(diào)試同一熱點下的手機B。 設備連接 2、將手機B通過USB連接到PC,cmd下...
    wodenglule閱讀 1,706評論 0 0
  • 一、給我印象深刻的三個部分 1、馬玥同學的講課 2、老師提問環(huán)節(jié) 3、最后一次課的喜悅 二、給我印象深刻的原因 1...
    w小丑r閱讀 166評論 0 0
  • 我有一個幸福的家!很幸運能生活在我的家里! 我,小名涵妹,有些人叫我涵幺妹,有些人叫我黑妹,還有人叫我涵豬,叫啥都...
    遇見蘊涵閱讀 408評論 0 3
  • 今天是我們班級新學期小記者課第一課,經(jīng)過了一暑假,小記者們身上多多少少都發(fā)生了些許變化,依然如上學期時活潑可愛。這...

友情鏈接更多精彩內(nèi)容