從零開始當工程師 – 何為運算子,i = i+1到底是怎樣 

前言

前幾篇介紹了資料基本型態以及一些邏輯判斷

這一篇來介紹程式的另一個基本

相信第一次接觸程式的人,看到 i = i+1 的瞬間就會愣住了

這是蝦米碗糕,那如果我們把 i 代入 1

1 = 1+1 ➡ 1 = 2

難道工程師數學都爛的一蹋糊塗的嗎!? 那肯定不是的

那就讓我們進入今天的主題 「運算子」

運算子

定義 : 是一種符號或符號組合,用於指定要對參數進行的特定操作。

目的 :

  • 執行數學計算,像是基本的加減乘除
  • 控制流程,其實就是前面兩章介紹過的邏輯判斷那種的
  • 操作位元,這個屬於比較進階的運用了,有機會再介紹下

運算子可以分為以下幾類

算數運算子

用於執行數學的基本判斷,我們平常數學用到的加減乘除都在此類

  • +
  • *
  • /
  • % 這個比較特殊,是取餘數的意思,舉個範例來說 7%3 = 1 就是7扣掉能被3整除的6之後,剩下的餘數為1

算數運算子很常被運用於各種場合

⭐這裡說明一下最令人感到困惑的 i = i+1

在這裡的 = 為賦值的意思,而不是相等

所以,意思就是我要把 i 的值變成 i+1的值,後面的那個 i 就是本來的值 ➡ 我要讓 i 這個值+1

擴展運算子

算是算術運算子的延伸

運算子範例也等於
+=i += 2i = i+2
-=i -= 2i = i-2
*=i *= 2i = i*2
/=i /= 2i = i/2
%=i %= 2i = i%2

沒錯,工程師就是懶成這樣,這樣就可以少寫一個字了哈哈

不過要留心的是,以筆者多年的經驗

寫 i+=1的比例 比 i = i+1 高多了,所以還是得會這個方法的

比較運算子

用於比較兩個值的關係,並回傳布林值 (true、false)

  • > 大於
  • < 小於
  • >= 大於等於
  • <= 小於等於
  • == 等於
  • != 不等於

這個…我應該不用說明吧

邏輯運算子

用來進行邏輯上的判斷

  • && And運算子
  • || OR運算子
  • ! NOT運算子

這個應該相對比較好理解

&&就是前後都要符合才會回傳true

|| 則是前後一個成立 (true) 就會回傳true

! NOT運算子則是回傳完全相反的結果, 舉例來說 : !(1==1) ➡ !(true) ➡ false

位元運算子

主要就是用來進行二進位的計算

常見的幾種有

運算子用途
&AND運算
|OR運算
~對位元進行反轉
^XOR運算
➡ 當兩個位元相反時為true,相同則為false
<<位元向左移動一位
>>位元向右移動一位

二進位Binary的概念因為在前幾章還沒說明,所以這邊就先擱置

大致概念就是 0 跟 1 組成的資料,現代程式都是基於二進位的肩膀上開發的

( 因為 0可以代表 false,而1則為true,所以可以進行各類運算)

有一些興趣的同學,可以先看一篇實務應用的文章 – 從實務應用出發 – 如何透過二進位控管人員權限


結論

隔了許久,總算回來寫第四篇了,真的不容易啊哈哈

這篇裡面講解了程式的基本操作,主要都是對邏輯跟架構上會用到的運算子

不知道按照這個速度,多久可以到實作層呢

如果大家有想看的也請不吝留言告訴我一聲

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *