java語言程序設(shè)計(jì)java課件_第1頁
java語言程序設(shè)計(jì)java課件_第2頁
java語言程序設(shè)計(jì)java課件_第3頁
java語言程序設(shè)計(jì)java課件_第4頁
java語言程序設(shè)計(jì)java課件_第5頁
已閱讀5頁,還剩424頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、JAVA課程介紹課程介紹課程信息本課程以java語言素材,講授面向?qū)ο蟪绦蛟O(shè)計(jì)的方法與思路。課程主要包括以下內(nèi)容: 面向?qū)ο蟮某绦蛟O(shè)計(jì)基本概念與方法。=JAVA語言基礎(chǔ)知識。=Java語言面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)。=圖形用戶界面設(shè)計(jì)。 Java編程中的幾個(gè)專題(例外處理、輸入輸出、多線程、多媒體、網(wǎng)絡(luò)編程等)。課程信息教材Java語言與面向?qū)ο蟮某绦蛟O(shè)計(jì)。網(wǎng)絡(luò)教學(xué)資源軟件、電子教案、聯(lián)機(jī)文檔、參考書及手冊等。本課程使用網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)進(jìn)行答疑與作業(yè)提交。上機(jī)安排 自由上機(jī)。答疑及上機(jī)輔導(dǎo) 每周四下午2:00 - 5:00 ??己似綍r(shí)作業(yè) + 期末測驗(yàn)。 作業(yè)3-4次記分。1Java 概述面向?qū)ο蠡?/p>

2、本概念Java 語言基礎(chǔ)2354OO 程序設(shè)計(jì)(上)對象與類OO 程序設(shè)計(jì)(下)高級功能6數(shù)據(jù)結(jié)構(gòu)與語言基礎(chǔ)類7異常處理Applets圖形用戶界面89多線程101312文件及輸入輸出網(wǎng)絡(luò)編程14JDBC與數(shù)據(jù)庫訪問J2EEJ2SE J2ME15JSP與Web應(yīng)用16Java 的可視化編程環(huán)境Java概述JAVA特點(diǎn)JAVA工作方式JAVA開發(fā)工具JAVA程序類型Java語言的特點(diǎn)Simple (易學(xué),自動(dòng)內(nèi)存管理,簡化重載,去掉指針及C+中一些不是絕對必要的功能 ) object-oriented (純面向?qū)ο笳Z言,程序代碼以類的形式組織,由類來定義對象的各種狀態(tài)和行為)Distributed

3、 (豐富的網(wǎng)絡(luò)編程功能-輕松處理TCP/IP通過URL訪問遠(yuǎn)地資源;字節(jié)碼可來自網(wǎng)絡(luò))Interpreted(Java是解釋型的,但Java通過預(yù)先將源代碼編譯為接近于機(jī)器指令的字節(jié)碼, 有效地克服了傳統(tǒng)解釋型語言的性能瓶頸,同時(shí)又保持了解釋型語言的可移植性。Java解釋器能直接在任何機(jī)器上執(zhí)行Java字節(jié)碼).Java語言的特點(diǎn)Robust(靜、動(dòng)態(tài)檢查,排除出現(xiàn)錯(cuò)誤的條件, 異常處理,取消指針,內(nèi)存保護(hù))Secure(使用于網(wǎng)絡(luò)/分布式運(yùn)算環(huán)境,確保建立無病毒且不會(huì)被侵入的系統(tǒng)。內(nèi)存分配及布局由Java運(yùn)行系統(tǒng)決定,字節(jié)碼驗(yàn)證)architecture-neutral(讓Ja

4、va應(yīng)用程序能夠在網(wǎng)絡(luò)上任何地方執(zhí)行,字節(jié)代碼- 平臺(tái)無關(guān)性、完全統(tǒng)一的語言版本 - 實(shí)現(xiàn)無關(guān)性, 訪問底層操作系統(tǒng)功能的擴(kuò)展類庫 不依賴于具體系統(tǒng))5.6.7.Portable(源于7而且Java本身環(huán)境的可移植)8.Java語言的特點(diǎn)high-performance(字節(jié)碼- 目標(biāo)代碼) multi-threaded(在語言級嵌入了對并發(fā)控制的功能 - 多線程控制,大大簡化了多線程應(yīng)用程序的開發(fā) )Dynamic(面向?qū)ο笤O(shè)計(jì)的延伸。JAVA的基本組成單元是類,而Java的類又是運(yùn)行時(shí)動(dòng)態(tài)裝載的??梢栽诜植辑h(huán)境中動(dòng)態(tài)地維護(hù)應(yīng)用程序和類庫的一致性。更能適應(yīng)時(shí)刻變化的環(huán)境, Java不會(huì)因程序

5、庫的更新,而必須重新編譯程序 )9.10.11.Java是什么JAVA是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言=Java是Internet上的世界語。=Java是最佳的網(wǎng)絡(luò)應(yīng)用開發(fā)語言。JAVA是環(huán)境JAVA是產(chǎn)業(yè)Java已經(jīng)逐步從一種單純的計(jì)算機(jī)高級編程語言發(fā)展為一種重要的Internet平臺(tái),并進(jìn)而引發(fā)、帶動(dòng)了Java產(chǎn)業(yè)的發(fā)展和壯大,成為當(dāng)今計(jì)算機(jī)業(yè)界不可忽視的力量和重要的發(fā)展潮流與方向 !Java的工作方式編譯Java虛擬機(jī)(JVM)本地計(jì)算機(jī)系統(tǒng).class二進(jìn)制字節(jié)碼文件.javajava源程序文件java術(shù)語JVM、JREJVM -java virtual machineJVM虛擬機(jī)將 java

6、 字節(jié)碼程序翻譯成機(jī)器語言。然后有計(jì)算機(jī)執(zhí)行。JVM 沒有其他相關(guān)的文件。.JVM 本身不足以支持java application和applet的運(yùn)行。JRE - java 運(yùn)行環(huán)境 .JRE 是由JVM 和 java platform 核心類以及相關(guān)支撐文件組成。.java術(shù)語 APIApplication programming interface.API 是rules(syntax) :在java技術(shù)中如何編程。API包括數(shù)百個(gè)類公司預(yù)先編好的代碼,你可以在編程中充分利用它們的功能。java術(shù)語 JDK、J2 SDKJDK java developers kit (java開發(fā)工具包)

7、JDK 包含JVM和其他工具,以及所有的API和相關(guān)文件。JDK 是java 技術(shù)的舊名(1999/11以前),JDK1.1 是最后版本。Java 2 Java 2 Platform, J2 SDK java技術(shù)的新名稱SDK Software Development KitJVM plus all APIs, compilers,tools, and documentation (what you need in order to write java technology programs).J2 SDKJREJVMJVM plus basic APIs (what you need to

8、 distribute to people who will run your Java programs)Java虛擬機(jī)JVM提供以下定義:=指令集(Bytecodes 是JVM的機(jī)器指令)。=寄存器組=類文件格式=棧=垃圾回收“堆”(實(shí)現(xiàn)內(nèi)存的動(dòng)態(tài)分配和自動(dòng)回收)=內(nèi)存區(qū)域Java虛擬機(jī)本地計(jì)算機(jī)系統(tǒng)代碼生成器JIT code generator解釋器字節(jié)碼驗(yàn)證器類裝配器Hello.classJava 開發(fā)工具J2 SDK系列(Sun)命令行方式Java WorkShop Forte for javaSun WorkShop Forte DeveloperJBuilder(Borland)

9、VisualVisualJ+(MicroSoft)AgeforJava(IBM)Java程序的幾種類型Application=“Java應(yīng)用”是可以獨(dú)立運(yùn)行的Java程序。=由Java解釋器控制執(zhí)行。Applet=“Java小程序”不能獨(dú)立運(yùn)行,而是被嵌入到Web頁中。=由Java兼容瀏覽器控制執(zhí)行。Client 機(jī)Server 機(jī)字節(jié)碼網(wǎng)頁BrowserJava程序的幾種類型Serverlets=是Java技術(shù)對CGI 編程的解決方案。=是運(yùn)行于Web server上的、作為來自于Web browser 或其他HTTP client端的請求 和 在HTTP server上的數(shù)據(jù)庫及其他應(yīng)用程

10、序之間的中間層程序。Serverlets的工作是:=讀入用戶發(fā)來的數(shù)據(jù)(通常在web頁的form中)=找出隱含在HTTP請求中的其他請求信息(如瀏覽器功能細(xì)節(jié)、請求端主機(jī)名等。=產(chǎn)生結(jié)果(調(diào)用其他程序、訪問數(shù)據(jù)庫、直接計(jì)算結(jié)果)=格式化結(jié)果(網(wǎng)頁)=設(shè)置HTTP response參數(shù)(如告訴瀏覽器返回文檔格式)=將文檔返回給客戶端。J2SDK實(shí)用程序JavacJava編譯器,將Java源程序編譯成字節(jié)碼javaJava解釋器,直接從類文件執(zhí)行Java應(yīng)用程序, 即applicationappletviewer小程序?yàn)g覽器,執(zhí)行html文件中的Java小程序, 即Applet程序類型與用戶界面字

11、符界面圖形界面ApplicationAppletServerletsApplication程序基本結(jié)構(gòu)由一個(gè)或多個(gè)“類”組成。其中必須有一個(gè)“類”定義了main() 方法,該方法是自動(dòng)執(zhí)行的類方法,是Java應(yīng)用運(yùn)行的起始點(diǎn)。而這個(gè)類也就稱之為“主類”。HelloApplication.javapublic class HelloApplicationpublic static void main(String args)System.out.println(Hello, Java world! );Application程序編譯與執(zhí)行編譯 javacjavac HelloApplicatio

12、n.java產(chǎn)生HelloApplication.class 文件解釋執(zhí)行 javajava HelloApplicationJava程序文件(隱含.class文件)=源文件名要與主類名同名(包括大小寫)=一個(gè)類產(chǎn)生一個(gè).class文件HelloAppJava語言中的大小寫JAVA語言區(qū)分大小寫PhoneCard getBalance()cardNumber類名第一個(gè)字母大寫方法名第一個(gè)字母小寫變量名第一個(gè)字母小寫內(nèi)含單詞首字母大寫applet 小程序applet程序中必須包含java.applet.Applet類的子類。該子類就是applet小程序的主類。系統(tǒng)類Applet中已經(jīng)定義了很多的

13、成員域和成員方法,它們規(guī)定了Applet小程序如何與執(zhí)行它的解釋器WWW瀏覽器配合工作;主方法被瀏覽器自動(dòng)調(diào)用的方法。=init()=start()=stop()=destroy ()=paint()applet 小程序當(dāng)applet下載時(shí),瀏覽器首先創(chuàng)建applet實(shí)例并調(diào)用init()方法進(jìn)行初始化工作,然后調(diào)用start() 方法開始applet小程序的執(zhí)行;當(dāng)用戶離開小程序所在頁面時(shí),瀏覽器調(diào)用stop() 方法停止小程序執(zhí)行;當(dāng)用戶重新進(jìn)入小程序頁面時(shí),就再調(diào)用start方法;當(dāng)用戶退出瀏覽器時(shí),瀏覽器調(diào)用destroy ()方法并釋放資源。每當(dāng)需要時(shí),瀏覽器調(diào)用paint()方法重

14、畫界面。編寫applet小程序就是根據(jù)需要重新編寫這些方法applet 小程序HelloApplet.javaimportimportjava.awt.Graphics;java.applet.Applet; /將java.applet包中/的系統(tǒng)類Applet引入本程序class HelloApplet extends java.applet.Applet public void paint(Graphics g) g.drawString(“Hello, Java World!”, 10,20);編譯java小程序javac HelloApplet.javaapplet 小程序建立inde

15、x.html文件,嵌入HelloApplet.class瀏覽html文件= 使 用 appletviewer appletviewer index.html=使用常規(guī)的瀏覽器HelloApplet編譯、運(yùn)行程序Application:Applet:D: javac HelloApplet.java D: appletviewer index.htmlD: javac HelloApplication.java D: java HelloApplication Hello, Java World!課后作業(yè)安裝系統(tǒng)熟悉J2 SDK基本命令編寫一個(gè)Application,在屏幕上顯示如下的信息:*

16、Welcome*把上題改寫為Applet。網(wǎng)絡(luò)資源網(wǎng)絡(luò)資源面向?qū)ο蟪绦蛟O(shè)計(jì)程序設(shè)計(jì)方法學(xué)對象屬性與方法對象與類幾種關(guān)系面向?qū)ο蠹夹g(shù)人人受益程序設(shè)計(jì)方法學(xué)面向過程的程序設(shè)計(jì)=面向過程的程序遵循面向過程的問題求解方法=其中心思想是用計(jì)算機(jī)能夠理解的邏輯來描述和表達(dá)待解決的問題及其具體的解決過程。=算法+數(shù)據(jù)結(jié)構(gòu)=數(shù)據(jù)結(jié)構(gòu)利用計(jì)算機(jī)的離散邏輯來量化表達(dá)需要解決的問題 。=而算法則研究如何快捷、高效地組織解決問題的具體過程。面向過程面向機(jī)器程序設(shè)計(jì)方法學(xué)面向?qū)ο蟮某绦蛟O(shè)計(jì)=面向?qū)ο髥栴}求解關(guān)心的不僅僅是孤立的單個(gè)過程, 而是孕育所有這些過程的母體系統(tǒng)=它能夠用計(jì)算機(jī)邏輯來模擬、描述系統(tǒng)本身,包括系統(tǒng)的

17、組成,系統(tǒng)的各種可能狀態(tài),以及系統(tǒng)中可能產(chǎn)生的各種過程與過程引起的系統(tǒng)狀態(tài)切換。=面向?qū)ο蟮某绦蛟O(shè)計(jì)是以要解決的問題中所涉及到的各種對象為主要考慮因素。=對象是一種看問題的觀點(diǎn),是對現(xiàn)實(shí)世界各種元素的一種抽象。對象既含數(shù)據(jù)又含功能,因此具有自身處理數(shù)據(jù)的能力。對象被認(rèn)為是迄今為止最接近真實(shí)事物的數(shù)據(jù)抽象?,F(xiàn)實(shí)中的對象現(xiàn)實(shí)世界中對象有兩個(gè)共同的特點(diǎn):=一方面,它們都有自己的狀態(tài),如一臺(tái)電視機(jī)有自己的擺放位置,有關(guān)機(jī)和開機(jī)狀態(tài),此刻正在播放某一頻道的電視節(jié)目等 另一方面,它們又都有自己的行為或功能,如電視機(jī)的開機(jī)、關(guān)機(jī)、調(diào)臺(tái)等。對象的屬性與方法面向?qū)ο蟪绦蛟O(shè)計(jì)中的對象是現(xiàn)實(shí)世界對象的模型化,它同樣

18、具有狀態(tài)和行為。=對象的狀態(tài)用屬性來維護(hù),=對象的行為用方法來實(shí)現(xiàn)。因此可以簡單地講,對象是面向?qū)ο蟮某绦蛟O(shè)計(jì)模式,它由描述狀態(tài)的屬性(變量)和用來實(shí)現(xiàn)對象行為的方法(代碼)組成。幾種叫法=屬性 靜態(tài)屬性 域 成員變量=方法 動(dòng)態(tài)屬性 成員方法狀態(tài)行為案例-定單系統(tǒng)成立新的公司時(shí)尚服裝。每月發(fā)布商品編目,并寄給定戶??蛻艨梢园l(fā)e-mail 或FAX定貨(寄定單)。對于客戶的定貨要檢查存貨,如缺貨,得暫時(shí)擱置定單,直到供貨商送到貨。公司檢查支票和信用卡。公司將定單下發(fā)給倉庫,給客戶發(fā)貨。注意:=同種商品每月價(jià)格不一。如果訂戶使用的是六個(gè)月之前的編目,價(jià)格采用當(dāng)前編目價(jià)格。=公司接受所有主要的信用

19、卡。分析對象系統(tǒng)是由相互作用的對象組成。任何系統(tǒng)需要它的對象做它的工作。案例對象:定單,服裝,客戶在一個(gè)問題域中識別對象不是科學(xué)而是藝術(shù)。對象取決于人的觀點(diǎn)(模塊化,應(yīng)用)從“名詞”開始確定系統(tǒng)中的對象。對象可以是:=簡單的和復(fù)雜的:襯衣,銀行=實(shí)際的和概念的:銀行出納員,銀行帳號對象的屬性和方法確定對象的屬性和方法對象屬性:可以是數(shù)據(jù)或?qū)ο蟆?客戶客戶號,客戶名,地址=定單定單號,定貨條目,顧客號(也可以是顧客對象)。對象方法:讓對象做的事情(可以對自己,也可以對其他對象),經(jīng)常影響對象屬性。 客戶提交定單 定單打印定單,改變條目模型化對象OrderCustomerorderIDCustom

20、er dateOrdered itemsOrdered payment placedBy initialize()CustomerIDname billingAddress shippingAddress phoneinitialize()placeOrder()calcAmountOwed()printOrder() makePayment() changeItem()測試對象與問題域是否有關(guān)、適當(dāng)? 是否獨(dú)立存在客戶可以獨(dú)立存在。定單可以,但在使用時(shí)必須有客戶配合。是否有屬性和方法。對象與類相關(guān)對象的集合稱為 類(Class)類是對象的抽象及描述,它是具有統(tǒng)一屬性和方法的多個(gè)對象的統(tǒng)一描述

21、體,是用來定義一組對象共有屬性和方法的模板。類是用來創(chuàng)建對象實(shí)例的樣板,它包含所創(chuàng)建對象的狀態(tài)描述和方法的定義。類是一個(gè)型,而對象則是這個(gè)型的一個(gè)實(shí)例。類是靜態(tài)概念,而對象則是一個(gè)動(dòng)態(tài)概念,因?yàn)橹挥性谶\(yùn)行時(shí)才給對象分配空間,對象才真正存在。概念世界對象是類的唯一性實(shí)例現(xiàn)實(shí)世界計(jì)算機(jī)世界映射抽象實(shí)例化抽象計(jì)算機(jī)邏輯的實(shí)現(xiàn)概念世界抽象數(shù)據(jù)類類實(shí)體對象接口與實(shí)現(xiàn)類是一種封裝技術(shù)。如果屬性或方法被定義為public ,它就是接口的一部分, 其他類可以直接訪問它。如果屬性或方法被定義為private,它就是實(shí)現(xiàn)的一部分。只有類自己的方法可以訪問它。對象要注意保護(hù)自己的數(shù)據(jù)(私有屬性,公有方法)。對象通過

22、它們的方法管理,實(shí)現(xiàn)由編程人員控制。通過接口與對象發(fā)生作用,內(nèi)部實(shí)現(xiàn)不影響接口(汽車, 內(nèi)部變化不影響駕駛)程序一部分變化不會(huì)影響其他部 分。復(fù)用 事先寫好的操作可在整個(gè)項(xiàng)目中使用 重用比重寫更容易對象與類幾種相互關(guān)系包含關(guān)系=當(dāng)對象A是對象B的屬性時(shí),我們稱對象B包含對象A關(guān)聯(lián)關(guān)系=當(dāng)對象A的引用是對象B的屬性時(shí),我們稱對象A和對象B之間是關(guān)聯(lián)關(guān)系。類之間的繼承關(guān)系=B類繼承了A類,就是繼承了A類的屬性和方法。=A類稱之為父類,B類稱之為子類。為什么要學(xué)習(xí)面向?qū)ο缶幊堂嫦驅(qū)ο蠹夹g(shù)的意義=人腦與電腦的思維=如何解決軟件學(xué)習(xí)面向?qū)ο蟮木o迫性=現(xiàn)在已經(jīng)到了如果不了解面向?qū)ο缶幊?,作為一個(gè)程序員就抬

23、不起頭來的時(shí)候了。面向?qū)ο蠹夹g(shù)意義目前的計(jì)算機(jī)功能很強(qiáng),但目前的計(jì)算機(jī)并不很合理。最大的不合理是來自人認(rèn)識問題時(shí)的認(rèn)識空間和計(jì)算機(jī)處理問題時(shí)的方法空間的不一致, 人與目前的計(jì)算機(jī)之間仍存在著較大的隔閡。而面向?qū)ο蠹夹g(shù)有助于減小這一隔閡、并使這兩個(gè)空間盡量趨于一致。軟件復(fù)用=類庫的使用(可重用的標(biāo)準(zhǔn)化的模塊)=類的繼承面向?qū)ο蠹夹g(shù)應(yīng)用的普遍性面向?qū)ο蠹夹g(shù)-人人受益for manager=更迅速和更經(jīng)濟(jì)地開發(fā)和維護(hù)軟件系統(tǒng)。foranalysts and designers=模塊化的過程將變的簡單,并能獲得一個(gè)清晰的、易于管理的設(shè)計(jì)方案。For programmers=清晰的對象模型,豐富的面向?qū)?/p>

