2.運算符

  Swift 支持大部分標準 C 語言的運算符,分為一元、二元和三元運算符。

  • 一元運算符對單一操作對象操作(如 -a)。一元運算符分前置運算符和后置運算符,前置運算符需緊跟在操作對象之前(如 !b),后置運算符需緊跟在操作對象之后(如 i++)。
  • ?二元運算符操作兩個操作對象(如 2 + 3),是中置的,因為它們出現在兩個操作對象之間。
  • ?三元運算符操作三個操作對象,和 C 語言一樣,Swift 只有一個三元運算符,就是三目運算符(a ? b : c)。

1.賦值運算符: (=)

let a = 10

2.算術運算符: 加法(+)、減法(-)、乘法(*)、除法(/

1 + 2 ;
5 - 3;
2 * 3;
10.0 / 2.5;

【說明】:加法運算符也可用于 String 的拼接。例如:

"hello, " + "world";

3.求余運算符: (%)

9 % 4;  //結果為1

【說明】:不同于 C 語言和 Objective-CSwift 中是可以對浮點數進行求余。例如:

8 % 2.5;  //結果為0.5

4.自增和自減運算:自增(++)和自減(--

  • ++ 前置的時候,先自増再返回; ++ 后置的時候,先返回再自增。

【注意】:it will be removed in Swift 3,可以不看。

5.一元負號運算符: (-)

  • 一元負號(-)寫在操作數之前,中間沒有空格。比如:-3

6.一元正號運算符:? (+)

  • 不做任何改變地返回操作數的值。

7.組合賦值運算符

  • Swift 提供把其他運算符和賦值運算(=)組合的組合賦值運算符,組合加運算(+=)是其中一個例子。

8.比較運算符

  • 所有標準 C 語言中的比較運算都可以在 Swift 中使用: ==!=><>=<=
  • Swift 提供恒等(===)和不恒等(!==)這兩個比較符來判斷兩個對象是否引用同一個對象實例(具體看類和結構體章節)
  • 當元組中的值可以比較時,也可以使用這些運算符來比較它們的大小。例如,因為 Int String 類型的值可以比較,所以類型為 (Int, String) 的元組也可以被比較。相反,Bool 不能被比較,也意味著存有布爾類型的元組不能被比較。
(1, "zebra") < (2, "apple");  //true
(3, "apple") < (3, "bird");  //true
(4, "dog") == (4, "dog");  //true

9.三元運算符:問題 ? 答案 1 : 答案 2

  • 表示根據 問題成立與否作出二選一的操作。如果 問題 成立,返回 答案 1 的結果;反之返回 答案 2 的結果。

10.空合運算符:空合運算符(a ?? b

  • 對可選類型 a 進行空判斷,如果 a 包含一個值就進行解封,否則就返回一個默認值 b。表達式 a 必須是 Optional 類型。默認值 b 的類型必須要和 a 存儲值的類型保持一致。
  • 空合運算符是對以下代碼的簡短表達方法:a != nil ? a! : b

11.區間運算符

  • 閉區間運算符(a...b)定義一個包含從 a b(包括 a b)的所有值的區間。a 的值不能超過 b?
  • 半開區間(a..<b)定義一個從 a b 但不包括 b 的區間。 之所以稱為半開區間,是因為該區間包含第一個值而不包括最后的值。
for index in 1...5
{print("\(index) * 5 = \(index * 5)");  //執行5次
}

12.邏輯運算

  • 邏輯非(!a
  • 邏輯與(a && b
  • 邏輯或(a || b

轉載于:https://www.cnblogs.com/LeeGof/p/5673728.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374362.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374362.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374362.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言開發筆記(二)volatile

volatile常用于多線程共享資源和嵌入式軟件的中斷。 &#xff08;一&#xff09;嵌入式軟件中斷中volatile的應用 volatile unsigned short g_timer3_count 0;void TIM3_IRQHandler(void) {if (TIM_GetITStatus(TIM3, TIM_IT_Update) ! RESET){TIM_ClearITPendingBit(TIM3, T…

在WebLogic 12c上運行RichFaces 4.1.0.Final

您可能已經注意到&#xff0c;我只是喜歡JSF。 不僅是Mojarra的規范和參考實現&#xff0c;而且是市場上最具創意的組件套件。 這是我一直以來最喜歡的PrimeFaces &#xff0c;當然還有RichFaces 。 這就是為什么在這里找到“在xxx上運行xxx”帖子的原因:)今天是我的RichFaces和…

maven 私服的setting.xml配置

1 <?xml version"1.0" encoding"UTF-8"?>2 <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0" 3 xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation"http://m…

python中的運算符_Python 中的神秘運算符

今天我們來講講 Python 里一個不為眾人所知的運算符。你可能會覺得疑惑&#xff1a;還有我不知道的運算符&#xff1f;別急著下結論&#xff0c;先往下看看再說。 在 Python3.5 中通過 PEP465https://www.python.org/dev/peps/pep-0465 加入了 運算符&#xff0c;也就是矩陣相乘…

input type:text輸入框點擊輸入,文字消失

<input name"Header1$txbsearch" type"text" value"18912345678" id"Header1_txbsearch" class"txbindex" οnfοcus"if (value 18912345678){value }" οnblur"if (value ){value18912345678}" sty…

C語言開發筆記(一)自動轉換和強制轉換

整型數據和實行數據之間可以進行運算&#xff0c;而且字符型數據可以和整型數據通用&#xff0c;所以整型、實型、字符型數據之間也是可以進行運算的&#xff0c;但在運算處理之前&#xff0c;不同類型的數據要事先轉換成同一種數據類型。轉換方法有兩種&#xff1a;自動轉換和…

Apache Shiro:簡化應用程序安全性

考慮到JAVA已有10多年的歷史了&#xff0c;對于需要在其應用程序中內置身份驗證和授權的應用程序開發人員來說&#xff0c;選擇的數量非常少。 在JAVA和J2EE中&#xff0c;JAAS規范是一種嘗試解決安全性的問題。 盡管JAAS用于身份驗證&#xff0c;但授權部分卻過于繁瑣而無法使…

Maven 導出依賴Jar,生成source.jar,javadoc.jar

下載最新版的Maven http://maven.apache.org/download.cgi 解壓到本地文件夾新建環境變量 MAVEN_HOME maven解壓目錄在path加入 %MAVEN_HOME%/bin;需要確保已經有Java環境變量 &#xff08;打開cmd java -version,javac -version兩個命令看正常不&#xff09;一、導出到默認目…

python提取包含特定字符串的行_python語言----txt中搜索特定字符串所在行

打開IDLE(python)&#xff0c;并新創建一個py文件&#xff0c;編輯內容為&#xff1a; 本示例演示如何在一個txt文件中搜索特定的字符串&#xff0c;并將其行顯示# 1. 打開文件# 2. 讀取行信息# 3. 判斷是否包含關鍵詞# 4. 不包含則循環操作&#xff0c;包含的話將行顯示并退出…

asp.net 分布式應用開發

Net Framework推出的許多新技術為上述任務的實現提供了相對簡單的解決方案。其中&#xff0c;基于SOAP的Web Service在處理分布式應用時具有比傳統的DCOM/CORBA明顯的優點&#xff0c;結合基于Web的ASP.NET頁面開發技術和SQL Server數據存儲技術&#xff08;或Xml文檔&#xff…

Spring Data JPA的持久層

1.概述 本文將重點介紹Spring 3.1&#xff0c;JPA和Spring Data的持久層的配置和實現。 有關使用基于Java的配置和項目的基本Maven pom設置Spring上下文的分步介紹&#xff0c;請參閱本文 。 持久性與春天 系列 &#xff1a; 第1部分 – 具有Spring 3.1和Hibernate的持久層 …

C語言開發筆記(三)自加和自減

看到一段代碼&#xff0c;被坑了。 #include <stdio.h>int main(void) {int a 7;printf("%d\n", a);printf("%d\n", a--);printf("%d\n", -a);printf("%d\n", -a--);printf("%d\n", a);return 0; } 結果為 -a的邏輯…

求解數獨回溯算法

實現的java代碼如下&#xff08;該算法只是將結果打印輸出&#xff0c;并沒有對原數組實現更改&#xff09;&#xff1a; //判斷a[i][j]取值val是否有效public boolean isValid(int[][] a, int i, int j, int val){//判斷是否跟同行沖突for(int j10;j1<9;j1){if(a[i][j1]val…

python語言屬于哪一種語言_Python與Java:你應該學習哪種語言,他們有什么區別?...

在企業招聘中&#xff0c; Python和Java經常是需求最大的編程語言。這兩種編程功能強大&#xff0c;靈活且面向對象的語言&#xff0c;通常在組織中和各種其他設置中使用。這可能會導致我們提出一個不可避免的問題&#xff1a;哪個更好&#xff1f; 這是一個復雜的問題&#xf…

關于手機端CSS Sprite圖標定位的一些領悟

今天在某個群里面閑逛&#xff0c;看見一個童鞋分享了一個攜程的移動端的頁面。地址這里我也分享下吧&#xff1a;http://m.ctrip.com/html5/在手機端我都很少用雪碧圖合并定位圖標&#xff0c;用的比較多就是用字體圖標來代替&#xff0c;有些圖標不多的時候就自己單個的切出來…

將Java向前推進? 一個定義。 一年回顧。

這篇文章是許多其他“年終”博客文章和評論之一。 但這并不是這樣。 我正在嘗試總結我在2011年所學到的有關Oracle和Java的知識&#xff0c;還試圖解釋“將Java向前推進”對我的意義以及我認為應該更好或更簡單地改變的東西。 感謝您全年關注我的博客&#xff0c;也感謝您在Twi…

c語言程序源代碼_程序的編譯、鏈接和執行

同學們總是抱怨每次見到一道面試題都很難把它轉化為程序源代碼。然而不幸的是&#xff0c;即使是程序源代碼對于計算機來說也還是太高級了。要想讓計算機執行一段程序&#xff0c;我們必須把它翻譯成最底層的機器指令才行。這其中要經歷很多步驟。幸運的是有很多現成的工具可以…

Ubuntu下tftp服務器的搭建

參考博客&#xff1a;http://blog.chinaunix.net/uid-26495963-id-3206829.html1. 安裝$ apt-get install tftp-hpa tftpd-hpa2. 建立目錄$ mkdir /tftpboot # 這是建立tftp傳輸目錄。$ sudo chmod 777 /tftpboot$ sudo touch test.txt # test.txt文件最好輸入內容以便區分3. 配…

【程序員眼中的統計學(1)】信息圖形化:第一印象

信息圖形化&#xff1a;第一印象 作者 白寧超 2015年10月13日23:23:13 摘要&#xff1a;程序員眼中的統計學系列是作者和團隊共同學習筆記的整理。首先提到統計學&#xff0c;很多人認為是經濟學或者數學的專利&#xff0c;與計算機并沒有交集。誠然在傳統學科中&#xff0c;其…

JBoss AS 7.0.2“ Arc”發布–使用綁定選項

有關JBoss AS7方面的更多好消息。 JBoss AS 7.0.2.Final“ Arc”已經發布&#xff01; 自AS 7.0.1發布以來已經過去了一個月。 在這短時間內&#xff0c;已修復了許多錯誤&#xff0c;并實現了更多功能和改進。 所有這些錯誤修復和功能已包含在此7.0.2版本中。 此新版本主要包…