面向對象程序設計(Java語言描述·微課版·基於IntelliJ IDEA)
傘曉麗,沈澤剛 主編;孫蕾,董研,劉雪娜 副主編
相關主題
商品描述
"面向對象程序設計是當今主流的程序設計技術,掌握面向對象編程語言和編程方法是一名程序員必備的技能。本書以Java作為描述語言,介紹面向對象編程的基礎知識。全書共分為12章,包括Java入門,數據類型與運算符,結構化編程,類、對象和方法,數組,面向對象特征,Java的核心類庫,接口與內部類,異常處理,泛型與集合,輸入輸出,圖形界面編程等。 本書重點強調三方面主題: 面向對象編程方法、Java語言的基礎知識和Java核心類庫。本書采用JDK 21版講解,融入Java部分新特征,使用流行的IntelliJ IDEA開發工具。本書每章配有習題與上機實驗,提供教學大綱、教學課件、電子教案、程序源碼、在線題庫、習題答案及教學視頻等配套資源。 本書可作為高等院校計算機相關專業“面向對象程序設計”或“Java語言程序設計”課程教材。 "
目錄大綱
目錄
第1章Java入門
1.1編程語言概述
1.1.1編程語言
1.1.2編程語言範式
1.2建立開發環境
1.2.1JDK的下載與安裝
1.2.2JDK目錄
1.2.3關於環境變量
1.2.4Java API文檔
1.3第一個Java程序
1.3.1編寫Java程序
1.3.2編譯Java程序
1.3.3執行Java程序
1.3.4第一個程序分析
1.4IntelliJ IDEA開發工具
1.4.1IntelliJ IDEA的下載和安裝
1.4.2創建Java項目
1.4.3Java程序的編輯、編譯和運行
1.4.4IntelliJ IDEA代碼完成功能
1.4.5代碼錯誤及修改
1.5本章小結
1.6習題與實踐
1.7上機實驗
第2章數據類型與運算符
2.1Java的數據類型
2.1.1基本數據類型
2.1.2引用數據類型
2.2變量與賦值
2.2.1Java關鍵字
2.2.2Java標識符
2.2.3變量與賦值
2.2.4語句
2.3文檔風格和註釋
2.3.1塊的風格
2.3.2代碼的縮進和空白
2.3.3程序註釋
2.4字面值
2.4.1整數型字面值
2.4.2浮點型字面值
2.4.3字符型字面值
2.4.4布爾型字面值
面向對象程序設計(Java語言描述·微課版·基於IntelliJ IDEA)
目錄
2.5字符串類型
2.6軟件開發過程
2.7數據類型轉換
2.7.1自動類型轉換
2.7.2強制類型轉換
2.7.3表達式類型自動提升
2.8運算符
2.8.1算術運算符
2.8.2比較運算符
2.8.3邏輯運算符
2.8.4賦值運算符
2.8.5位運算符
2.8.6運算符的優先級
2.9案例學習——顯示當前時間
2.10本章小結
2.11習題與實踐
2.12上機實驗
第3章結構化編程
3.1編程方法
3.2選擇結構
3.2.1簡單if語句
3.2.2雙分支if…else語句
3.2.3多分支if…else語句
3.2.4條件運算符
3.3案例學習——兩位數加減運算
3.4switch語句與switch表達式
3.4.1switch語句
3.4.2switch表達式
3.5循環結構
3.5.1while循環
3.5.2do…while循環
3.5.3for循環
3.5.4循環的嵌套
3.5.5break語句和continue語句
3.6案例學習——求最大公約數
3.7案例學習——打印輸出若幹素數
3.8本章小結
3.9習題與實踐
3.10上機實驗
第4章類、對象和方法
4.1面向對象概述
4.1.1OOP的產生
4.1.2基本概念
4.1.3OOP的優勢
4.2類的定義與對象的創建
4.2.1類的定義
4.2.2創建和使用對象
4.2.3用UML圖表示類
4.2.4對象的引用賦值
4.2.5理解棧與堆
4.3構造方法
4.3.1無參數構造方法
4.3.2帶參數構造方法
4.3.3構造方法的重載
4.3.4this關鍵字
4.4案例學習——使用Date日期類
4.5方法的設計
4.5.1如何設計方法
4.5.2方法的調用
4.5.3方法重載
4.5.4方法參數的傳遞
4.6案例學習——分數類Fraction的設計
4.7靜態變量和靜態方法
4.7.1靜態變量
4.7.2靜態方法
4.8遞歸
4.9案例學習——打印斐波那契數列
4.10對象初始化
4.10.1實例變量的初始化
4.10.2靜態變量的初始化
4.11變量的作用域
4.12局部變量類型推斷
4.13垃圾回收
4.14本章小結
4.15習題與實踐
4.16上機實驗
第5章數組
5.1創建和使用數組
5.1.1數組的定義
5.1.2訪問數組元素
5.1.3數組初始化器
5.1.4增強的for循環
5.2數組的應用
5.2.1數組元素的復制
5.2.2數組參數與返回值
5.2.3可變參數方法
5.3案例學習——數組冒泡排序
5.4java.util.Arrays類
5.5案例學習——橋牌隨機發牌
5.6二維數組
5.6.1二維數組的定義
5.6.2數組元素的使用
5.6.3數組初始化器
5.6.4不規則二維數組
5.7案例學習——打印10行楊輝三角形
5.8案例學習——打印輸出魔方數
5.9本章小結
5.10習題與實踐
5.11上機實驗
第6章面向對象特征
6.1面向對象特征概述
6.2包與類庫
6.2.1包與package語句
6.2.2類的導入
6.2.3Java類庫
6.3案例學習——開發自定義類庫
6.4封裝性與訪問修飾符
6.4.1類的訪問權限
6.4.2類成員的訪問權限
6.5類的繼承
6.5.1類繼承的實現
6.5.2方法覆蓋
6.5.3super關鍵字
6.5.4調用父類的構造方法
6.6final修飾符
6.6.1final修飾類
6.6.2final修飾方法
6.6.3final修飾變量
6.7類的關系
6.7.1關聯關系
6.7.2聚合關系
6.7.3組合關系
6.7.4依賴關系
6.7.5多重性與關聯導航
6.8抽象類
6.9對象轉換
6.9.1對象轉換簡介
6.9.2instanceof運算符
6.10理解多態
6.11本章小結
6.12習題與實踐
6.13上機實驗
第7章Java的核心類庫
7.1Object類
7.1.1toString()方法
7.1.2equals()方法
7.1.3hashCode()方法
7.2String類
7.2.1創建String類對象
7.2.2字符串的基本操作
7.2.3字符串的查找
7.2.4字符串的比較
7.2.5字符串轉換為數組
7.2.6字符串的拆分與組合
7.2.7String對象的不變性
7.2.8命令行參數
7.2.9格式化輸出
7.3StringBuilder類
7.3.1創建StringBuilder對象
7.3.2StringBuilder的常用方法
7.3.3運算符“+”的重載
7.4案例學習——字符串加密解密
7.5基本類型包裝類
7.5.1Character 類
7.5.2Boolean類
7.5.3創建數值類對象
7.5.4自動裝箱與自動拆箱
7.5.5字符串與基本類型轉換
7.6案例學習——一個整數棧的實現
7.7Math類
7.8BigInteger類和BigDecimal類
7.9日期時間API
7.9.1LocalDate類
7.9.2LocalTime類
7.9.3LocalDateTime類
7.9.4Instant類、Duration類和Period類
7.9.5日期時間解析和格式化
7.10案例學習——打印輸出月歷
7.11本章小結
7.12習題與實踐
7.13上機實驗
第8章接口與內部類
8.1接口
8.1.1接口的定義
8.1.2接口的實現
8.1.3接口的繼承
8.1.4接口類型的使用
8.1.5常量
8.2接口方法
8.2.1默認方法
8.2.2私有方法
8.2.3靜態方法
8.2.4關於接口與抽象類
8.3接口示例
8.3.1ComparableT接口
8.3.2ComparatorT接口
8.4案例學習——比較員工對象大小
8.5記錄類型
8.6枚舉類型
8.6.1枚舉的定義和使用
8.6.2在switch中使用枚舉
8.6.3枚舉的構造方法
8.7內部類
8.7.1成員內部類
8.7.2靜態內部類
8.7.3匿名內部類
8.7.4局部內部類
8.8註解類型
8.8.1註解概述
8.8.2標準註解
8.8.3定義註解類型
8.9本章小結
8.10習題與實踐
8.11上機實驗
第9章異常處理
9.1異常與異常類
9.1.1異常的概念
9.1.2異常類型
9.2用try…catch捕獲異常
9.3捕獲多個異常
9.4throws和throw關鍵字
9.5try…with…resources語句
9.6自定義異常類
9.7案例學習——數組不匹配異常
9.8本章小結
9.9習題與實踐
9.10上機實驗
第10章泛型與集合
10.1泛型
10.1.1泛型類
10.1.2泛型接口
10.1.3泛型方法
10.1.4通配符“?”的使用
10.1.5方法中的有界參數
10.2集合框架
10.3List接口及實現類
10.3.1List的操作
10.3.2ArrayList類
10.3.3遍歷集合元素
10.3.4數組轉換為List對象
10.4Set接口及實現類
10.4.1HashSet類
10.4.2TreeSet類
10.4.3對象順序
10.5Queue接口及實現類
10.5.1Queue接口和Deque接口
10.5.2ArrayDeque類和LinkedList類
10.5.3集合轉換
10.6案例學習——用集合存儲、遍歷學生信息
10.7Map接口及實現類
10.7.1Map接口
10.7.2HashMap類
10.7.3TreeMap類
10.8Collections類
10.9本章小結
10.10習題與實踐
10.11上機實驗
第11章輸入輸出
11.1I/O概述
11.1.1File類
11.1.2文本I/O與二進制I/O
11.2二進制I/O流
11.2.1OutputStream類和InputStream類
11.2.2FileOutputStream類和FileInputStream類
11.2.3緩沖I/O流
11.2.4DataOutputStream類和DataInputStream類
11.2.5PrintStream類
11.2.6標準輸入輸出流
11.3案例學習——文件加密解密
11.4文本I/O流
11.4.1Writer類和Reader類
11.4.2FileWriter類和FileReader類
11.4.3BufferedWriter類和BufferedReader類
11.4.4PrintWriter類
11.4.5使用Scanner對象
11.5案例學習——統計文件字符數、單詞數和行數
11.6對象序列化
11.6.1對象序列化與對象流
11.6.2向ObjectOutputStream中寫對象
11.6.3從ObjectInputStream中讀對象
11.6.4序列化數組
11.7本章小結
11.8習題與實踐
11.9上機實驗
第12章圖形界面編程
12.1組件和容器
12.1.1Swing概述
12.1.2組件
12.1.3容器
12.1.4簡單的Swing程序
12.2容器布局
12.2.1FlowLayout布局
12.2.2BorderLayout布局
12.2.3GridLayout布局
12.2.4JPanel類及容器的嵌套
12.3事件處理
12.3.1事件處理模型
12.3.2事件類
12.3.3事件監聽器
12.3.4事件處理的基本步驟
12.4常用組件
12.4.1JTextArea類
12.4.2JCheckBox類
12.4.3JRadioButton類
12.4.4JComboBox類
12.4.5JOptionPane類
12.4.6JFileChooser類
12.4.7菜單組件
12.5案例學習——八皇後問題解
12.6案例學習——簡單的日歷程序
12.7本章小結
12.8習題與實踐
12.9上機實驗
參考文獻