24、象開發(fā)工具及類庫使得編程變?yōu)橐患堄信d趣的工作。程序員明顯感到編程效率的提高。Java語言基礎(chǔ)q 程序結(jié)構(gòu)q 語句規(guī)則q 語言基本單位行言Java 概述面向?qū)ο蠡靖拍頙ava 語言基礎(chǔ)OO 程序設(shè)計(jì)(上)對象與類OO 程序設(shè)計(jì)(下)高級功能數(shù)據(jù)結(jié)構(gòu)與語言基礎(chǔ)類異常處理Applets圖形用戶界面多線程文件及輸入輸出網(wǎng)絡(luò)編程JDBC與數(shù)據(jù)庫訪問J2EEJ2SE J2MEJSP與Web應(yīng)用Java 的可視化編程環(huán)境程序結(jié)構(gòu)一個(gè)程序可包括若干個(gè)類,各類之間存在并列、繼承和包含關(guān)系。這些類通常是在一起協(xié)同工作的:每一個(gè)類都可能需要?jiǎng)?chuàng)建其他類的對象,并調(diào)用類或?qū)ο蟮膶傩约胺椒ā>幊讨荒茉诜椒ㄖ?。編譯后每

25、個(gè)類產(chǎn)生一個(gè).class文件packageimport -class類名1class類名2-屬性定義方法名1() -方法名2() -java的名字空間和包作為一種在整個(gè)Internet上動(dòng)態(tài)裝載模塊的語言,Java特別注意避免名字空間的沖突。全局變量不再是語言的組成部分(沒有全局的屬性與方法)。所有的方法和屬性都在類中定義,是類的組成部分。每個(gè)類又是包的組成部分。全限定名 : 包名 . 類名 . 方法名inport 打開一個(gè)包后 ,可直接指定該包中的類名。在本類中,可以直接使用方法名及屬性名。包的概述一個(gè)包是一組相關(guān)類的集合。類庫由若干包組成。=java.lang=java.awt=java.

26、applet=java.io=語言核心類(String Integer Math)圖形用戶界面applet小程序 文件與輸入輸出網(wǎng)絡(luò)編程=java.util實(shí)用程序類(隨機(jī)數(shù)、日期、系統(tǒng)屬性)Java API 文檔語句規(guī)則語句種類=說明語句如屬性說明、變量說明等=表達(dá)式語句=控制語句 (條件、循環(huán)、轉(zhuǎn)移)=異常處理語句=塊語句(代碼塊,一組語句用花括號括起來)注釋=/ -=/* - - -只限于行內(nèi)*/一段注釋文本基本語句用分號結(jié)束數(shù)據(jù)類型與說明語句Java程序中所處理的數(shù)據(jù)是將各種數(shù)據(jù)類型實(shí)例化后的數(shù)據(jù)。數(shù)據(jù)類型實(shí)例化的方法:說明語句實(shí)例化數(shù)據(jù)的兩中形式:變量與常量基本數(shù)據(jù)類

27、型數(shù)值類型整數(shù) byte(8), short(16), int(32), long(64)浮點(diǎn)類型 float (32), double(64)字符類型char (16)注:Unicode碼布爾類型boolean(true / false)引用類型類class字符串String StringBuffer數(shù)組類型 數(shù)據(jù)類型與說明語句基本數(shù)據(jù)類型說明語句:boolean b = true;short si = 128; int I,j,k = -99;long l = 123456789; char ch = J;char chc = 中 ;float f = 3.1415926;double d

28、 = -1.04E-5;Java幾乎是將字符串視為基本數(shù)據(jù)類型String s = “你好!”;Java 標(biāo)識符:區(qū)分大小寫組成 :字母 數(shù)字 _$開頭: 字母_$常量false布爾常量 true整型常量=一般常量:32bit長整型常量:64bit(88L)=十進(jìn)制數(shù):非0開頭的正負(fù)整數(shù)105,-23=八進(jìn)制數(shù): 0開頭的正負(fù)整數(shù) 017(15), -023(-19)=十六進(jìn)制:0x開頭的正負(fù)整數(shù) 0x2F(47),-0xa8(-168)浮點(diǎn)常量=一般浮點(diǎn)常量(32bit)3.14F6.18E3F=雙精度浮點(diǎn)數(shù)(64bit )7.56D6.02E23(D可省)數(shù)據(jù)類型轉(zhuǎn)換同種數(shù)據(jù)類型轉(zhuǎn)換:=短

29、類型=長類型長類型:默認(rèn)短類型:強(qiáng)制不同數(shù)據(jù)類型轉(zhuǎn)換字符/數(shù)值:強(qiáng)例:inta ;longcharb ;c;b = a ;a = ( int ) b ; c= (char) a ;a=(int) c布爾型與其他數(shù)據(jù)類型之間不能強(qiáng)制類型轉(zhuǎn)換byte short制intlongfloat double數(shù)據(jù)類型轉(zhuǎn)換import java.io.*;public class a1public static void main(String args) int i=65;char c=a, cc=王;System.out.println(i); System.out.println(char)i); S

