




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 Android系統(tǒng)概述小節(jié)安排Android系統(tǒng)概述1.1、基礎(chǔ)知識(shí) 1.2、Android系統(tǒng) 1.1 基礎(chǔ)知識(shí) 智能手機(jī)系統(tǒng)簡(jiǎn)介 智能手機(jī)(Smartphone ),是指像個(gè)人電腦一樣,具有獨(dú)立的操作系統(tǒng),可以由用戶自行安裝軟件、 游戲等第三方服務(wù)商提供的程序,通過此類程序?qū)κ謾C(jī)的功能進(jìn)行擴(kuò)充,并可以通過移動(dòng)通信網(wǎng)絡(luò)實(shí)現(xiàn)無線網(wǎng)絡(luò)接入的手機(jī)的總稱。 智能手機(jī)就是安裝了某個(gè)操作系統(tǒng)的手機(jī),能夠安裝在手機(jī)上的操作系統(tǒng)有:Android, iOS, Windows Mobile, Symbian, BlackBerry, Palm等。 常見的智能手機(jī)操作系統(tǒng)android(谷歌) ios(
2、蘋果) wp(微軟)黑莓(rim) bada(三星)oms(移動(dòng))41.1 基礎(chǔ)知識(shí)-手機(jī)操作系統(tǒng)介紹AndroidAndroid是Google開發(fā)的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)。涵蓋移動(dòng)信息設(shè)備工作所需的全部軟件,包括操作系統(tǒng)用戶界面應(yīng)用程序正在逐漸成為目前移動(dòng)信息設(shè)備應(yīng)用程序開發(fā)的最主要的平臺(tái),而且必將成為今后移動(dòng)信息設(shè)備應(yīng)用程序開發(fā)的主流工具。 1.1 基礎(chǔ)知識(shí)-手機(jī)操作系統(tǒng)介紹SymbianSymbian是一家軟件公司,研發(fā)與授權(quán)Symbian操作系統(tǒng)。Symbian將代表全球行業(yè)標(biāo)準(zhǔn)的Symbian OS操作系統(tǒng),授權(quán)給全球手機(jī)領(lǐng)導(dǎo)廠商使用,包括摩托羅拉、諾基亞、三星、西門子
3、與索尼愛立信。 通過Symbian OS C+ SDK構(gòu)建應(yīng)用。 Symbian OS C+ SDK包含:工具應(yīng)用程序接口類庫(kù)和文檔1.1 基礎(chǔ)知識(shí)-手機(jī)操作系統(tǒng)介紹iPhoneiPhone由蘋果公司的Mac OS X發(fā)展而成,包含以下功能:網(wǎng)絡(luò)桌面級(jí)的電子郵件網(wǎng)頁(yè)瀏覽及地圖搜索等功能全新的用戶界面采用Object-c做為開發(fā)語(yǔ)言,其中Object-c的內(nèi)核是C語(yǔ)言的,并基于C語(yǔ)言實(shí)現(xiàn)了一些面向?qū)ο蟮奶匦浴?1.1 基礎(chǔ)知識(shí)-手機(jī)操作系統(tǒng)介紹BlackBerryBlackBerry (黑莓)是RIM公司的手提無線通信設(shè)備品牌。其特色是支援推動(dòng)式電子郵件、移動(dòng)電話、文字短信、互聯(lián)網(wǎng)傳真、網(wǎng)頁(yè)瀏覽
4、及其他無線資訊服務(wù)。BlackBerry開發(fā)平臺(tái)分為三部分,分別是:黑莓瀏覽器開發(fā)快速程序開發(fā)Java程序開發(fā)9智能系統(tǒng)對(duì)比及Android的優(yōu)勢(shì) 目前主要的智能操作系統(tǒng)還有Windows Mobile、Symbian、Mac OS X(蘋果 iPhone)等。以下為各主要智能系統(tǒng)的主要使用廠商及主要特點(diǎn)對(duì)比:操作系統(tǒng)主要使用廠商主要特點(diǎn)Windows Mobile (微軟)三星、多普達(dá)、 LG 界面和電腦類似,消費(fèi)者容易接受、可供下載的內(nèi)容少,不易個(gè)性化 Symbian (塞班) 諾基亞、三星、索愛 發(fā)展時(shí)間長(zhǎng),成熟度高,累計(jì)軟件眾多,擴(kuò)展性差,不適應(yīng)硬件快速發(fā)展 MAC OS (蘋果) 蘋
5、果 操作界面華麗,各版本兼容性好,品牌魅力強(qiáng)大,軟件收費(fèi)昂貴Android(安卓) 摩托羅拉、HTC、三星、LG 發(fā)展速度快,免費(fèi)軟件多,界面?zhèn)€性化程度高,整體保有量上升迅速,有快速形成消費(fèi)者使用習(xí)慣的趨勢(shì)小節(jié)安排Android系統(tǒng)概述1.1、基礎(chǔ)知識(shí) 1.2、Android系統(tǒng) Android歷史The origin of “android” Android最先出現(xiàn)在法國(guó)作家利爾亞當(dāng)在1886年發(fā)表的科幻小說未來夏娃中,作者將外表像人類的機(jī)器起名為Android,這也就是Android小人名字的由來。Android系統(tǒng)來歷 Android系統(tǒng)一開始并不是由谷歌研發(fā)出來了,Android系統(tǒng)原
6、來的公司名字就叫做Android,谷歌公司在2005收購(gòu)了這個(gè)僅成立22月的高科技企業(yè)。Android歷史12Android 用甜點(diǎn)作為它們系統(tǒng)版本的代號(hào)的命名,從Andoird 1.5 發(fā)布開始,作為每個(gè)版本代表的甜點(diǎn)的尺寸越變?cè)酱?,并按?6個(gè)字母數(shù)序:紙杯蛋糕(Cupcake 1.5),甜甜圈(Donut 1.6),松餅(clair 2.0/2.1),凍酸奶(Froyo 2.2),姜餅(Gingerbread 2.3),蜂巢(Honeycomb 3.0)冰激凌三明治(Ice Cream Sandwich 4.0) 果凍豆(Jelly Bean 4.1)最新一代android系統(tǒng)也命名為果
7、凍豆(Jelly Bean 4.2)下面就帶大家了解下Android系統(tǒng)的發(fā)展歷史 13Android1.1 Robot(機(jī)器人)Android 1.5 Cupcake(紙杯蛋糕) Android 1.6Donut(甜甜圈)Android2.0/2.0.1/2.1Eclair(松餅) Android 2.2/2.2.1Froyo(凍酸奶)Android 2.3Gingerbread(姜餅)Android 3.0Honeycomb(蜂巢)Android 4.0 Ice Cream Sandwich(冰激凌三明治) Android 4.1 Jelly Bean(果凍豆)Android 4.2 Je
8、lly Bean(果凍豆)Android歷史Android 優(yōu)勢(shì)Android 優(yōu)勢(shì)系統(tǒng)的開放性和免費(fèi)性Android操作系統(tǒng)免費(fèi)向開發(fā)人員提供 Android采用WebKit瀏覽器引擎,比iPhone等其他手機(jī)更強(qiáng)調(diào)搜索功能,界面更強(qiáng)大。 相關(guān)廠商的大力支持從組建開放手機(jī)聯(lián)盟開始,Google一直向服務(wù)提供商、芯片廠商和手機(jī)銷售商提供Android平臺(tái)的技術(shù)支持。Android項(xiàng)目目前正在從手機(jī)運(yùn)營(yíng)商、手機(jī)制造廠商、開發(fā)者和消費(fèi)者那里獲得大力支持。2013 Q1 智能手機(jī)操作系統(tǒng)市場(chǎng)份額1516Android 面臨的挑戰(zhàn)Android 面臨的挑戰(zhàn)Android系統(tǒng)在技術(shù)上仍有許多需要完善的地
9、方不支持桌面同步功能自身系統(tǒng)的一些bugAndroid由開放手機(jī)聯(lián)盟去開發(fā)、維護(hù)、完善。是否會(huì)重蹈當(dāng)年Linux和Windows之爭(zhēng)的覆轍?與Windows Mobile、iPhone、Blackberry都會(huì)與Android的競(jìng)爭(zhēng)。結(jié)束Thank you!第二章 Android開發(fā)基礎(chǔ)小節(jié)安排AndroId開發(fā)基礎(chǔ)2.1、Android技術(shù)簡(jiǎn)介 2.3、編寫第一個(gè)Android應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 2.4、剖析Android應(yīng)用程序 2.3、編寫第一個(gè)Android應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 系統(tǒng)架構(gòu)1.應(yīng)用程序 Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包
10、包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語(yǔ)言編寫。2.應(yīng)用程序框架 開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡(jiǎn)化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。3.系統(tǒng)運(yùn)行庫(kù) Android 包含一些C/C+庫(kù),這些庫(kù)能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。4. Linux 內(nèi)核 Android 的核心
11、系統(tǒng)服務(wù)依賴于Linux 2.6 內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理, 網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。Linux 內(nèi)核也同時(shí)作為硬件和軟件棧之間的抽象層。系統(tǒng)架構(gòu)系統(tǒng)架構(gòu)小節(jié)安排AndroId開發(fā)基礎(chǔ)2.1、Android技術(shù)簡(jiǎn)介 2.3、編寫第一個(gè)Android應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 2.4、剖析Android應(yīng)用程序 2.3、編寫第一個(gè)Android應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 開發(fā)環(huán)境的搭建 JDK(Java Development Kit)EclipseADT(AndroidDevelopmentToolkit)Android SDK24* Android開發(fā)軟硬件要求安裝JDK
12、和配置Java開發(fā)環(huán)境Android應(yīng)用程序使是用Java語(yǔ)言編寫,需要Java運(yùn)行環(huán)境JRE(Java Runtime Environment,JRE)。但若需要進(jìn)行一步完成Java應(yīng)用程序開發(fā)的話,則應(yīng)直接安裝JDK。而JDK中包含了JRE。下載最新版JDK打開瀏覽器,在地址欄中輸入: /index.html 進(jìn)入Oracle的官方主頁(yè)*安裝JDK*Java開發(fā)環(huán)境的配置*Eclipse的安裝Eclipse的下載頁(yè)面:/downloads*Eclipse安裝*Android SDK和ADT插件的安裝和配置Android SDK安裝*Android SDK的安裝過程*Android SDK配
13、置*安裝和配置ADT 在Eclipse和Android SDK正確安裝后,就可以來安裝和配置ADT插件了。ADT的安裝分為在線安裝和手動(dòng)安裝兩種方式。在線安裝步驟啟動(dòng)Eclipse,點(diǎn)擊“help”菜單,選擇“Install New Software”*離線安裝步驟訪問/tools/sdk/eclipse-adt.html獲取當(dāng)前最新版本的ADT Eclipse離線安裝包在Eclipse中,點(diǎn)擊“help”菜單,選擇“Install New Software”*ADT的配置:設(shè)置Android SDK的安裝路徑*小節(jié)安排AndroId開發(fā)基礎(chǔ)2.1、Android技術(shù)簡(jiǎn)介 2.3、編寫第一個(gè)A
14、ndroid應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 2.4、剖析Android應(yīng)用程序 2.3、編寫第一個(gè)Android應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 Android項(xiàng)目創(chuàng)建和運(yùn)行 在這里介紹一個(gè)最簡(jiǎn)單的實(shí)例項(xiàng)目Hello world的創(chuàng)建和運(yùn)行過程。使大家能夠在安裝完成Android開發(fā)環(huán)境后能夠?qū)ndroid應(yīng)用程序開發(fā)的整個(gè)過程有所了解,并能親自動(dòng)手創(chuàng)建和管理自己的應(yīng)用項(xiàng)目。*創(chuàng)建Android項(xiàng)目1)打開Eclipse開發(fā)工具,新建一個(gè)項(xiàng)目創(chuàng)建Android項(xiàng)目2)點(diǎn)擊“Next”按鈕,輸入新建項(xiàng)目參數(shù)創(chuàng)建Android項(xiàng)目3)單擊“Next”按鈕,設(shè)置Activity的名字和Custo
15、m Launcher Icon*模擬器創(chuàng)建和Android項(xiàng)目運(yùn)行Google公司從Android 1.5開始引入了Android虛擬設(shè)備(Android Virtual Device,AVD)的概念,它是一個(gè)經(jīng)過配置的模擬器。AVD是對(duì)Android模擬器進(jìn)行自定義的配置清單,創(chuàng)建AVD時(shí)可以配置的選項(xiàng)包括:模擬器外觀、支持的Android版本、觸摸屏、軌跡球、攝像頭、屏幕分辨率、鍵盤、GSM、GPS、Audio錄放、SD卡支持、緩存區(qū)大小等等。*1)在Eclipse中選擇“Windows”“Android Visual Device Manager”模擬器創(chuàng)建和Android項(xiàng)目運(yùn)行*2)
16、點(diǎn)擊左邊的“Virtual Devices”選項(xiàng),再點(diǎn)擊右邊的“New.”按鈕模擬器創(chuàng)建和Android項(xiàng)目運(yùn)行*運(yùn)行我們第一個(gè)Android項(xiàng)目配置項(xiàng)目運(yùn)行的AVD。操作步驟如下:點(diǎn)擊“Run”,選擇“Run Configurations”菜單命令,打開“Run Configurations”對(duì)話框*運(yùn)行我們第一個(gè)Android項(xiàng)目在打開的“Run Configurations”對(duì)話框左邊的導(dǎo)航器中選擇的“Android Application”選項(xiàng),創(chuàng)建一個(gè)Android項(xiàng)目運(yùn)行配置。*運(yùn)行我們第一個(gè)Android項(xiàng)目點(diǎn)擊“Target”選項(xiàng)卡,選擇“Automatically”單選框,在
17、AVD列表框中選擇我們剛才創(chuàng)建的AVD“abc”*小節(jié)安排AndroId開發(fā)基礎(chǔ)2.1、Android技術(shù)簡(jiǎn)介 2.3、編寫第一個(gè)Android應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 2.4、剖析Android應(yīng)用程序 2.3、編寫第一個(gè)Android應(yīng)用程序 2.2、開發(fā)環(huán)境的搭建 *剖析Android應(yīng)用程序 Android項(xiàng)目工作區(qū)概覽*第部分:表示專門存放我們編寫的 java 源代碼的包;第部分:代表系統(tǒng)資源ID,類似于C語(yǔ)言的*.h文件,該目錄不用開發(fā)人員維護(hù),但又非 常重要的目錄。該目錄用來存放由 Android 開發(fā)工具所生成的目錄。該目錄下的所有文件都不是我們創(chuàng)建的,而是由 ADT
18、自動(dòng)生成的,請(qǐng)千萬(wàn)不要手工修改R.java文件;第部分:Android4.2表示當(dāng)前SDK是4.2,是目前最新版本;第部分:表示資源文件,其中l(wèi)ayout布局你可以認(rèn)為就是界面第部分:每一個(gè)Android項(xiàng)目都包含一個(gè)清單(Manifest)文件-AndroidManifest.xml,它存儲(chǔ)在項(xiàng)目層次中的最底層,該文件是功能清單文件,該文件列出了應(yīng)用中所使用的所有組件,如“activity”,以及廣播接收者、服務(wù)等組件,清單可以定義應(yīng)用程序及其組件的結(jié)構(gòu)和元數(shù)據(jù)。Android項(xiàng)目的組成1、src文件夾 該文件夾是放項(xiàng)目源代碼的,單擊前面的“+”,可逐層展開它,里面有個(gè)MainActivit
19、y.java文件,是Activity程序,類似于java中的主類。可以理解為它是一個(gè)UI的容器,直接跟用戶打交道的類。Android項(xiàng)目的組成2、gen文件夾 該文件夾中存放所有由Android開發(fā)工具自動(dòng)生成的文件。目錄中最重要的就是R.java文件,這個(gè)文件由Android開發(fā)工具自動(dòng)生成。Android開發(fā)工具會(huì)根據(jù)你放入res目錄的xml界面文件、圖標(biāo)以及常量,自動(dòng)同步更新修改R.java文件。這個(gè)文件是只讀文件,一般不要修改它。Android項(xiàng)目的組成3、Android 4.2.2 表示現(xiàn)在使用的Android SDK的版本是4.2.2。4、assets 包含應(yīng)用系統(tǒng)需要使用到的資源
20、文件,諸如mp3、視頻等較大的文件。注意它不會(huì)在R.java中自動(dòng)生成ID。Android項(xiàng)目的組成5、res文件夾 資源目錄,包含你項(xiàng)目中的資源文件并將編譯進(jìn)應(yīng)用程序。向此目錄添加資源時(shí),會(huì)被R.java自動(dòng)記錄。新建一個(gè)項(xiàng)目res目錄下會(huì)有三個(gè)自動(dòng)生成的子目錄:drawabel、layout、values。 Android項(xiàng)目的組成1)drawabel-?dpi:包含一些你的應(yīng)用程序用到圖標(biāo)文件(*.png、*.jpg),hdpi表示存放大約240dpi的高分辨率的圖片資料,ldpi表示存放大約120dpi的低分辨率圖片資料,mdpi表示存放大約160dpi的中等分辨率的圖片資料,xhdp
21、i表示存放大約320dpi的超高分辨率的圖片資料。2)menu目錄:主要放置設(shè)計(jì)的OptionsMenu和ContextMneu的菜單項(xiàng)。3)layout:存放界面布局文件(activity_main.xml),界面布局文件主要用于擺放不同的顯示組件。在MainActivity.java中通過 setContentView(R.layout.activity_main)語(yǔ)句來調(diào)用布局文件activity_main.xml。 Android項(xiàng)目的組成6、AndroidManifest.xml 每個(gè)應(yīng)用程序都有一個(gè)AndroidManifest.xml在它的根目錄里。這個(gè)文件提供了關(guān)于這個(gè)應(yīng)用程序
22、的基本信息,記錄應(yīng)用中所使用的各種組件。系統(tǒng)在運(yùn)行之前必須知道這些信息。今后要開發(fā)Activity、Broadcast、Service都要在AndroidManifest.xml中進(jìn)行定義。另外如果要使用系統(tǒng)自帶的服務(wù)如撥號(hào)服務(wù)、應(yīng)用安裝服務(wù)、GPRS服務(wù)等都必須在AndroidManifest.xml中聲明權(quán)限。當(dāng)你新添加一個(gè)Activity的時(shí)候,也需要在這個(gè)文件中進(jìn)行相應(yīng)配置,只有配置好后,才能調(diào)用此Activity。* Android項(xiàng)目分析1、布局文件(reslayoutactivity_main.xml)雙擊“reslayoutactivity_main.xml”打開布局文件。注意
23、代表布局文件圖形界面;代表布局文件代碼界面。* Android項(xiàng)目分析2、strings文本資源文件(resvaluesstrings.xml)雙擊“resvaluesstrings.xml”打開文本資源文件。與布局文件一樣:代表文本資源圖形界面;代表文本資源代碼界面。 * Android項(xiàng)目分析3、R.java文件(gen/com.genwoxue.hello/R.java)雙擊“gen/com.genwoxue.hello/R.java”打開資源ID文件。* Android項(xiàng)目分析4、AndroidManifest.xml文件* Android項(xiàng)目分析5、MainActivity.java
24、(src/com.genwoxue.hello/MainActivity.java) 雙擊“src/com.genwoxue.hello/MainActivity.java”程序文件。Android模擬器啟動(dòng)和運(yùn)行效果*結(jié)束Thank you!第三章 Java程序設(shè)計(jì)基礎(chǔ)小節(jié)安排Java程序設(shè)計(jì)基礎(chǔ) 3.1、Java產(chǎn)生的歷史與現(xiàn)狀2.2、開發(fā)環(huán)境的搭建 3.2、 Java的特點(diǎn) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.3、Java的工作原理 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.6、面向?qū)ο髴?yīng)用綜合開發(fā)實(shí)例 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.4、 Java基礎(chǔ)語(yǔ)法 3.2、 Java的特
25、點(diǎn) Java語(yǔ)言的發(fā)展史JAVA起源:1982年Sun Microsystems誕生于美國(guó)斯坦福大學(xué)校園1990年一切從James Gosling準(zhǔn)備離職開始JAVA之父 James Gosling綠色小組誕生Java語(yǔ)言的發(fā)展史JAVA起源(二):綠色小組的研究方向和Oak語(yǔ)言的產(chǎn)生JAVA名稱的由來Java語(yǔ)言的發(fā)展史JAVA起源(三):綠色小組辛勤工作,但努力并未得到回報(bào)1995年初,”硅谷-好萊塢”互聯(lián)網(wǎng)及娛樂業(yè)的研討會(huì)上,JAVA成為了明星2000-2001年Sun最興盛時(shí),股票峰值曾達(dá)258.75美元/股,公司估價(jià)超過2000億美金Java的現(xiàn)狀 *Java是Sun公司推出的新的一
26、代面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,特別適合于Internet應(yīng)用程序開發(fā),它的平臺(tái)無關(guān)性直接威脅到Wintel的壟斷地位。 Sun在JAVA“白皮書”中指出: JAVA是一種“簡(jiǎn)單、面向?qū)ο蟆⒎植际?、解釋型、健壯、安全、體系結(jié)構(gòu)中立、可移植、高性能和動(dòng)態(tài)”的編程語(yǔ)言Bill Gates說,Java是最卓越的程序設(shè)計(jì)語(yǔ)言 Java的現(xiàn)狀 *1.計(jì)算機(jī)產(chǎn)業(yè)的許多大公司購(gòu)買了Java的許可證,包括IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情愿的Microsoft。這一點(diǎn)說明,Java已得到了工業(yè)界的認(rèn)可。2.眾多的軟件開發(fā)商開始支持Ja
27、va的軟件產(chǎn)品。例如:Borland公司正在開發(fā)的基于Java的快速應(yīng)用程序開發(fā)環(huán)境Latte,預(yù)計(jì)產(chǎn)品會(huì)在1996年中期發(fā)布。Borland公司的這一舉措,推動(dòng)了Java進(jìn)入PC機(jī)軟件市場(chǎng)。Sun公司自己的Java開發(fā)環(huán)境JavaWorkshop已經(jīng)發(fā)布。數(shù)據(jù)庫(kù)廠商如:Illustra,Sysbase,Versant,Oracle都在開發(fā)CGI接口,支持HTML和Java。今天是以網(wǎng)絡(luò)為中心的計(jì)算時(shí)代,不支持HTML和Java,應(yīng)用程序的應(yīng)用范圍只能限于同質(zhì)的環(huán)境(相同的硬件平臺(tái))。Java的現(xiàn)狀 *3. Intranet正在成為企業(yè)信息系統(tǒng)最佳的解決方案,而其中Java將發(fā)揮不可替代的作用
28、。Intranet的目的是把Internet用于企業(yè)內(nèi)部的信息系統(tǒng),它的優(yōu)點(diǎn)表現(xiàn)在:便宜,易于使用和管理。用戶不管使用何種類型的機(jī)器和操作系統(tǒng),界面是統(tǒng)一的Intrnet瀏覽器,而數(shù)據(jù)庫(kù)、Web頁(yè)面、應(yīng)用程序(用Java編的Applet)則存在WWW服務(wù)器上,無論是開發(fā)人員,還是管理人員,或是用戶都可以受益于該解決方案。Java語(yǔ)言正在不斷發(fā)展和完善,Sun公司是主要的發(fā)展推動(dòng)者,較通用的編譯環(huán)境有JDK(JavaDevelopKit)與JWS(JavaWorkshop)。還有很多其他公司正在開發(fā)Java語(yǔ)言的編譯器與集成環(huán)境,預(yù)計(jì)不久Java語(yǔ)言的正確性與效率都將會(huì)提高,用戶用Java編程和
29、現(xiàn)在用C+編程一樣方便。小節(jié)安排Java程序設(shè)計(jì)基礎(chǔ) 3.1、Java產(chǎn)生的歷史與現(xiàn)狀2.2、開發(fā)環(huán)境的搭建 3.2、 Java的特點(diǎn) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.3、Java的工作原理 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.6、面向?qū)ο髴?yīng)用綜合開發(fā)實(shí)例 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.4、 Java基礎(chǔ)語(yǔ)法 3.2、 Java的特點(diǎn) Java的特點(diǎn)*Java是一種純面向?qū)ο蟮木W(wǎng)絡(luò)編程語(yǔ)言,它具有如下特點(diǎn):1)簡(jiǎn)單、安全可靠Java是一種強(qiáng)類型的語(yǔ)言,由于它最初設(shè)計(jì)的目的是應(yīng)用于電子類消費(fèi)產(chǎn)品,因此就要求既要簡(jiǎn)單又要可靠。Java的結(jié)構(gòu)類似于C和C+,它汲取了C和C+優(yōu)秀的部
30、分,棄除了許多C和C+中比較繁雜和不太可靠的部分,它略去了運(yùn)算符重載、多重繼承等較為復(fù)雜的部分;它不支持指針,杜絕了內(nèi)存的非法訪問。它所具有的自動(dòng)內(nèi)存管理機(jī)制也大大簡(jiǎn)化了程序的設(shè)計(jì)與開發(fā)。Java主要用于網(wǎng)絡(luò)應(yīng)用程序的開發(fā),網(wǎng)絡(luò)安全必須保證,Java通過自身的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。Java的特點(diǎn)*2)面向?qū)ο驤ava是一種完全面向?qū)ο蟮恼Z(yǔ)言,它提供了簡(jiǎn)單的類機(jī)制以及動(dòng)態(tài)的接口模型,支持封裝、多態(tài)性和繼承(只支持單一繼承)。面向?qū)ο蟮某绦蛟O(shè)計(jì)是一種以數(shù)據(jù)(對(duì)象)及其接口為中心的程序設(shè)計(jì)技術(shù)。也可以說是一種定義程序模塊如何“即插即用”的機(jī)制。面向?qū)ο蟮母拍钇鋵?shí)
31、來自于現(xiàn)實(shí)世界,在現(xiàn)實(shí)世界中,任一實(shí)體都可以看作是一個(gè)對(duì)象,而任一實(shí)體又歸屬于某類事物,因此任何一個(gè)對(duì)象都是某一類事物的一個(gè)實(shí)例。在Java中,對(duì)象封裝了它的狀態(tài)變量和方法(函數(shù)),實(shí)現(xiàn)了模塊化和信息隱藏;而類則提供了一類對(duì)象的原型,通過繼承和重載機(jī)制,子類可以使用或者重新定義父類或者超類所提供的方法,從而實(shí)現(xiàn)了代碼的復(fù)用。Java的特點(diǎn)*3)分布式計(jì)算Java為程序開發(fā)者提供了有關(guān)網(wǎng)絡(luò)應(yīng)用處理功能的類庫(kù)包,程序開發(fā)者可以使用它非常方便地實(shí)現(xiàn)基于TCP/IP的網(wǎng)絡(luò)分布式應(yīng)用系統(tǒng)。Java的特點(diǎn)*4)平臺(tái)的無關(guān)性Java是一種跨平臺(tái)的網(wǎng)絡(luò)編程語(yǔ)言,是一種解釋執(zhí)行的語(yǔ)言。Java源程序被Java編
32、譯器編譯成字節(jié)碼(Byte-code)文件,Java字節(jié)碼是一種“結(jié)構(gòu)中立性”(architecture neutral)的目標(biāo)文件格式,Java虛擬機(jī)(JVM)和任何Java-使能的Internet瀏覽器都可執(zhí)行這些字節(jié)碼文件。在任何不同的計(jì)算機(jī)上,只要具有Java虛擬機(jī)或Java使能的Internet瀏覽器即可運(yùn)行Java的字節(jié)碼文件,不需重新編譯(當(dāng)然,其版本向上兼容)。實(shí)現(xiàn)了程序員夢(mèng)寐以求的“一次編程、到處運(yùn)行”(write once,run every where!)的夢(mèng)想。Java的特點(diǎn)*5) 多線程Java的多線程(multithreading)機(jī)制使程序可以并行運(yùn)行。線程是操作
33、系統(tǒng)的一種新概念,它又被稱作輕量進(jìn)程,是比傳統(tǒng)進(jìn)程更小的可并發(fā)執(zhí)行的單位。Java的同步機(jī)制保證了對(duì)共享數(shù)據(jù)的正確操作。多線程使程序設(shè)計(jì)者可以在一個(gè)程序中用不同的線程分別實(shí)現(xiàn)各種不同的行為,從而帶來更高的效率和更好的實(shí)時(shí)控制性能。Java的特點(diǎn)*6) 動(dòng)態(tài)的一個(gè)Java程序中可以包含其他人寫的多個(gè)模塊,這些模塊可能會(huì)遇到一些變化,由于Java在運(yùn)行時(shí)才把它們連接起來,這就避免了因模塊代碼變化而引發(fā)的錯(cuò)誤。 Java的特點(diǎn)*7) 可擴(kuò)充的Java發(fā)布的J2EE標(biāo)準(zhǔn)是一個(gè)技術(shù)規(guī)范框架,它規(guī)劃了一個(gè)利用現(xiàn)有和未來各種Java技術(shù)整合解決企業(yè)應(yīng)用的遠(yuǎn)景藍(lán)圖。正如SUN MicroSystems所述:J
34、ava是簡(jiǎn)單的、面向?qū)ο蟮?、分布式的、解釋的、有活力的、安全的、結(jié)構(gòu)中立的、可移動(dòng)的、高性能的、多線程和動(dòng)態(tài)的語(yǔ)言。Java特點(diǎn)某種意義上來說,Java不僅是編程語(yǔ)言,還是一個(gè)開發(fā)平臺(tái)。Java技術(shù)給程序員提供了許多工具編譯器、解釋器、文檔生成器和文件打包工具等同時(shí)Java還是一個(gè)程序發(fā)布平臺(tái)。兩種主要的“發(fā)布環(huán)境”首先是Java運(yùn)行時(shí)環(huán)境(java runtime environment,簡(jiǎn)稱JRE)包含了完整的類文件包;其次,許多主要的瀏覽器都提供了Java解釋器和運(yùn)行時(shí)環(huán)境。Java特點(diǎn)(三個(gè)平臺(tái)架構(gòu))J2SE(Java 2 Standard Edition):標(biāo)準(zhǔn)版主要目的是為臺(tái)式機(jī)和
35、工作站提供一個(gè)開發(fā)和運(yùn)行的平臺(tái)。包括標(biāo)準(zhǔn)的Java 2 SDK、工具、運(yùn)行時(shí)環(huán)境和API,適用于Java程序設(shè)計(jì)語(yǔ)言編寫、部署和運(yùn)行Applet和應(yīng)用程序的開發(fā)人員,是桌面開發(fā)和低端商務(wù)應(yīng)用的解決方案。J2EE(Java 2 Enterprise Edition):企業(yè)版主要目的是為企業(yè)計(jì)算提供一個(gè)應(yīng)用服務(wù)器的運(yùn)行和開發(fā)平臺(tái)。J2EE本身是一個(gè)開放的標(biāo)準(zhǔn),任何軟件廠商都可以推出自己的符合J2EE標(biāo)準(zhǔn)的產(chǎn)品,通過基于標(biāo)準(zhǔn)化模塊組件和一整套的相關(guān)服務(wù)能夠自動(dòng)處理應(yīng)用程序行為的許多細(xì)節(jié),從而大大簡(jiǎn)化了多層企業(yè)應(yīng)用程序的構(gòu)造和部署。IBM、Oracle、BEA、HP等29家已經(jīng)推出了自己的產(chǎn)品,其中尤
36、以BEA公司的WebLogic產(chǎn)品和IBM公司的WebSphare最為著名。Java特點(diǎn)(三個(gè)平臺(tái)架構(gòu))J2ME(Java 2 Micro Edition):小型版主要是面向消費(fèi)類電子產(chǎn)品,為消費(fèi)類電子產(chǎn)品提供一個(gè)Java的運(yùn)行平臺(tái),使得Java程序能夠在手機(jī)、機(jī)頂盒、PDA等產(chǎn)品上運(yùn)行包含高度優(yōu)化的Java運(yùn)行時(shí)環(huán)境,致力于電子消費(fèi)產(chǎn)品和嵌入式設(shè)備的解決方案。Java特點(diǎn)(三個(gè)平臺(tái)架構(gòu))Java平臺(tái)架構(gòu)J2MEJ2EEJ2SE幾個(gè)Java技術(shù)術(shù)語(yǔ)Java虛擬機(jī)(JVM)用軟件仿真計(jì)算機(jī)硬件JAVA運(yùn)行系統(tǒng)是對(duì)JVM的具體實(shí)現(xiàn),其作用是完成類的裝載、代碼驗(yàn)證和代碼的解釋執(zhí)行;Java應(yīng)用程序編
37、程接口(API)Sun提供的各種常用類和接口(事先寫好的代碼),可供Java程序員直接使用,以減少編程的工作量和難度。類似微軟的基礎(chǔ)類庫(kù)MFC。Java開發(fā)工具包(JDK)Sun提供的java開發(fā)工具包,包含類庫(kù)、編譯運(yùn)行工具等87小節(jié)安排Java程序設(shè)計(jì)基礎(chǔ) 3.1、Java產(chǎn)生的歷史與現(xiàn)狀2.2、開發(fā)環(huán)境的搭建 3.2、 Java的特點(diǎn) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.3、Java的工作原理 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.6、面向?qū)ο髴?yīng)用綜合開發(fā)實(shí)例 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.4、 Java基礎(chǔ)語(yǔ)法 3.2、 Java的特點(diǎn) Java虛擬機(jī) Java虛擬機(jī)其實(shí)是
38、軟件模擬的計(jì)算機(jī),它可以在任何處理器上(無論是在計(jì)算機(jī)中還是在其它電子設(shè)備中)解釋并執(zhí)行字Java的字節(jié)碼文件。Java的字節(jié)碼被稱為Java虛擬機(jī)的機(jī)器碼,它被保存在擴(kuò)展名為.class的文件中。Java的工作原理 Java的工作原理 一個(gè)Java程序的編譯和執(zhí)行過程如圖3-1所示。首先Java源程序需要通過Java編譯器編譯成擴(kuò)展名為.class的字節(jié)碼文件,然后由Java虛擬機(jī)中的Java解釋器負(fù)責(zé)將字節(jié)碼文件解釋成為特定的機(jī)器碼并執(zhí)行。小節(jié)安排Java程序設(shè)計(jì)基礎(chǔ) 3.1、Java產(chǎn)生的歷史與現(xiàn)狀2.2、開發(fā)環(huán)境的搭建 3.2、 Java的特點(diǎn) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.3、Jav
39、a的工作原理 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.6、面向?qū)ο髴?yīng)用綜合開發(fā)實(shí)例 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.4、 Java基礎(chǔ)語(yǔ)法 3.2、 Java的特點(diǎn) Java輸入和輸出方式 Java基礎(chǔ)語(yǔ)法字符界面下的輸入輸出方法 1. 輸入方法格式: System.in.read();功能:該方法的功能是從鍵盤上接受一個(gè)字符,按照byte類型的數(shù)據(jù)處理。若將它轉(zhuǎn)換為字符型,它就是字符本身;若轉(zhuǎn)換為整型,它是擴(kuò)展字符的ASCII碼值(0255)。2. 輸出方法格式1: System.out.print(表達(dá)式);格式2: System.out.println(表達(dá)式);功能:在屏
40、幕上輸出表達(dá)式的值。這兩個(gè)方法都是最常用的方法,兩個(gè)方法之間的差別是,格式1輸出表達(dá)式的值后不換行,格式2在輸出表達(dá)式的值后換行。標(biāo)識(shí)符和關(guān)鍵字 Java基礎(chǔ)語(yǔ)法用戶標(biāo)識(shí)符是程序員對(duì)程序中的各個(gè)元素加以命名時(shí)使用的命名記號(hào)。在Java語(yǔ)言中,標(biāo)識(shí)符是以字母、下劃線(”_”)或美元符(”$”)開始,后面可以跟字母、下劃線、美元符和數(shù)字的一個(gè)字符序列。例如:userName,User_Name,_sys_val,Name,name,$change 等為合法的標(biāo)識(shí)符。而:3mail,room#,#class 為非法的標(biāo)識(shí)符。注意:標(biāo)識(shí)符中的字符是區(qū)分大小寫。例如,Name和name被認(rèn)為是兩個(gè)不同的
41、標(biāo)識(shí)符。問題: 是/不是 標(biāo)識(shí)符?myVariable 9pinsMYVARIABLE i a+ctesting1-2-3_myvariablejava¨My Variable$myvariable _9pins Its標(biāo)識(shí)符的習(xí)慣命名能表達(dá)明確意義的英文單詞命名,并采用規(guī)范的單詞縮寫形式與單詞分隔形式。表示常量時(shí)標(biāo)識(shí)符全部用大寫字母和下劃線表示,如PI,SALES_TAX。表示類名或接口名時(shí),標(biāo)識(shí)符用大寫字母開頭,如CreditCard。表示變量名和方法名,以小寫字母開頭,單詞之間不要有分隔符,第二及后面單詞第一個(gè)字符用大寫字母,如authorName。Java關(guān)鍵字具有特殊含義的字符
42、序列例如: public、 static和class 具有特殊用途,不能作為變量名、方法名和類名數(shù)據(jù)類型基本數(shù)據(jù)類型類型內(nèi)容默認(rèn)值內(nèi)存空間取值范圍booleantrue/falsefalse8位true或falsecharUnicodeu000016位u0000-uFFFFbyte整數(shù)08位-128+127short整數(shù)016位-32768+32767int整數(shù)032位-2147483648+2147483647long整數(shù)0L64位-9223372036854775808 +9223372036854775807float浮點(diǎn)0.0f32位3.40282347E+381.40239846E-
43、45double浮點(diǎn)0.0d64位1.79769313486231570E+308 4.94065645841246544E-324變量和常量所謂常量就是在程序運(yùn)行過程中保持不變的量即不能被程序改變的量,也把它稱為最終量。常量可分為標(biāo)識(shí)常量和直接常量(字面常量):1) 標(biāo)識(shí)常量標(biāo)識(shí)常量使用一個(gè)標(biāo)識(shí)符來替代一個(gè)常數(shù)值,其定義的一般格式為:final 數(shù)據(jù)類型 常量名=value,常量名=value ;其中final 是保留字,說明后邊定義的是常量即最終量; 數(shù)據(jù)類型 是常量的數(shù)據(jù)類型,它可以是基本數(shù)據(jù)類型之一;常量名 是標(biāo)識(shí)符,它表示常數(shù)值value,在程序中凡是用到value值的地方均可用常量
44、名標(biāo)識(shí)符替代。例如: final double PI=3.1415926; /定義了標(biāo)識(shí)常量PI,其值為3.1415926注意:在程序中,為了區(qū)分常量標(biāo)識(shí)符和變量標(biāo)識(shí)符,常量標(biāo)識(shí)符一般全部使用大寫書寫。2)直接常量(字面常量)直接常量就是直接出現(xiàn)在程序語(yǔ)句中的常量值,例如上邊的3.1415926。直接常量也有數(shù)據(jù)類型,系統(tǒng)根據(jù)字面量識(shí)別,例如:21,45,789,1254,-254 表示整型量;12L,123l, -145321L 尾部加大寫字母L或小寫字母l表示該量是長(zhǎng)整型量;456.12,-2546,987.235 表示雙精度浮點(diǎn)型量;4567.2145F,54678.2f 尾部加大寫字母
45、F或小寫字母f表示單精度浮點(diǎn)型量。 Java常量Java常量包括基本數(shù)據(jù)類型常量、字符串(String)常量和null 布爾(boolean)常量只有兩個(gè):true 和 falsec, u0061, u0051 和 u005a 是char常量.34是int常量1.5, 45.6, 76.4E8和-32.0是double常量34L是long常量. 1.5F, 45.6f, 76.4E8F和-32.0F是float常量“Hello World!”是String常量null是引用數(shù)據(jù)類型的常量任意引用數(shù)據(jù)類型的常量(null)變量和常量2變量變量是程序中的基本存儲(chǔ)單元,在程序的運(yùn)行過程中可以隨時(shí)改變
46、其存儲(chǔ)單元的值。1) 變量的定義變量的一般定義如下:數(shù)據(jù)類型 變量名=value , 變量名=value ;其中:數(shù)據(jù)類型 表示后邊定義變量的數(shù)據(jù)類型;變量名 變量名,是一個(gè)標(biāo)識(shí)符,應(yīng)遵循標(biāo)識(shí)符的命名規(guī)則。可以在說明變量的同時(shí)為變量賦初值。例如:int n1=456,n2=687;float f1=3654.4f,f2=1.325fdouble d1=2145.2; 變量的四個(gè)要素變量名:程序通過變量名訪問變量的值。變量類型:變量類型由程序員顯式地聲明,類型決定了變量對(duì)應(yīng)存儲(chǔ)區(qū)域的大小以及如何解釋存儲(chǔ)在其中的二進(jìn)制串。存儲(chǔ)單元:一個(gè)變量與內(nèi)存中某一區(qū)域相關(guān)聯(lián),存儲(chǔ)單元即指該區(qū)域的起始地址。值:
47、變量對(duì)應(yīng)的內(nèi)存區(qū)域中存放的數(shù)據(jù)即為變量的值。在程序運(yùn)行的不同時(shí)刻,變量的值可能不同。名字類型值存儲(chǔ)單元變量在內(nèi)存中的存儲(chǔ)方式int ID = 42889;String s = “Hello World!”;42889IDE3FA08C1S棧Hello World!”;String堆Java變量必須屬于某種類型變量值也必須與變量類型相匹配例如:int studentNumber; / 聲明單個(gè)變量double velocity, distance; / 聲明多個(gè)變量studentNumber=30;/ 給變量賦以整數(shù)30int studentNumber=30;/ 聲明變量,并賦初值Java運(yùn)算
48、符和表達(dá)式 運(yùn)算符和表達(dá)式是構(gòu)成程序語(yǔ)句的要素,必須切實(shí)掌握靈活運(yùn)用,Java提供了多種運(yùn)算符,分別用于不同運(yùn)算處理。表達(dá)式是由操作數(shù)(變量或常量)和運(yùn)算符按一定的語(yǔ)法形式組成的符號(hào)序列,一個(gè)常量或一個(gè)變量名是最簡(jiǎn)單的表達(dá)式。表達(dá)式是可以計(jì)算值的運(yùn)算式,一個(gè)表達(dá)式有確定類型的值。Java運(yùn)算符和表達(dá)式 運(yùn)算符和表達(dá)式是構(gòu)成程序語(yǔ)句的要素,必須切實(shí)掌握靈活運(yùn)用,Java提供了多種運(yùn)算符,分別用于不同運(yùn)算處理。表達(dá)式是由操作數(shù)(變量或常量)和運(yùn)算符按一定的語(yǔ)法形式組成的符號(hào)序列,一個(gè)常量或一個(gè)變量名是最簡(jiǎn)單的表達(dá)式。表達(dá)式是可以計(jì)算值的運(yùn)算式,一個(gè)表達(dá)式有確定類型的值。1、算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括
49、:+, -, *, /, +, -, %沒有指數(shù)運(yùn)算Math.pow(2.0, 3.0); / 2.03.0整數(shù)除法:截去余數(shù)7 / 5 結(jié)果為 1取模:返回余數(shù)7 % 5 結(jié)果為 21、算術(shù)運(yùn)算符public class IncrementDecrement public static void main(String args) int i = 0; System.out.println(i+);System.out.println(+i); System.out.println(i-);System.out.println(-i);1、算術(shù)運(yùn)算符public class Incremen
50、tDecrement2 public static void main(String args) int i = 0; i+; System.out.println(i); +i; System.out.println(i); i-; System.out.println(i); -i; System.out.println(i);2、關(guān)系運(yùn)算符六個(gè)關(guān)系運(yùn)算符: 、=、= 和 !=例如:1 2; / false3.5 != 1; / true 51.5 = 23.0; / true540 = 654; / true24 = 3*8; / trueboolean isEqual=(10 10);
51、 / isEqual= false;關(guān)系運(yùn)算符的注意事項(xiàng)、=只能用來比較兩個(gè)數(shù)值類型數(shù)據(jù)的大小不能用于String、boolean、array或其他類型若有兩個(gè)變量x與y要比較是否相等,應(yīng)該是寫成x = y,而不是寫成x = y,后者的作用是將y的值指定給x,而不是比較x與y是否相等。對(duì)于對(duì)象來說,兩個(gè)對(duì)象參考之間使用=作比較時(shí),是比較其名稱是否參考至同一對(duì)象,而不是比較其內(nèi)容。 關(guān)系運(yùn)算符的注意事項(xiàng)String str1=new String(“welcome”); /創(chuàng)建一個(gè)對(duì)象,初始化String str2=new String(“welcome”); /創(chuàng)建一個(gè)對(duì)象,初始化String
52、 str3=str1; /創(chuàng)建一個(gè)對(duì)象,并利用對(duì)象str1的地址賦值str1=str2 /falsestr1=str3 /true3、布爾邏輯運(yùn)算符六個(gè)布爾邏輯運(yùn)算符: & (邏輯與, AND) | (邏輯或, OR) (邏輯異或, XOR ) !(邏輯非, NOT) & (短路與, AND) | (短路或, OR)3、布爾邏輯運(yùn)算符(短路示例)例如,下面的程序語(yǔ)句說明了短路邏輯運(yùn)算符的優(yōu)點(diǎn),用它來防止被0除的錯(cuò)誤: if (denom != 0 & num / denom 10) 例如,考慮下面的語(yǔ)句: if(c=1 &e+ 、和 帶符號(hào)右移不帶符號(hào)右移移位操作是:先將整數(shù)寫成二進(jìn)制形式,然
53、后按位操作,最后產(chǎn)生一個(gè)新的數(shù)P37實(shí)例注意: 只用于整數(shù)5、賦值類運(yùn)算符賦值類運(yùn)算符包括:=、+=、-=、*=、/=、&=、|=、%=、=和=op1=op1 二元運(yùn)算符 op2;等價(jià)于 op1二元運(yùn)算符= op2;例如:a=a+b;等價(jià)于a+=b;5、賦值類運(yùn)算符賦值運(yùn)算符范例結(jié)果+=a += ba = a + b-=a -= ba = a - b*=a *= ba = a * b/=a /= ba = a / b%=a %= ba = a % b&=a &= ba = a & b |=a |= ba = a | b=a = ba = a b =a = ba = a =a = ba = a
54、b6、條件運(yùn)算符條件運(yùn)算符“? :”的表達(dá)式形式為“op1 ? op2 : op3”op1:布爾表達(dá)式:op1值為true,條件運(yùn)算結(jié)果取op2的值。op1值為false,條件運(yùn)算結(jié)果取op3的值。例如: int i=5; int k= ( (i=0) ? 1 : -1);得出k值為17、其他運(yùn)算符其他運(yùn)算符包括:(類型)、.、 、( )、instanceof和new例如:String str1=new String(“welcome”); char c=(char)a;運(yùn)算符優(yōu)先級(jí)一元后綴 . ( ) + -一元前綴 + - + = !創(chuàng)建和強(qiáng)制類型轉(zhuǎn)換 new (type)倍數(shù) * / %
55、增量 + -移位 關(guān)系 = = = &= = |=小節(jié)安排Java程序設(shè)計(jì)基礎(chǔ) 3.1、Java產(chǎn)生的歷史與現(xiàn)狀2.2、開發(fā)環(huán)境的搭建 3.2、 Java的特點(diǎn) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.3、Java的工作原理 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.6、面向?qū)ο髴?yīng)用綜合開發(fā)實(shí)例 3.5、面向?qū)ο蟪绦蛟O(shè)計(jì) 3.4、 Java基礎(chǔ)語(yǔ)法 3.2、 Java的特點(diǎn) 面向?qū)ο蟪绦蛟O(shè)計(jì)什么是面向?qū)ο竺嫦驅(qū)ο蟮姆椒▽⑾到y(tǒng)看作是現(xiàn)實(shí)世界對(duì)象的集合,在現(xiàn)實(shí)世界中包含被歸類的對(duì)象。如前所述,面向?qū)ο笙到y(tǒng)是以類為基礎(chǔ)的,我們把一系列具有共同屬性和行為的對(duì)象劃歸為一類。屬性代表類的特性,行為代表
56、有類完成的操作。例如:例如汽車類定義了汽車必須有屬性:車輪個(gè)數(shù)、顏色、型號(hào)、發(fā)動(dòng)機(jī)的能量等;類的行為有:?jiǎn)?dòng)、行駛、加速、停止等。對(duì)象是類的一個(gè)實(shí)例,它展示了類的屬性和行為。例如,李經(jīng)理的那輛紅旗牌轎車就是汽車類的一個(gè)對(duì)象。面向?qū)ο蠹夹g(shù)基礎(chǔ)對(duì)象是客觀世界中的某個(gè)具體事物,對(duì)象的概念是面向?qū)ο蠹夹g(shù)的核心。面向?qū)ο蠹夹g(shù)中的對(duì)象就是現(xiàn)實(shí)世界中某個(gè)具體的物理實(shí)體在計(jì)算機(jī)邏輯中的映射和體現(xiàn),它可以是有形的,也可以是無形的。比如:電視是一個(gè)具體存在的,擁有外形、尺寸、顏色等外部特性(或稱屬性)和開、關(guān)、設(shè)置等功能的實(shí)體。對(duì)象的基本概念從程序設(shè)計(jì)的角度來看,事務(wù)的屬性或特性可以用變量來表示,行為或功能則用方
57、法來反映面向?qū)ο蟮某绦蛟O(shè)計(jì)方法就是將客觀事物抽象成為“類”,并通過類的“繼承”實(shí)現(xiàn)軟件的可擴(kuò)充性和可重用性類(class)類是同種對(duì)象的集合與抽象。 在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,定義類的概念來表述同種對(duì)象的公共屬性和特點(diǎn)。類是一種抽象的數(shù)據(jù)類型,它是具有一定共性的對(duì)象的抽象,而屬于類的某一對(duì)象則被稱為是類的一個(gè)實(shí)例,是類的一次實(shí)例化的結(jié)果。用面向?qū)ο蟪绦蛟O(shè)計(jì)解決實(shí)際問題的基本思想首先將實(shí)際存在的實(shí)體抽象成概念世界的抽象數(shù)據(jù)類型,這個(gè)抽象數(shù)據(jù)類型里面包括了實(shí)體中與需要解決的問題相關(guān)的數(shù)據(jù)和屬性;然后再用面向?qū)ο蟮墓ぞ撸鏹ava語(yǔ)言,將這個(gè)抽象數(shù)據(jù)類型用計(jì)算機(jī)邏輯表達(dá)出來,即構(gòu)造計(jì)算機(jī)能夠理解和處理
58、的類;最后將類實(shí)例化就得到了現(xiàn)實(shí)世界實(shí)體的面向?qū)ο蟮挠成鋵?duì)象,在程序中對(duì)對(duì)象進(jìn)行操作,就可以模擬現(xiàn)實(shí)世界中的實(shí)體上的問題并解決之。對(duì)象、實(shí)體與類關(guān)系圖抽象數(shù)據(jù)類概念世界實(shí)體現(xiàn)實(shí)世界對(duì)象類計(jì)算機(jī)邏輯的實(shí)現(xiàn)映射面向?qū)ο蟮奶匦?1)抽象所謂抽象就是不同的角色站在不同的角度觀察世界。比如,當(dāng)你購(gòu)買電視機(jī)時(shí),站在使用的角度,你所關(guān)注的是電視機(jī)的品牌、外觀及功能等等。然而,對(duì)于電視機(jī)的維修人員來說,站在維修的角度,他們所關(guān)注的是電視機(jī)的內(nèi)部,各部分元器件的組成及工作原理等。 其實(shí),所有編程語(yǔ)言的最終目的都是提供一種“抽象”方法。在早期的程序設(shè)語(yǔ)言中,一般把所有問題都?xì)w納為列表或算法,其中一部分是面向基于“
59、強(qiáng)制”的編程,而另一部分是專為處理圖形符號(hào)設(shè)計(jì)的。每種方法都有自己特殊的用途,只適合解決某一類的問題。面向?qū)ο蟮某绦蛟O(shè)計(jì)可以根據(jù)問題來描述問題,不必受限于特定類型的問題。我們將問題空間中的元素稱之為“對(duì)象”,在處理一個(gè)問題時(shí),如果需要一些在問題空間沒有的其他對(duì)象,則可通過添加新的對(duì)象類型與處理的問題相配合,這無疑是一種更加靈活、更加強(qiáng)大的語(yǔ)言抽象方法。面向?qū)ο蟮奶匦?2)繼承繼承提供了一種有助于我們概括出不同類中共同屬性和行為的機(jī)制,并可由此派生出各個(gè)子類。例如,麻雀類是鳥類的一個(gè)子類,該類僅包含它所具有特定的屬性和行為,其他的屬性和行為可以從鳥類繼承。我們把鳥類稱之為父類(或基類),把由鳥類
60、派生出的麻雀類稱之為子類(或派生類)。 在Java中,不允許類的多重繼承(即子類從多個(gè)父類繼承屬性和行為),也就是說子類只允許有一個(gè)父類。父類派生多個(gè)子類,子類又可以派生多個(gè)子子類, 這樣就構(gòu)成了類的層次結(jié)構(gòu)。面向?qū)ο蟮奶匦?3)封裝封裝提供了一種有助于我們向用戶隱藏他們所不需要的屬性和行為的機(jī)制,而只將用戶可直接使用的那些屬性和行為展示出來。例如,使用電視機(jī)的用戶不需要了解電視機(jī)內(nèi)部復(fù)雜工作的具體細(xì)節(jié),他們只需要知道諸如:開、關(guān)、選臺(tái)、調(diào)臺(tái)等這些設(shè)置與操作就可以了。面向?qū)ο蟮奶匦?4)多態(tài)多態(tài)指的是對(duì)象在不同情況下具有不同表現(xiàn)的一種能力。例如,一臺(tái)長(zhǎng)虹牌電視機(jī)是電視機(jī)類的一個(gè)對(duì)象,根據(jù)模式設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025云南省曲靖市陸良縣城鄉(xiāng)公交服務(wù)有限公司招聘(17人)筆試參考題庫(kù)附帶答案詳解
- 經(jīng)濟(jì)轉(zhuǎn)型期的社會(huì)保障財(cái)政可持續(xù)性分析-全面剖析
- 2024年連云港市贛榆區(qū)教育局所屬學(xué)校招聘教師筆試真題
- 廣東省清遠(yuǎn)市2024-2025學(xué)年高一上學(xué)期期末考試生物試題(解析版)
- 非礦制品市場(chǎng)發(fā)展趨勢(shì)-全面剖析
- 隱私保護(hù)的區(qū)塊鏈跨鏈技術(shù)-全面剖析
- 2025年公共關(guān)系與傳播專業(yè)考核試卷及答案
- 四年級(jí)數(shù)學(xué)(三位數(shù)乘兩位數(shù))計(jì)算題專項(xiàng)練習(xí)及答案
- 寵物服務(wù)行業(yè)售后服務(wù)措施
- 幼兒園幼兒自我保護(hù)教育職責(zé)
- 【華為】通信行業(yè):華為下一代鐵路移動(dòng)通信系統(tǒng)白皮書2023
- Python 程序設(shè)計(jì)智慧樹知到期末考試答案章節(jié)答案2024年四川師范大學(xué)
- 03D201-4 10kV及以下變壓器室布置及變配電所常用設(shè)備構(gòu)件安裝
- 城鄉(xiāng)環(huán)衛(wèi)保潔投標(biāo)方案(技術(shù)標(biāo))
- 充值合同范本
- 湖南省炎德英才名校聯(lián)考聯(lián)合體2024年4月春季高一年級(jí)下學(xué)期第二次(期中)聯(lián)考數(shù)學(xué)試卷
- MSDS中文版(鋰電池電解液)
- 《職業(yè)病防治法》知識(shí)考試題庫(kù)160題(含答案)
- 全國(guó)初中數(shù)學(xué)青年教師優(yōu)質(zhì)課一等獎(jiǎng)《反比例函數(shù)的圖象和性質(zhì)》教學(xué)設(shè)計(jì)
- 2023-2024學(xué)年人教版數(shù)學(xué)八年級(jí)下冊(cè)期中復(fù)習(xí)卷
- 環(huán)境監(jiān)測(cè)儀器安裝施工方案(更新版)
評(píng)論
0/150
提交評(píng)論