原创 軟件構造-MIT Readings 閱讀總結
測試: 測試優先編程——在寫代碼前先寫好測試用例,儘早發現bug。 利用分區與分區邊界來選擇測試用例。 白盒測試與聲明覆蓋率。 單元測試——將測試模塊隔離開來。 自動化迴歸測試杜絕新的bug產生。 還記得好軟件具備的三個屬性嗎
原创 軟件構造-Reading 1:靜態檢查
大綱:閱讀1:靜態檢查目標:冰雹序列計算冰雹序列類型靜態類型靜態檢查、動態檢查、無檢查驚喜:原始類型並不是真正的數字!閱讀練習數組和集合迭代方法變化的值與重新分配變量記錄假設黑客派(Hacking)與 工程派(Engineerin
原创 Java-基礎篇-數據類型-裝箱與拆箱
裝箱和拆箱 Java數據類型中的8種簡單類型分別爲:boolean、byte、char、short、int、long、float和double,Java類庫的java.lang包中定義了8種包裝(wrapper):B
原创 Java-基礎篇-數據類型簡介
數據類型簡介 Java是強類型(strongly typed)語言,即每個變量和對象都必須具有聲明類型,這樣編譯時就可以確定變量的類型,從而通過編譯器避免許多錯誤。 Java數據類型分爲基本數據類型和引用類型: 基
原创 軟件構造-構件複用
大綱:可複用構件與軟件複用的關係1.可複用構件的定義及特徵2.軟件複用的核心是可複用構件可複用構件的主要技術流派1.COM2.JavaBean3.CORBA設計可複用的類1.子類型多態和利斯科夫替換原則2.委託和組合2.1 Jav
原创 軟件構造-軟件複用技術
大綱:軟件複用的定義內容優勢範疇方式關鍵技術1.軟件構件技術2.軟件構架3.領域工程4.軟件再工程5.開放系統技術6.軟件過程7.CASE技術總結參考: 軟件複用的定義 軟件複用是指利用現有的軟件成分構造出高質量、高效率的新的軟
原创 Java-集合篇-LinkedList
首先,回顧一下ArrayList和數組有什麼區別? 初始化大小:ArrayList可以不指定大小,數組必須指定大小 存儲數據類型:ArrayList只能存儲引用類型,數組可以存儲引用類型和基本類型 ArrayList比數組
原创 Java-集合篇-HashMap
Map接口: 數據結構:哈希表 哈希表:通過關鍵碼來映射到值的一個數據結構 哈希函數:鍵與值映射的一個映射關係 哈希函數: 1.直接尋址法 : f(x)=kx+b (k、b都是常數) 2.除留餘數法 : f(x)=x%k
原创 Java-集合篇-迭代器
迭代器 是一種設計模式,提供了一種方法,來對集合,容器進行遍歷 不需要關注底層數據結構和數據類型,來達到底層和上層遍歷解耦的目的 iterator迭代器方法介紹: boolean hasNext() :判斷集合是否還有元素 E n
原创 Java-集合篇-ArrayList
ArrayList底層數據結構是數組 集合存在於Java.util包路徑下 特點: 重複性:數據可以重複 null值:可以有null值存在 有序性:能保證數據的插入有序 常用方法介紹 int size(); 集合中存儲元素的
原创 Java-集合篇-集合框架圖
在介紹集合之前,我們先通過集合框架圖瞭解集合裏的主要內容和它們之間的關係,下圖是我簡單註解後的框架圖: 其中,對List和Set的註解關注點爲: 元素是否可重複 元素是否可以爲null 元素是否有
原创 Java-IO流篇-DataOutputStream
DataOutputStream DataOutputStreams是OutputStream的子類。 是數據輸出流,此類繼承自FillterOutputStream類,同時實現DataOutput接口。在DataOutput接口定義
原创 Java-數據結構篇-七種排序的簡要總結
總結:七種排序 一、冒泡排序(以下皆以從小到大排序爲例) 1.時間複雜度 平均情況:O(n^2) 最好情況:O(n) 最壞情況:O(n^2) 2.空間複雜度:O(1) 3.穩定性:穩定(沒有發生跳躍式的交換) 4.代碼示例 publi
原创 Java-基礎篇-變量與常量-常量
——常量 常量:編譯的時候確定了他的值,在運行過程中不能改變 1.文本常量 代碼中出現的文本形式常數,即文本常量,通常用來表示簡單類型、String類型和null類型的值。 2.整型常量 整數字符串通常解釋
原创 Java-基礎篇-變量與常量-變量
——變量 變量:運行的時候得到其數據;定義之後,必須初始化才能使用;變量表示存儲位置,每個變量必須具有一個類型;通過賦值可以更改變量的值。 在方法內部聲明的變量,稱爲“局部變量”。在類內部(但不在該類內部的