30、ystem.out.println(c); System.out.println(int)c); System.out.println(cc); System.out.println(int)cc);System.out.println(char)35328);65Aa 97王29579言1Wrapper類 基本數(shù)據(jù)類型 Wrapper 類booleanBooleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDoubleInteger屬性=static int MAX_VALUE返回int型數(shù)據(jù)的最大值返回

31、int型數(shù)據(jù)的最小值=static int構(gòu)造器=Integer(int value)=Integer(String s)方法MIN_VALUE=int intValue()doubledoubleValue()=String toString()=static String toString(inti)=static IntparseInt(String s)=static IntegervalueOf(String s)類型轉(zhuǎn)換利用類/對象方法利用類方法(靜態(tài)方法)=static int Integer.parseInt(“23”)=static String Integer.toStri

32、ng(23)=static double Double.parseDouble(“12.3”)=static String Double.toString(12.3)利用對象方法 Doubled;String s;d=new Double(12.3) ;s= d.toString();/構(gòu)造 Double.valueOf(“12.3”).doubleValue() ; / 返回2引用類型類定義類(新的數(shù)據(jù)類型):classMyDate intday ;int month ;int year ;基本數(shù)據(jù)類型直接分配內(nèi)存空間。intI,j,k ;引用類型 ?MyDated1 ;d1 = new M

33、yDate() ;null引用類型類MyDated1 = new MyDate() ;d1 day month yeard1.day = 28 ;d1.month = 12; d1.year = 70 ;000 0x01abcdef引用類型數(shù)組在Java中,數(shù)組是獨(dú)立的類,有自身的方法,不是變量的集合。一個(gè)數(shù)組是數(shù)組類的一個(gè)對象。一維數(shù)組定義int IntArray =newint 5 ;=數(shù)組類對象引用說明( IntArray)=動(dòng)態(tài)分配空間( newint 5 )int 類型IntArray變量名(提倡格式)引用類型數(shù)組intArray = 11, 47, 93, 26, 38 int =

34、分配空間+賦初值=靜態(tài)初始化必須與數(shù)組定義放在一個(gè)語句中。 intArrayintArray = new int10 ;/原數(shù)組丟失。 XXXX 11 47 93 26 38數(shù)組元素為類的對象定義數(shù)組Integer Integer a;/ Null handleb = new Integer5;創(chuàng)建數(shù)組元素的對象實(shí)例for(int i = 0; i b.length; i+) bi = new Integer(I*10); 創(chuàng)建數(shù)組時(shí)初始化Integer d =new Integer(1), new Integer(2), new Integer(3);數(shù)組定義數(shù)組元素又是數(shù)組對象int in

35、tArray = newint 105 ;int intArray = 1,3,2,4,1,2,3,4 數(shù)組類數(shù)組使用之前要確定大小,可以在程序中根據(jù)需要指定其大?。ㄈ缬帽磉_(dá)式計(jì)算出大?。?。一旦生成數(shù)組,大小不可改變。java不支持變長數(shù)組。數(shù)組的屬性length數(shù)組元素的個(gè)數(shù)java數(shù)組作為一種對象類型,可以作為方法的參數(shù),傳的是指向數(shù)組的引用。ArrayIndexOutOfBoundsException 例外數(shù)組類intm1 , m2 ;int am1=5 ;m2=10;a=new intm1m2; for(int i=0 ; i5 ; i+)for(int j=0 ; j10 ; j+)

