java,android學習《1》概述

來源:互聯網
上載者:User

標籤:

如果程式的資料包涵代碼和資料兩部分:

面向過程編程 就是以代碼為主,用代碼控制資料,描述解決問題的方法。

面向過程編程 就是以抽象資料為主,所有處理都圍繞資料展開,依賴抽象編程

 

程式設計語言知識點:

1 . 流程式控制制:使用if...else , while, break,continue 代替 過於強大,結構差,不便閱讀的goto.

  for, switch,foreach 則可讓代碼更簡潔,清晰。

2.  函數:隨著程式碼變得越來越龐大,把握全域逐漸層得困難起來,同時有可能需要多次用到非常相似的操作,於是誕生了函數 。

  把代碼的一部分視作一個有機整體,切分出去並為之命名的程式設計機制(便於理解和可重複使用,早期有子程式的稱謂)。棧。

3. 錯誤處理:

  •  用傳回值及引用參數傳達出錯資訊。 C,GO採用這一模式
  •  可追加錯誤類型和可主動觸發錯誤的異常處理機制。
    • C++ ,JAVA,C# 使用throw , try ... catch
    • JAVA,C# 中 可以使用try ... catch ... finally。使用finally,出口只有一個,實現成對操作的無遺漏執行。
    • JAVA 採用檢查型異常,要明確聲明可能跑出的異常,因為"The Trouble with Checked Exceptions",所以C#未引人。
    • swift此前採用c的模式,2015開發人員大會上提到將引入異常處理機制。

4. 命名和範圍(動態範圍、全域範圍、靜態範圍),命名空間。public private protected internal

5. 類型:資料如何讀取,需要依賴人們為資料附加的類型資訊。

  • CPU對運算元的存放方式:Little_endian(從低位元組到高位元組)和Big_endian(從高位元組到低位元組)。
  •  以2進位表示10進位,約3.32(log10 / log2)個bit位表示一位。
    • 整形:最高位為符號位。負數採用補碼的方式,從而將減法轉變為加法。(補碼:除符號位外 按位取反 再 加 1  )
    • 浮點:

       以32位為例:

        最高位為符號位,

        之後8位是表示位元的指數部分(0~255,減去127,得到-127~128,-127表下溢出:0,128表上溢出:無窮小或無窮大,剩下的為位元)

        剩下23位為尾數部分,表示小數點以下的部分(通過移動小數點使整數部分變成1後的小數部分)。

 

        如: 1.75  二進位:1.11 ,無需移位,  符號位:0,指數部分 0111,1111(127),尾數部分:110,0000,0000,0000,0000(0.5 + 0.25)

              3.875 二進位:1.1111 * 2,   符號位:0,指數部分 1000,0000(128右移一位),尾數部分:111,1000,0000,0000,0000

           範圍 :-126 / 3.32 ~ 127 / 3.32 約-38~38

               精確度:23/ 3.32 ,6~7位有效數字

        64位則符號位為11位

               範圍 :-1022 / 3.32 ~ 1023 / 3.32 約-308~308

               精確度:52/ 3.32 ,15~16位有效數字

  

   自訂類型:結構,聯合,枚舉,類。使用基礎資料型別 (Elementary Data Type)通過組合定義新的類型。

  存取控制:功能上實現封裝,代碼上解耦

   抽象類別、介面

   泛型、模版

   動態類型

6. 容器(資料結構):

7. 對象與類

  物件導向編程裡的 對象是現實世界的模型。歸納並建立模型的方式多種多樣,語言不同,選擇也不同,類是最方便的,卻不是必須的。

   JS中通過將函數和變數放入散列,以實現將相關聯的函數、變數集中到一起的功能。

       函數式語言裡,則會採用閉包的形式。

   perl 使用包的形式

8.繼承

   採用封裝來建立抽象資料模型,但僅僅只有封裝還不夠,事物之間是普遍聯絡的,還需要繼承和多態來描述他們之間的關係

 繼承需要謹慎使用,否則代碼可讀性降低,而且擴充困難。遵守 裡氏替換原則

  C++為多重繼承,多重繼承使用方便,但會產生衝突,JAVA的解決辦法就是只容許單繼承,用介面實現多重繼承的功能。同時單繼承便於統一管理記憶體。

9. 抽象類別,介面  

  抽象類別可以有一個抽象方法

  而介面則所有方法都是抽象方法

----------------

 

程式語言是為了尋求便捷而誕生的,正是因為對便捷的不同需求。 才促成了各種程式語言的發明。

 語言設計的取捨:

易用性與功能,安全性與效率,穩定性與可擴充性。

 

C:結構化編程 + 高效 + 功能強大 + 易於學習

誕生於1972年

the c programming language 1978由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言

1989.12  第一個完整的C語言標準,簡稱“C89”,不過人們也習慣稱其為“ANSI C”。

最新標準在2011年12月8日發布,稱為ISO/IEC9899: 2011,簡稱為“C11”。

 

 C++, 1979年發明,最初稱“帶類的C”,1983年正式更名為C++

重視代碼執行效率,語言規範相應的非常複雜。

 

JAVA 1991年構想,92年初步實現,95年公開發布。

目標是實現體繫結構中立,而全球資訊網的發展成就了JAVA,因為全球資訊網需要可移植程式。JAVA對網路編程的意義就如同C對系統編程的意義一樣:都是改變世界的革命性力量。

 

 

 

 

 

java,android學習《1》概述

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.