[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • Java 程序設計教程
    該商品所屬分類:研究生 -> 工學
    【市場價】
    198-288
    【優惠價】
    124-180
    【作者】 肖雲鵬 
    【所屬類別】 圖書  教材  研究生/本科/專科教材  工學 
    【出版社】清華大學出版社 
    【ISBN】9787302529903
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787302529903
    叢書名:高等學校計算機專業規劃教材

    作者:肖雲鵬
    出版社:清華大學出版社
    出版時間:2019年08月 


        
        
    "
    產品特色

    width="750"

    編輯推薦

    本書是為大學本科、專科JAVA學習準備的教材。全書以“what、why、how”的方式講解,強調原理,重視實踐。全書貫穿一個實例,把大學教學*常使用的《圖書管理繫統》作為實例。縱向上,各章承前啟後,層層遞進,從*簡單的無界面無網絡無數據庫的控制臺一條打印“圖書管理繫統”語句開始→一個類多個函數帶輸入輸出的圖書管理繫統→多個類的圖書管理繫統(學習面向對像、常用程序設計結構)→有數據結構的圖書管理繫統(學習集合)→帶數據庫的圖書管理繫統(學習數據庫)→有界面的圖書管理繫統(學習UI)→有網絡的圖書管理繫統(學習網絡基本原理、網絡編程、多線程、協議)。橫向上,每一章的實例也是對本章學習內容的總結和實踐
    同時,根據實際教學情況,我們在本書的實例中用*簡單的方式融彙了面向對像、數據結構、數據庫、網絡編程、多線程、通信協議、程序結構、常用設計模式等同學們前期課程學習過,但實際運用不一定掌握了的重要知識點。
    為了配合教師教學及同學們自學,本書提供了配套教學的ppt和所有章節的源代碼。

     
    內容簡介

    本書是為大學本專科Java程序設計課程準備的教材。全書以“what、why、how”的方式講解,強調原理,重視實踐。全書貫穿一個實例,把大學教學*常使用的“圖書管理繫統”作為實例,從第1章開始,安排在每一章的*後一節。縱向,各章承前啟後,層層遞進,從*簡單的控制臺、一個類圖書管理繫統→控制臺、多個類的圖書管理繫統→合理的數據結構、代碼設計的圖書管理繫統→帶數據庫的圖書管理繫統→有漂亮界面的圖書管理繫統→帶網絡連接的圖書管理繫統→帶多線程、多客戶端可以並行的圖書管理繫統。*後,將圖書管理繫統稍作修改,實現了一個簡單QQ的程序。橫向,對於每一章,*後一節的實例也是對本章學習內容的總結和實踐。 同時,根據實際教學情況,我們在本書的實例中用*簡單的方式融彙了面向對像、數據結構、數據庫、網絡編程、多線程、通信協議、程序結構、常用設計模式等同學們在前期課程中學習過,但在實際運用中不一定能掌握的重要知識點。為了配合教師教學及同學們自學,本書提供了配套教學的PPT和所有章節的源代碼。

    目錄
    目錄
    第4章集合
    4.1本章任務
    4.2集合——數據結構Java實現
    4.3Java集合的整體框架
    4.4Collection接口
    4.5List接口
    4.5.1List接口簡介
    4.5.2ArrayList集合
    4.5.3LinkedList集合
    4.6Set接口
    4.6.1Set接口簡介
    4.6.2HashSet集合
    4.6.3TreeSet集合

    目錄


    第1章Java入門


    1.1本章任務


    1.2Java的故事


    1.3三個版本的過去和現在


    1.4環境搭建


    1.5從控制臺到Eclipse——一個簡單的圖書管理繫統V1.0


    1.6一個簡單的面向對像的改造


    1.7JDK、JRE和JVM


    1.8養成良好的學習習慣


    1.9如何導入本書的案例庫


    第2章基礎知識


    2.1本章任務


    2.2Java基本程序結構


    2.3Java程序基本代碼規範


    2.3.1注釋規範


    2.3.2標識符


    2.3.3關鍵字


    2.4數據類型與變量


    2.4.1整型


    2.4.2浮點型


    2.4.3char型


    2.4.4布爾型


    2.4.5變量


    2.4.6常量


    2.5運算符、表達式與控制語句


    2.5.1運算符


    2.5.2關繫運算符


    2.5.3邏輯運算符


    2.5.4賦值運算符


    2.5.5運算符優先級


    2.5.6控制語句


    2.6數組


    2.7基本輸入輸出


    2.8一個單機版、控制臺、隻有一個類的圖書管理繫統V2.0


    2.8.1運行效果圖


    2.8.2類結構示意圖


    2.8.3代碼實現


    第3章面向對像


    3.1本章任務


    3.2面向對像基本概念


    3.3類與對像


    3.3.1類


    3.3.2對像


    3.4封裝


    3.5繼承


    3.6多態


    3.7抽像類和接口


    3.7.1抽像類


    3.7.2接口


    3.8訪問控制


    3.9異常


    3.9.1什麼是異常


    3.9.2異常處理


    3.10三個常見的關鍵字static、final、this


    3.10.1static關鍵字


    3.10.2final關鍵字


    3.10.3this關鍵字


    3.11圖書管理繫統V3.0


    3.11.1運行效果圖


    3.11.2類結構示意圖


    3.11.3代碼實現


     



    第4章集合


    4.1本章任務


    4.2集合——數據結構Java實現


    4.3Java集合的整體框架


    4.4Collection接口


    4.5List接口


    4.5.1List接口簡介


    4.5.2ArrayList集合


    4.5.3LinkedList集合


    4.6Set接口


    4.6.1Set接口簡介


    4.6.2HashSet集合


    4.6.3TreeSet集合


    4.7Map接口


    4.7.1Map接口簡介


    4.7.2HashMap集合


    4.7.3TreeMap集合


    4.8常用的三個工具:Iterator接口、Collections類、Arrays類


    4.8.1Iterator接口


    4.8.2Collections類


    4.8.3數組工具類Arrays


    4.9圖書管理繫統V4.0


    4.9.1運行效果圖


    4.9.2類結構示意圖


    4.9.3代碼實現


    第5章數據存儲


    5.1本章任務


    5.2IO


    5.2.1基本IO


    5.2.2更好用的IO


    5.3文件繫統


    5.3.1按字節讀取


    5.3.2按字符讀取


    5.3.3按行讀取


    5.3.4隨機讀取


    5.4圖書管理繫統V5.1


    5.4.1運行效果圖


    5.4.2類結構示意圖


    5.4.3代碼實現


    5.5數據庫


    5.5.1JDBC簡介


    5.5.2JDBC訪問數據庫的基本過程


    5.5.3JDBC常用類


    5.6MVC設計模式


    5.6.1什麼是MVC設計模式


    5.6.2為什麼要使用MVC設計模式


    5.7圖書管理繫統V5.2


    5.7.1運行效果圖


    5.7.2類結構示意圖


    5.7.3代碼實現


    第6章界面


    6.1本章任務


    6.2畫畫的故事


    6.3容器


    6.3.1底層容器


    6.3.2面板容器


    6.4布局管理器


    6.4.1布局管理器概述


    6.4.2FlowLayout布局管理器


    6.4.3BorderLayout布局管理器


    6.4.4GridLayout布局管理器


    6.5組件


    6.5.1組件概述


    6.5.2常用的組件


    6.6事件監聽器和內部類


    6.6.1事件處理模式


    6.6.2事件類


    6.6.3內部類


    6.7圖書管理繫統V6.0


    6.7.1運行效果圖


    6.7.2類結構示意圖


    6.7.3代碼實現


    6.8把我們的界面變漂亮


    第7章網絡編程


    7.1本章任務


    7.2網絡的幾個重要問題


    7.3TCP編程


    7.3.1什麼是TCP/IP


    7.3.2TCP建立連接步驟(阻塞式)


    7.3.3TCP建立連接步驟(非阻塞式)


    7.4UDP編程


    7.4.1什麼是UDP


    7.4.2UDP建立連接步驟


    7.5HTTP編程


    7.5.1什麼是HTTP,為什麼要有HTTP


    7.5.2HTTP建立連接步驟


    7.6客戶/服務器模式


    7.6.1控制臺上的簡單輸入輸出


    7.6.2控制臺上的循環輸入輸出


    7.6.3一個客戶端和一個服務器一次通信


    7.6.4一個客戶端和一個服務器多次通信


    7.6.5多個客戶端和一個服務器串行通信


    7.6.6多個客戶端和一個服務器並行通信


    7.6.7客戶端與服務器端HTTP通信


    7.7圖書管理繫統V7.0


    7.7.1運行效果圖


    7.7.2類結構示意圖


    7.7.3通信協議


    7.7.4關鍵代碼


    第8章多線程


    8.1本章任務


    8.2幾個概念


    8.2.1進程


    8.2.2線程


    8.3生命周期


    8.3.1線程生命周期概述


    8.3.2為什麼要有生命周期


    8.3.3線程生命周期詳解


    8.4線程調度和線程優先級


    8.4.1線程的調度


    8.4.2線程的優先級


    8.5創建線程的兩種方式


    8.5.1繼承Thread類創建線程類


    8.5.2通過Runnable接口創建線程類


    8.6線程常用方法


    8.7線程同步


    8.7.1線程同步理解


    8.7.2線程同步實現


    8.8計時器Timer


    8.9圖書管理繫統V8.0


    8.9.1運行效果圖


    8.9.2類結構示意圖


    8.9.3代碼實現


    第9章擴展——從圖書管理繫統到QQ


    9.1本章任務


    9.2總體結構


    9.3服務器端


    9.3.1運行效果圖


    9.3.2類結構示意圖


    9.3.3代碼實現


    9.4客戶端


    9.4.1運行效果圖


    9.4.2類結構示意圖


    9.4.3代碼實現


     

    前言
    前言
     在每一個重要的知識點上,以“what、why、how”的方式講解。在講是什麼(what)問題的時候,多做比喻、多講故事、多畫圖。讓同學們首先有感性認識,再落腳到程序代碼層面,讓學習的過程從感性認識到理性認識再到量化實現。在講原理(why)的時候,盡量深入透徹,這是對於同學們非常重要的要求。我常和我的學生們說,清楚原理纔能做出優秀的程序。後落實到how的問題,即使用的問題。
     全書貫穿一個實例,把大學教學常使用的“圖書管理繫統”作為實例,從第1章開始,安排在每一章的後一節。縱向,各章承前啟後,層層遞進,從簡單的控制臺、一個類圖書管理繫統→控制臺、多個類的圖書管理繫統→合理的數據結構、代碼設計的圖書管理繫統→帶數據庫的圖書管理繫統→有漂亮界面的圖書管理繫統→帶網絡連接的圖書管理繫統→帶多線程、多客戶端可以並行的圖書管理繫統。後,將圖書管理繫統稍作修改,實現了一個簡單的QQ程序。橫向,對於每一章,後一節的實例也是對本章學習內容的總結和實踐。

    前言


    本書是為大學本專科Java程序設計課程準備的教材。本書的編寫受到我上一本教材《Android程序設計教程》的激勵。沒想到上一本教材出版後,會有那麼多高校和同學一直在使用,這給了我很大的激勵,於是鼓起勇氣堅持就我負責的Java繫列另外兩門課寫出相應的教材,即《Java程序設計教程》《Java Web程序設計教程》,希望能夠幫到更多的同學。筆者總結了多年來的教學和工程經驗,力爭使本教材達到以下學習目標。
     在每一個重要的知識點上,以“what、why、how”的方式講解。在講是什麼(what)問題的時候,多做比喻、多講故事、多畫圖。讓同學們首先有感性認識,再落腳到程序代碼層面,讓學習的過程從感性認識到理性認識再到量化實現。在講原理(why)的時候,盡量深入透徹,這是對於同學們非常重要的要求。我常和我的學生們說,清楚原理纔能做出優秀的程序。後落實到how的問題,即使用的問題。
     全書貫穿一個實例,把大學教學常使用的“圖書管理繫統”作為實例,從第1章開始,安排在每一章的後一節。縱向,各章承前啟後,層層遞進,從簡單的控制臺、一個類圖書管理繫統→控制臺、多個類的圖書管理繫統→合理的數據結構、代碼設計的圖書管理繫統→帶數據庫的圖書管理繫統→有漂亮界面的圖書管理繫統→帶網絡連接的圖書管理繫統→帶多線程、多客戶端可以並行的圖書管理繫統。後,將圖書管理繫統稍作修改,實現了一個簡單的QQ程序。橫向,對於每一章,後一節的實例也是對本章學習內容的總結和實踐。
     我們根據多年來教學經驗,針對教學中學生實際存在的問題,在本書的實例中用簡單的方式融彙了面向對像、數據結構、數據庫、網絡編程、多線程、通信協議、程序結構、常用設計模式等同學們在前期課程中學習過,但在實際運用中不一定能掌握的重要知識點。我們的初衷是希望本書不僅僅是一門Java程序的教材,更希望同學們通過這門課程的學習,對整個本科階段的重要課程進行整理,以點帶面,啟發同學們的學習熱情。如在網絡編程一章,我們首先從幾個基本的網絡問題講起。這樣做的目的是盡可能地深入淺出,融會貫通,同時保證大部分幾乎零基礎的同學都能學會。這種編寫方式也是我們在實際教學中采用的授課方式。
     本書主要作為本科教材,因此這不是一本很厚的、面面俱到的Java書,而且我們認為本科的教學本身也應該是啟發式的教學。我在課堂上常要求同學們大學期間在專業課學習上做到三點:(1)扎實的專業基礎知識;(2)良好的英文讀寫水平;(3)快速掌握陌生知識。通過課堂上有限授課時間和學期內有限的課程學習,同學們打好基礎,掌握學習方法,相信有興趣的同學自然會“自學長纔”,我想這也是大學學習的要領。也是基於這個想法,這本教材講到的知識都是重要、基礎的問題,因此在書中沒有要求Java版本問題。
     為了配合教學和同學們自學,本書提供了配套教學的PPT和所有章節的源代碼。讀者可到清華大學出版社網站進行下載。


     


    本書的寫作工作是由我們實驗室三位老師共同完成的,幾位作者都是長期在Java領域從事理論教學、工程實踐、項目合作的老師。我們的想法是通過我們的努力,以開放的心態,能夠幫助更多的希望學習Java的同學。
    整個書稿從開始有創作想法到後出版,前前後後修改了幾十稿,光我們實驗室打印機的墨盒就換了兩塊,反復打印、修改。寫書真的既是技術活又是體力活,把上課時講授的知識點變成文字是個巨大的工程。誠然,即便是我們非常努力完善書稿,但由於我們水平有限和時間倉促,本書可能還會有這樣或那樣的問題,懇請讀者批評指正。我們希望本書的第二版、第三版等不僅是內容的更新,還會加入更多有趣的知識點。
    後,感謝我的家人對我工作的支持,感謝實驗室的前輩、同事對我工作一直給力地支持,感謝實驗室的同事和我一起討論、拼搏的美好時光。
    本書的完成得到重慶市重點研發項目(No.cstc2017zdcyzdyfx0002,cstc2017zdcyzdyfx0092)、重慶市基礎科學與前沿技術研究項目(No.cstc2017jcyjAX0099)和重慶研究生教育教學改革研究項目(No.No.yjg183081)資助。
    編者


    2019年4月

    在線試讀
    第5章數據存儲
    本章中,我們將了解如何進行讀取和存儲數據、數據存儲的不同形式及其所涉及的相關知識,由此我們便能夠分辨出它們的優缺點。
    5.1本 章 任 務
    理論任務: 了解I/O的基本概念,對於文件繫統有基本認識,學會使用JDBC連接數據庫,並對數據庫中的數據進行存儲和讀取,同時學習MVC設計模式,將編寫的程序代碼按照MVC設計模式進行重構。
    實踐任務: 在之前的章節中,booklist中的內容都是存儲在內存中的,不能保證數據的長期存儲。在這一章中,我們將會把數據存儲在硬盤中,通過文件或者數據庫的形式對數據進行長期保存,保證數據不丟失。同時,我們將講解MVC的設計模式,並對之前的代碼進行重構,將顯示內容、數據操作類、控制類進行分類和歸類,降低程序耦合度,以便提高開發效率、方便代碼維護。
    5.2IO
    IO(輸入輸出)在Java及眾多編程語言中都是極其重要的一部分,在Java中,輸入輸出主要采用數據流的方式實現,在本節中,我們將講解基本的輸入輸出方法。
    5.2.1基本IO
    正如2.7節中提到的,按照標準的I/O模型,Java提供了System.in、System.out進行輸入輸出操作,在使用過程中,因為System.out被包裝,我們可以直接使用,但是System.in是一個沒有被包裝過的InputStream,所以在使用過程中,我們需要自己包裝System.in。並且在其使用過程中,通常我們使用readline()一次一行讀取數據,但是在實際操作中,除了對數據進行一行一行的讀取,我們還可能對數據進行數組的存儲或者字符的截取。這時,我們會發現,針對不知道長度或者大小的輸入,我們的操作會變得困難而復雜,所以在下節中,我們將會講解更方便的IO操作。
    5.2.2更好用的IO
    Java的輸入輸出功能都是基於類庫java.io包來實現,java.io庫提供了全面的IO接口,並且Java中IO是以流為基礎的。流是什麼呢?流是一組有順序的,有起點和終點的字節集合,當程序需要讀取數據的時候,就會開啟一個通向數據源的流,Java將來自不同源和目標的數據統一抽像為數據流。

    第5章數據存儲


     



    本章中,我們將了解如何進行讀取和存儲數據、數據存儲的不同形式及其所涉及的相關知識,由此我們便能夠分辨出它們的優缺點。
    5.1本 章 任 務
    理論任務: 了解I/O的基本概念,對於文件繫統有基本認識,學會使用JDBC連接數據庫,並對數據庫中的數據進行存儲和讀取,同時學習MVC設計模式,將編寫的程序代碼按照MVC設計模式進行重構。
    實踐任務: 在之前的章節中,booklist中的內容都是存儲在內存中的,不能保證數據的長期存儲。在這一章中,我們將會把數據存儲在硬盤中,通過文件或者數據庫的形式對數據進行長期保存,保證數據不丟失。同時,我們將講解MVC的設計模式,並對之前的代碼進行重構,將顯示內容、數據操作類、控制類進行分類和歸類,降低程序耦合度,以便提高開發效率、方便代碼維護。
    5.2IO
    IO(輸入輸出)在Java及眾多編程語言中都是極其重要的一部分,在Java中,輸入輸出主要采用數據流的方式實現,在本節中,我們將講解基本的輸入輸出方法。
    5.2.1基本IO
    正如2.7節中提到的,按照標準的I/O模型,Java提供了System.in、System.out進行輸入輸出操作,在使用過程中,因為System.out被包裝,我們可以直接使用,但是System.in是一個沒有被包裝過的InputStream,所以在使用過程中,我們需要自己包裝System.in。並且在其使用過程中,通常我們使用readline()一次一行讀取數據,但是在實際操作中,除了對數據進行一行一行的讀取,我們還可能對數據進行數組的存儲或者字符的截取。這時,我們會發現,針對不知道長度或者大小的輸入,我們的操作會變得困難而復雜,所以在下節中,我們將會講解更方便的IO操作。
    5.2.2更好用的IO
    Java的輸入輸出功能都是基於類庫java.io包來實現,java.io庫提供了全面的IO接口,並且Java中IO是以流為基礎的。流是什麼呢?流是一組有順序的,有起點和終點的字節集合,當程序需要讀取數據的時候,就會開啟一個通向數據源的流,Java將來自不同源和目標的數據統一抽像為數據流。
    在Java的IO操作中,對流的操作分為讀和寫兩種。根據流的運動方向,我們將流分為輸入流和輸出流,這裡的輸入輸出都是以計算機內存為參照物的,所以,從鍵盤等外設流入計算機內存的數據序列稱為輸入流,反之,從計算機內存流出的數據序列稱為輸出流。
    Java按素的基本類型,將數據流分為字節流和字符流。以字節為單位傳輸數據的流稱為字節流; 以字符為單位傳輸數據的流稱為字符流。根據功能的不同,又將流分為節點流和處理流。直接從數據源讀寫數據的流為節點流; 從其他的流上進行數據處理的流為處理流。Java中所有的流類型分別繼承四種抽像流類,如表51所示。



    表51四種抽像輸入輸出流


     



    字節流
    字符流
    輸入流
    InputStream
    Reader
    輸出流
    OutputStream
    Write


    在本節中我們將根據流的分類從輸入和輸出方面講解更好用的IO。
    1. 輸入流
    在Java中,把能夠讀取一個字節序列的對像稱為字節輸入流,把能夠寫一個字節的對像稱為字節輸出流。
    輸入流又分為字節輸入流和字符輸入流,這兩個類下又分為多個類,其中,字節輸入流依靠InputStream類及其子類實現,字符輸入流由Reader類及其子類實現。
    (1) InputStream類
    InputStream類是一個抽像類,是所有基於字節的輸入流的超類,InputStream類的定義如下。



    public abstract class InputStream implements Closeable;


    可以看出,InputStream抽像類繼承了Closeable類,由於InputStream作為一個抽像類,不能用new創造實例,所以對字節輸入流的操作,都是由它的子類對像完成,它的子類結構如圖51所示。


     


    圖51InputStream類的派生類



    從圖51中,我們可以看到,字節輸入流根據類型和操作方式不同,劃分了不同的子類,其中我們主要講解文件字節輸入流(FileInputStream)。
    FileInputStream可以從文件繫統中的某個文件中獲得輸入字節,簡單地說,就是用於讀取本地文件中的字節數據,FileInputStream類的構造函數主要有以下三種。
     FileInputStream(File flie): 以file指定的文件對像創建文件輸入流。
     FileInputStream(FileDescriptor fdObj): 以fdObj指定的文件描述對像創建文件輸入流。
     FileInputStream(String name): 以字符串name指定的文件名創建文件輸入流。
    可以看到,三個構造函數的區別隻是參數的不同,所以FileInputStream構造方法可以接受字符串、file對像。其次,它的構造函數在使用的時候需要指定文件的來源,FileInputStream類的常用方法如表52所示。



    表52FileInputStream類的常用方法

















     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部