36、 aij = i*j ;for(int i=0 ; ia.length ; i+)for(int j=0 ; j,=,=,!=,= =邏輯運(yùn)算符& 與 ,| 或 , !非,&簡潔與,|簡潔或按位運(yùn)算符按位取反, &按位與, |按位或, 按位異或移位運(yùn)算符帶符號右移, 不帶符號右移三目條件運(yùn)算D=表達(dá)式1?表達(dá)式2 :表達(dá)式3賦值運(yùn)算符= ,+=,-=運(yùn)算符例移位移位= 帶符號右移:左側(cè)空出位全用符號位填充=不帶符號右移 :左側(cè)空出位用0填充= 左移:符號位被擠掉x 30-17x 20000011111111011x 20000011100111011二進(jìn)制表示00011110111011111

37、28 / 21 = 64256 / 24 = 1612812564-2564-256 / 24 = -16128 1128 * 21 = 25616 * 2216 3?y:z;/k=8條件語句if ( 條件表達(dá)式)語句塊;else語句塊;多重嵌套的if語句if (條件1)語句塊1; else if (條件2) 語句塊2; else if (條件3)else語句塊n;switch 開關(guān)語句switch(表達(dá)式)casecase判斷值1:語句組1 ;判斷值2:語句組2break ;default:語句組n;switch 的常量和表達(dá)式可以是整型、字符型及byte型任何兩個(gè)case常量不可以有相同的

38、值。只能對等式進(jìn)行測試,根據(jù)表達(dá)式取值的不同轉(zhuǎn)向不同的分支。每個(gè)case分支中的語句塊無須用花括號括起來。每個(gè)case分支都只是入口點(diǎn)break 語句是轉(zhuǎn)移語句(轉(zhuǎn)出switch)Java的循環(huán)語句while(表達(dá)式)do語句組;語句 wh組 ; ile(表達(dá)式);for ( 表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句組;=表達(dá)式1:循環(huán)變量賦初值,可使用外部沒有定義的循環(huán)變量=表達(dá)式2:循環(huán)條件=表達(dá)式3:循環(huán)變量修正Java的轉(zhuǎn)移語句沒有g(shù)oto語句break=從一個(gè)封閉的語句,如switch , , 循環(huán)中跳出來break 標(biāo)號=從包含本break語句的標(biāo)號指示的封閉語句中跳出來。while

39、(e1) while(e2) break;aaa:while (e1) while(e2)break aaa;Java的轉(zhuǎn)移語句(用在循環(huán)體中)continue=提前結(jié)束本次循環(huán),即跳過后面的循環(huán)體語句,回到循環(huán)的條件測試部分繼續(xù)執(zhí)行。continue 標(biāo)號=提前結(jié)束標(biāo)號所指循環(huán)。通常是某外層循環(huán)。=continue不是goto 語句,標(biāo)號不能指向與本循環(huán)并列的循環(huán)或其他循環(huán),也不可指向非循環(huán)語句。6Application程序人口點(diǎn)public class HelloWorldApp public static void main(String args) java HelloWorldApp

40、java HelloWorldApp執(zhí)行包括main方法的主類args0 args1 例:求2100的素?cái)?shù),每行打印5個(gè)數(shù)字import java.io.*;public class primepublic static void main(String args)First_Loop: for(int i=2,k=0;i100;i+)for(int j=2;j方法空間中的表示:對象“對象”是現(xiàn)實(shí)世界的實(shí)體或概念在計(jì)算機(jī)邏輯中的抽象表示。面向?qū)ο蟮某绦蛟O(shè)計(jì)是以要解決的問題中所涉及到的各種對象為主要考慮因素。面向?qū)ο笳Z言更加貼近人的思維方式。OOP允許你用問題空間中的術(shù)語來描述問題。在面向?qū)ο蟪?/p>

41、序設(shè)計(jì)中還需要一些其他對象,而它們沒有在問題空間的對應(yīng)體。對象“對象”就象是一臺(tái)小“計(jì)算機(jī)”:=對象有狀態(tài)=對象有你要求它執(zhí)行的操作現(xiàn)實(shí)世界中的對象:=它們都有自己的狀態(tài) 它們又都有自己的行為程序中的對象=用屬性表示狀態(tài)=用方法(代碼)實(shí)現(xiàn)行為對象與過程考慮對象考慮過程:前者更有意義設(shè)計(jì)對象設(shè)計(jì)過程:前者更富挑戰(zhàn)性,尤其是設(shè)計(jì)可重用的對象。面向?qū)ο蟮某绦蛟O(shè)計(jì)和問題求解力求符合人們?nèi)粘W匀坏乃季S習(xí)慣,降低分解問題的難度和復(fù)雜性,提高整個(gè)求解過程的可控制性、可監(jiān)測性和可維護(hù)性,從而達(dá)到以較小的代價(jià)和較高的效率獲得較滿意效果的目的。封裝-信息隱藏“ 封裝”是一種組織軟件的方法。其基本思想是把客觀世界中聯(lián)系緊密的元素及相

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論