Java程序設(shè)計(jì)(慕課版第2版)PPT完整全套教學(xué)課件_第1頁(yè)
Java程序設(shè)計(jì)(慕課版第2版)PPT完整全套教學(xué)課件_第2頁(yè)
Java程序設(shè)計(jì)(慕課版第2版)PPT完整全套教學(xué)課件_第3頁(yè)
Java程序設(shè)計(jì)(慕課版第2版)PPT完整全套教學(xué)課件_第4頁(yè)
Java程序設(shè)計(jì)(慕課版第2版)PPT完整全套教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩622頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1

章Java程序設(shè)計(jì)語(yǔ)言概述1.1Java簡(jiǎn)介1.2Java語(yǔ)言誕生背景1.3Java語(yǔ)言的特點(diǎn)1.4安裝Java程序開(kāi)發(fā)工具1.5Java程序開(kāi)發(fā)過(guò)程1.6

Java開(kāi)發(fā)工具Eclipse1.7編程風(fēng)格1.8JavaAPI簡(jiǎn)介課件制作人:明日科技1.1Java簡(jiǎn)介Java語(yǔ)言得名于印度尼西亞一個(gè)盛產(chǎn)咖啡的島嶼,中文名叫爪哇,其寓意是為世人端上一杯熱咖啡。正如認(rèn)識(shí)一個(gè)新事物一樣,學(xué)習(xí)一門語(yǔ)言應(yīng)該是從整體到細(xì)節(jié),再?gòu)募?xì)節(jié)到整體的過(guò)程。學(xué)習(xí)Java語(yǔ)言也是一樣,首先需要對(duì)其有一個(gè)整體的了解,然后再慢慢的學(xué)習(xí)具體內(nèi)容,最后達(dá)到完全掌握J(rèn)ava語(yǔ)言的目的。目前,Java主要有3個(gè)獨(dú)立的版本。JavaSEJavaEEJavaME課件制作人:明日科技JavaSEJavaSE是Java語(yǔ)言的標(biāo)準(zhǔn)版本,包含Java基礎(chǔ)類庫(kù)和語(yǔ)法。它用于開(kāi)發(fā)具有豐富的GUI(圖形用戶界面)、復(fù)雜邏輯和高性能的桌面應(yīng)用程序。課件制作人:明日科技JavaEEJavaEE用于編寫(xiě)企業(yè)級(jí)應(yīng)用程序。它是一個(gè)標(biāo)準(zhǔn)的多層體系結(jié)構(gòu),可以將企業(yè)級(jí)應(yīng)用程序劃分為客戶層、表示層、業(yè)務(wù)層和數(shù)據(jù)層,主要用于開(kāi)發(fā)和部署分布式、基于組件、安全可靠、可伸縮和易于管理的企業(yè)級(jí)應(yīng)用程序。課件制作人:明日科技JavaMEJ2ME主要用于開(kāi)發(fā)具有有限的連接、內(nèi)存和用戶界面能力的設(shè)備應(yīng)用程序。例如移動(dòng)電話(手機(jī))、PDA(電子商務(wù))、能夠接入電纜服務(wù)的機(jī)頂盒或者各種終端和其他消費(fèi)電子產(chǎn)品。課件制作人:明日科技1.2Java語(yǔ)言誕生背景Java語(yǔ)言是Sun公司于1990年開(kāi)發(fā)的,當(dāng)時(shí)Green項(xiàng)目小組的研究人員正在致力于為未來(lái)的智能設(shè)備開(kāi)發(fā)出一種新的編程語(yǔ)言,由于該小組的成員JamesGosling對(duì)C++的執(zhí)行過(guò)程中的表現(xiàn)非常不滿,于是把自己封閉在辦公室里編寫(xiě)了一種新的語(yǔ)言,并將其命名為Oak。課件制作人:明日科技OakOak就是Java語(yǔ)言的前身,這個(gè)名稱源于Gosling辦公室的窗外正好有一棵橡樹(shù)(Oak)。這時(shí)的Oak已經(jīng)具備安全性、網(wǎng)絡(luò)通信、面向?qū)ο?、GarbageCollected、多線程等特性,是一款相當(dāng)優(yōu)秀的程序語(yǔ)言。后來(lái),由于去注冊(cè)O(shè)ak商標(biāo)時(shí),發(fā)現(xiàn)它已經(jīng)被另一家公司注冊(cè),所以不得不改名。要取什么名字呢,工程師們邊喝咖啡邊討論著,看看手上的咖啡,再想到印度尼西亞有一個(gè)重要的盛產(chǎn)咖啡的島嶼,中文名叫爪哇,于是將其改名為Java。課件制作人:明日科技HotJava隨著Internet的迅速發(fā)展,Web的應(yīng)用日益廣泛,Java語(yǔ)言也得到了迅速發(fā)展。1994年,Gosling用Java開(kāi)發(fā)了一個(gè)實(shí)時(shí)性較高、可靠、安全、有交互功能的新型Web瀏覽器,它不依賴于任何硬件平臺(tái)和軟件平臺(tái)。這種瀏覽器名稱為HotJava,并于1995年同Java語(yǔ)言一起,正式在業(yè)界對(duì)外發(fā)表,引起了巨大的轟動(dòng),Java的地位隨之而得到肯定。此后的發(fā)展非常迅速。課件制作人:明日科技Java語(yǔ)言的特點(diǎn)Java語(yǔ)言適用于Internet環(huán)境,是一種被廣泛使用的網(wǎng)絡(luò)編程語(yǔ)言,它具有簡(jiǎn)單、面向?qū)ο?、可移植、分布性、解釋器通用性、穩(wěn)健、多線程、安全及高性能等語(yǔ)言特性。另外Java語(yǔ)言還提供了豐富的類庫(kù),方便用戶進(jìn)行自定義操作。下面將對(duì)Java語(yǔ)言的特點(diǎn)進(jìn)行具體介紹。課件制作人:明日科技1.3.1簡(jiǎn)單Java語(yǔ)言的語(yǔ)法規(guī)則和C++類似。它通過(guò)提供最基本的方法完成指定的任務(wù)。但Java語(yǔ)言對(duì)C++進(jìn)行了簡(jiǎn)化和提高。例如,指針和多重繼承通常使程序變得復(fù)雜,Java用接口取代了多重繼承,并取消了指針。Java語(yǔ)言還通過(guò)實(shí)現(xiàn)自動(dòng)垃圾收集大大簡(jiǎn)化了程序設(shè)計(jì)人員的內(nèi)存管理工作。課件制作人:明日科技1.3.2面向?qū)ο驤ava語(yǔ)言以面向?qū)ο鬄榛A(chǔ)。在Java語(yǔ)言中,不能在類外面定義單獨(dú)的數(shù)據(jù)和函數(shù),所有對(duì)象都要派生于同一個(gè)基類,并共享它所有功能,也就是說(shuō),Java語(yǔ)言最外部的數(shù)據(jù)類型是對(duì)象,所有的元素都要通過(guò)類和對(duì)象來(lái)訪問(wèn)。課件制作人:明日科技1.3.3可移植性Java程序具有與體系結(jié)構(gòu)無(wú)關(guān)的特性。這一特征使Java程序可以方便地移植到網(wǎng)絡(luò)的不同機(jī)器。同時(shí),Java的類庫(kù)中也實(shí)現(xiàn)了針對(duì)不同平臺(tái)的接口,使這些類庫(kù)可以移植。課件制作人:明日科技1.3.4分布性Java語(yǔ)言從誕生就和網(wǎng)絡(luò)緊密地聯(lián)系在一起。在Java中還內(nèi)置了TCP/IP、HTTP和FTP等協(xié)議類庫(kù)。因此,Java應(yīng)用程序可以通過(guò)URL地址打開(kāi)訪問(wèn)網(wǎng)絡(luò)上的對(duì)象,訪問(wèn)方式與訪問(wèn)本地文件系統(tǒng)幾乎完全相同。課件制作人:明日科技1.3.5解釋器通用性運(yùn)行Java程序需要解釋器。Java解釋器能直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)代碼獨(dú)立于機(jī)器,它本身攜帶了許多編譯時(shí)信息,使得連接過(guò)程更加簡(jiǎn)單,因此可以在任何有Java解釋器的機(jī)器上運(yùn)行。課件制作人:明日科技1.3.6穩(wěn)健Java能夠檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查能幫助用戶檢查出許多在開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤。同時(shí)很多集成開(kāi)發(fā)工具(IDE)的出現(xiàn)使編譯和運(yùn)行Java程序更加容易,并且很多集成開(kāi)發(fā)工具(如Eclipse)都是免費(fèi)的。課件制作人:明日科技1.3.7安全Java通常被應(yīng)用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防止惡意代碼攻擊。當(dāng)使用支持Java的瀏覽器上網(wǎng)時(shí),可以放心的運(yùn)行JavaApplet程序,不必?fù)?dān)心病毒的感染和惡意企圖。課件制作人:明日科技1.3.8多線程多線程是程序同時(shí)執(zhí)行多個(gè)任務(wù)的一種功能。多線程機(jī)制能夠使應(yīng)用程序并行執(zhí)行多項(xiàng)任務(wù),而且同步機(jī)制保證了各線程對(duì)共享數(shù)據(jù)的正確操作。使用多線程,程序設(shè)計(jì)人員可以用不同的線程完成特定的行為,使程序具有更好的交互能力和實(shí)時(shí)運(yùn)行能力。課件制作人:明日科技1.3.9高性能由于Java程序是可解釋的,字節(jié)碼不是直接由系統(tǒng)執(zhí)行,而是在解釋器中運(yùn)行,所以它的速度比多數(shù)交互式應(yīng)用程序提高了很多。課件制作人:明日科技1.4安裝Java程序開(kāi)發(fā)工具下載JDK安裝JDK配置和測(cè)試JDK課件制作人:明日科技1.5Java程序開(kāi)發(fā)過(guò)程在還沒(méi)有正式開(kāi)發(fā)Java程序前,首先需要對(duì)Java程序的開(kāi)發(fā)過(guò)程有所了解。開(kāi)發(fā)Java程序總體上可以分為3個(gè)步驟:編寫(xiě)Java源文件編譯Java源文件運(yùn)行Java程序課件制作人:明日科技編寫(xiě)Java源文件Java源文件是一種純文本文件,它可以使用任何文本編輯器進(jìn)行編輯,其擴(kuò)展名為.java。例如,可以使用Windows的記事本編寫(xiě)一個(gè)名稱為OneJavaApp.java的Java源文件。課件制作人:明日科技編譯Java源文件編譯Java源文件,也就是將Java源文件編譯(Compile)成Java類文件(擴(kuò)展名為.class)。例如,將OneJavaApp.java文件編譯成OneJavaApp.class類文件使用如下命令:注:編譯Java的原文件,需要指定文件擴(kuò)展名。javacOneJavaApp.java課件制作人:明日科技運(yùn)行Java程序Java程序可以分為JavaApplication(Java應(yīng)用程序)和JavaApplet(Java小應(yīng)用程序)。其中,JavaApplication必須通過(guò)Java解釋器(java.exe)來(lái)解釋執(zhí)行其字節(jié)碼文件,即類文件,JavaApplet需要使用支持它的瀏覽器(如NetscapeNavigator或IE等)運(yùn)行。運(yùn)行Java應(yīng)用程序的命令如下:注:運(yùn)行Java的類文件,不需要指定文件擴(kuò)展名。javaOneJavaApp課件制作人:明日科技1.6開(kāi)發(fā)工具Eclipse1.Eclipse簡(jiǎn)介(一)Eclipse是基于Java的,開(kāi)放源碼的、可擴(kuò)展的應(yīng)用開(kāi)發(fā)平臺(tái),它為編程人員提供了一流的Java集成開(kāi)發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)。是一個(gè)可以用于構(gòu)建集成Web和應(yīng)用程序的開(kāi)發(fā)工具平臺(tái),其本身并不會(huì)提供大量的功能,而是通過(guò)插件來(lái)實(shí)現(xiàn)程序的快速開(kāi)發(fā)功能。課件制作人:明日科技2.簡(jiǎn)介(二)Eclipse是一個(gè)成熟的可擴(kuò)展的體系結(jié)構(gòu)。它為創(chuàng)建可擴(kuò)展的開(kāi)發(fā)環(huán)境提供了一個(gè)平臺(tái)。這個(gè)平臺(tái)允許任何人構(gòu)建與環(huán)境或其他工具無(wú)縫集成的工具,而工具與Eclipse無(wú)縫集成的關(guān)鍵是插件。Eclipse還包括插件開(kāi)發(fā)環(huán)境(PDE),PDE主要針對(duì)那些希望擴(kuò)展Eclipse的編程人員而設(shè)定的。這也正是Eclipse最具魅力的地方。通過(guò)不斷的集成各種插件,Eclipse的功能也在不斷的擴(kuò)展,以便支持各種不同的應(yīng)用。課件制作人:明日科技3.Eclipse簡(jiǎn)介(三)Eclipse利用Java語(yǔ)言寫(xiě)成,所以Eclipse可以支持跨平臺(tái)操作,但是需要SWT(StandardWidgetToolkit)的支持,不過(guò)這已經(jīng)不是什么大問(wèn)題了,因?yàn)镾WT已經(jīng)被移植到許多常見(jiàn)的平臺(tái)上,例如Windows、Linux、Solaris等多個(gè)操作系統(tǒng),甚至可以應(yīng)用到手機(jī)或者PDA程序開(kāi)發(fā)中。課件制作人:明日科技1.7編程風(fēng)格1.Allmans風(fēng)格Allmans風(fēng)格也稱作“獨(dú)行”風(fēng)格,即左、右大括號(hào)各自獨(dú)占一行,代碼如下:publicclassAllmans{publicstaticvoidmain(String[]args){System.out.println(“Allmans風(fēng)格”);}}當(dāng)代碼量較少時(shí)適合使用“獨(dú)行”風(fēng)格,代碼布局清晰,可讀性強(qiáng)。

課件制作人:明日科技1.7編程風(fēng)格2.Kernighan風(fēng)格Kernighan風(fēng)格也稱作“行尾”風(fēng)格,即左大括號(hào)在上一行的行尾,右大括號(hào)獨(dú)占一行,代碼如下:publicclassKernighan{publicstaticvoidmain(String[]args){System.out.println(“Kernighan風(fēng)格”);}}當(dāng)代碼量較大的時(shí)候適合使用“行尾”風(fēng)格,因?yàn)樵擄L(fēng)格能夠提高代碼的清晰度。

課件制作人:明日科技1.8編程風(fēng)格3.注釋單行注釋使用“//”表示單行注釋的開(kāi)始,也就是說(shuō)從該行中從“//”開(kāi)始以后的內(nèi)容均為注釋部分。例如:publicclassDemo//聲明一個(gè)類,類的名字叫Demo{//類體的左大括號(hào)

publicstaticvoidmain(String[]args){System.out.println(“這是一個(gè)注釋?!?;//輸出這是一個(gè)注釋。

}}//類體的右大括號(hào)課件制作人:明日科技1.8編程風(fēng)格多行注釋使用“/*”表示注釋的開(kāi)始,以“*/”表示注釋的結(jié)束。例如:publicclassDemo{/*以下是main方法,它是程序的入口,程序的執(zhí)行首先執(zhí)行main方法*/publicstaticvoidmain(String[]args){}}課件制作人:明日科技1.8JavaAPI簡(jiǎn)介API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件的的一組例程能力。當(dāng)運(yùn)行一個(gè)Java程序時(shí),Java虛擬機(jī)裝載程序的class文件所使用的JavaAPIclass文件。所有被裝載的class文件和所有已經(jīng)裝載的動(dòng)態(tài)庫(kù)共同組成了Java虛擬機(jī)上運(yùn)行的整個(gè)程序。在一個(gè)平臺(tái)能夠支持Java程序以前,必須在這個(gè)特定平臺(tái)上明確地實(shí)現(xiàn)API功能?!禞ava實(shí)用教程》課件制作人:明日科技Java實(shí)用教程第2章Java語(yǔ)言的基本語(yǔ)法課件制作人:明日科技2.1標(biāo)識(shí)符和關(guān)鍵字Java語(yǔ)言中的類名、對(duì)象名、方法名、常量名和變量名統(tǒng)稱為標(biāo)識(shí)符。標(biāo)識(shí)符由程序員定義,可以由字母、數(shù)字、下劃線(_)和($)符號(hào)組成,但是標(biāo)識(shí)符的第一個(gè)字符不允許為數(shù)字,只允許為字母、下劃線(_)或($)符號(hào)。在Java語(yǔ)言中還定義了一些專有詞匯,統(tǒng)稱為關(guān)鍵字,例如public、class、int等,它們都具有一種特定的含義,只能用于特定的位置,不能作為標(biāo)識(shí)符使用。課件制作人:明日科技Java關(guān)鍵字abstractconstfinallyintpublicthisbooleancontinuefloatinterfacereturnthrowbreakdefaultforlongshortthrowsbytedogotonativestatictransientcasedoubleifnewstrictfptrycatchelseimplementspackagesupervoidcharextendsimportprivateswitchvolatileclassfinalinstanceofprotectedsynchronizedwhile在定義標(biāo)識(shí)符時(shí),不允許定義為表中列出的任一關(guān)鍵字課件制作人:明日科技Java標(biāo)識(shí)符命名規(guī)則為了提高程序的可讀性,在定義標(biāo)識(shí)符時(shí),要盡量遵循“見(jiàn)其名知其意“的原則。Java標(biāo)識(shí)符的具體命名規(guī)則如下:一個(gè)標(biāo)識(shí)符可以由幾個(gè)單詞連接而成,以表明它的意思。對(duì)于類名,每個(gè)單詞的首字母都要大寫(xiě),其他字母則小寫(xiě),例如RecordInfo。對(duì)于方法名和變量名,與類名有些相似,除了第一個(gè)單詞的首字母小寫(xiě)外,其他單詞的首字母都要大寫(xiě),例如getRecordName()。課件制作人:明日科技Java標(biāo)識(shí)符命名規(guī)則對(duì)于常量名,每個(gè)單詞的每個(gè)字母都要大寫(xiě),如果由多個(gè)單詞組成,通常情況下單詞之間用下劃線(_)分隔,例如MAX_VALUE。對(duì)于包名,每個(gè)單詞的每個(gè)字母都要小寫(xiě),例如com.frame。注意:Java語(yǔ)言是區(qū)分字母大小寫(xiě)的,即Java不等于java課件制作人:明日科技2.2常量與變量常量和變量在程序代碼中隨處可見(jiàn),下面就具體講解常量和變量的概念及使用要點(diǎn),從而達(dá)到區(qū)別常量和變量的目的。課件制作人:明日科技2.2.1常量的概念及使用要點(diǎn)所謂常量,就是值永遠(yuǎn)不允許被改變的量。如果要聲明一個(gè)常量,就必須用關(guān)鍵字final修飾,聲明常量的具體方式如下:

final

常量類型常量標(biāo)識(shí)符;

例如:

finalintYOUTH_AGE; //聲明一個(gè)int型常量finalfloatPIE; //聲明一個(gè)float型常量注意:按照J(rèn)ava命名規(guī)則,常量標(biāo)識(shí)符所有的字符都要大寫(xiě),各個(gè)單詞之間用下劃線_分隔課件制作人:明日科技常量在聲明常量時(shí),通常情況下立即為其賦值,即立即對(duì)常量進(jìn)行初始化,聲明并初始化常量的具體方式如下:

final

常量類型常量標(biāo)識(shí)符=

常量值;例如:finalintYOUTH_AGE=18;//聲明int型常量,初始化為18finalfloatPIE=3.14F; //聲明float型常量,初始化為3.14說(shuō)明:為float型常量賦值時(shí),需要在數(shù)值的后面加上一個(gè)字母“F”或“f”。課件制作人:明日科技常量聲明多個(gè)同一類型的常量,可以采用下面的形式:

final

常量類型常量1=常量值1,常量2=常量值2,……;例如:finalintNUM1=14,NUM2=25,NUM3=36;注意:如果在聲明常量時(shí)已經(jīng)對(duì)其進(jìn)行了初始化,則常量的值不允許再被修改課件制作人:明日科技2.2.2變量的概念及使用要點(diǎn)所謂變量,就是值可以被改變的量。聲明變量的具體方式如下:變量類型變量標(biāo)識(shí)符;例如:注意:定義變量名時(shí),按照J(rèn)ava的命名規(guī)則,第一個(gè)單詞的首字母小寫(xiě),其他單詞的首字母大寫(xiě),例如“partyMemberAge”。Stringname; //聲明String型變量intpartyMemberAge; //聲明int型變量課件制作人:明日科技變量在聲明變量時(shí),可以立即為其賦值,即立即對(duì)變量進(jìn)行初始化,具體語(yǔ)法如下:

變量類型變量標(biāo)識(shí)符=變量值;例如:intpartyMemberAge=26; //聲明一個(gè)int型變量floatmoney=3150; //聲明float類型變量課件制作人:明日科技同類型變量如果需要聲明多個(gè)同一類型的變量,也可以采用下面的形式:

變量類型變量1,變量2,變量3;變量類型變量4=變量值4,變量5=變量值5,變量6=變量值6;例如:說(shuō)明:變量區(qū)別于常量,它的值允許被改變。intA,B,C; //聲明3個(gè)int型變量intD=4,E=5,F=6; //聲明并分別初始化3個(gè)int型變量課件制作人:明日科技2.3數(shù)據(jù)類型Java語(yǔ)言中的數(shù)據(jù)類型劃分為兩大類,分別是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。其中基本數(shù)據(jù)類型由Java語(yǔ)言定義,不可以再進(jìn)行劃分?;緮?shù)據(jù)類型的數(shù)據(jù)占用內(nèi)存的大小固定,在內(nèi)存中存入的是數(shù)值本身引用數(shù)據(jù)類型在內(nèi)存中存入的是引用數(shù)據(jù)的存放地址,并不是數(shù)據(jù)本身。Java語(yǔ)言中的數(shù)據(jù)類型分類情況如下圖所示:數(shù)據(jù)類型課件制作人:明日科技2.3.1基本數(shù)據(jù)類型基本數(shù)據(jù)類型分為:整數(shù)型浮點(diǎn)數(shù)型字符型邏輯型(布爾型)它們分別用來(lái)存儲(chǔ)整數(shù)、小數(shù)、字符和布爾值,下面將依次講解這4個(gè)基本數(shù)據(jù)類型的特征及使用方法。課件制作人:明日科技整數(shù)型聲明為整數(shù)型的常量或變量用來(lái)存儲(chǔ)整數(shù),整數(shù)型包括:字節(jié)型(byte)短整型(short)整型(int)長(zhǎng)整型(long)這4個(gè)數(shù)據(jù)類型的區(qū)別是它們?cè)趦?nèi)存中所占用的字節(jié)數(shù)不同,因此,它們所能夠存儲(chǔ)的整數(shù)的取值范圍也不同。整數(shù)占用內(nèi)存大小以及取值范圍數(shù)據(jù)類型關(guān)鍵字內(nèi)存字節(jié)取值范圍字節(jié)型byte1個(gè)字節(jié)-128~127短整型short2個(gè)字節(jié)-32768~32767整型int4個(gè)字節(jié)-2147483648~2147483647長(zhǎng)整型long8個(gè)字節(jié)-9223372036854775808~9223372036854775807課件制作人:明日科技長(zhǎng)整型數(shù)值在為long型常量或變量賦值時(shí),需要在所賦值的后面加上一個(gè)字母“L”(或“l(fā)”),說(shuō)明所賦的值為long型。如果所賦的值未超出int型的取值范圍,也可以省略字母“L”(或“l(fā)”)。例如下面的代碼均是正確的。longla=9876543234L; //超出了int取值范圍,必須加“L”longlb=98765432L; //未超出int取值范圍,也可以加“L”longlc=98765432; //未超出int取值范圍,可以省略“L”課件制作人:明日科技浮點(diǎn)數(shù)聲明為浮點(diǎn)數(shù)型的常量或變量用來(lái)存儲(chǔ)小數(shù),浮點(diǎn)數(shù)包括單精度型(float)和雙精度(double)兩個(gè)基本數(shù)據(jù)類型,這兩個(gè)數(shù)據(jù)類型的區(qū)別是它們?cè)趦?nèi)存中所占用的字節(jié)數(shù)不同,因此,它們所能夠存儲(chǔ)的整數(shù)的取值范圍也不同數(shù)據(jù)類型關(guān)鍵字占用內(nèi)存字節(jié)數(shù)取值范圍單精度型float4字節(jié)1.4E-45~3.4028235E38雙精度型double8字節(jié)4.9E-324~1.7976931348623157E308課件制作人:明日科技float型數(shù)值在為float型常量或變量賦值時(shí),需要在所賦值的后面加上一個(gè)字母“F”(或“f”),說(shuō)明所賦的值為float型。如果所賦的值為整數(shù),并且未超出int型的取值范圍,也可以省略字母“F”(或“f”)。例如下面的代碼均是正確的。floatfa=9412.75F; //賦值為小數(shù),必須“F”floatfb=9876543210F; //賦值超出int取值范圍,必須“F”floatfc=9412F; //未超出int取值范圍,可以“F”floatfd=9412; //也可以省略“F”課件制作人:明日科技double型數(shù)值在為double型常量或變量賦值時(shí),需要在所賦值的后面加上一個(gè)字母“D”(或“d”),說(shuō)明所賦的值為double型。如果所賦的值為小數(shù),或者所賦的值為整數(shù),并且未超出int型的取值范圍,也可以省略字母“D”(或“d”)。例如下面的代碼均是正確的。doubleda=9412.75D; //所賦值為小數(shù),可以加上“D”doubledb=9412.75; //所賦值為小數(shù),也可以省略“D”doubledc=9412D; //未超出int取值范圍,可以加上“D”doubledd=9412; //未超出int取值范圍,可以省略“D”doublede=9876543210D; //超出int取值范圍,必須加上“D課件制作人:明日科技字符型聲明為字符型的常量或變量用來(lái)存儲(chǔ)單個(gè)字符,它占用內(nèi)存的2個(gè)字節(jié)來(lái)存儲(chǔ),字符型利用關(guān)鍵字“char”進(jìn)行聲明。Java中的字符通過(guò)Unicode字符編碼,以二進(jìn)制的形式存儲(chǔ)到計(jì)算機(jī)中,計(jì)算機(jī)可通過(guò)數(shù)據(jù)類型判斷要輸出的是一個(gè)字符還是一個(gè)整數(shù)。Unicode編碼采用無(wú)符號(hào)編碼,一共可存儲(chǔ)65536個(gè)字符,所以Java中的字符幾乎可以處理所有國(guó)家的語(yǔ)言文字。課件制作人:明日科技字符型數(shù)值在為char型常量或變量賦值時(shí),無(wú)論值是一個(gè)英文字母,或者是一個(gè)符號(hào),還是一個(gè)漢字,必須將所賦的值放在英文狀態(tài)下的一對(duì)單引號(hào)中。例如下面的代碼分別將字母“M”、符號(hào)“*”和漢字“男”賦值給char型變量ca、cb和cc。charca='M'; //將大寫(xiě)字母“M”賦值給char型變量charcb='*'; //將符號(hào)“*”賦值給char型變量charcc='男'; //將漢字“男”賦值給char型變量課件制作人:明日科技邏輯型聲明為邏輯型的常量或變量用來(lái)存儲(chǔ)邏輯值,邏輯值只有true和false,分別用來(lái)代表邏輯判斷中的“真”和“假”,邏輯型利用關(guān)鍵字“boolean”進(jìn)行聲明。例如下面的代碼分別將true和false賦值給變量ba和bb。booleanba=true; //將true賦值給變量babooleanbb=false; //將false賦值給變量bb課件制作人:明日科技邏輯型也可以將邏輯表達(dá)式賦值給boolean型變量,例如下面的代碼分別將邏輯表達(dá)式“6<8”和邏輯表達(dá)式“6>8”賦值給boolean型變量ba和bb。booleanba=6<8; //將表達(dá)式“6<8”賦值給變量babooleanbb=6>8; //將表達(dá)式“6>8”賦值給變量bb課件制作人:明日科技2.3.2引用數(shù)據(jù)類型引用數(shù)據(jù)類型包括類引用、接口引用以及數(shù)組引用。下面的代碼分別聲明一個(gè)java.lang.Object類的引用、java.util.List接口的引用和一個(gè)int型數(shù)組的引用。說(shuō)明:將引用數(shù)據(jù)類型的常量或變量初始化為null時(shí),表示引用數(shù)據(jù)類型的常量或變量不引用任何對(duì)象。Objectobject=null; //聲明一個(gè)Object類的引用變量Listlist=null; //聲明一個(gè)List接口的引用變量int[]months=null; //聲明一個(gè)int型數(shù)組的引用變量課件制作人:明日科技2.3.3基本類型與引用類型的區(qū)別基本數(shù)據(jù)類型與引用數(shù)據(jù)類型主要區(qū)別在以下兩個(gè)方面:基本數(shù)據(jù)類型與引用數(shù)據(jù)類型的組成Java虛擬機(jī)處理基本數(shù)據(jù)類型變量與引用數(shù)據(jù)類型變量的方式。課件制作人:明日科技組成基本數(shù)據(jù)類型是一個(gè)單純的數(shù)據(jù)類型,它表示的是一個(gè)具體的數(shù)字、字符或邏輯值,例如68、‘M’或true對(duì)于引用數(shù)據(jù)類型,若一個(gè)變量引用的是一個(gè)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的實(shí)例,則該變量的類型就屬于引用數(shù)據(jù)類型在引用數(shù)據(jù)類型變量所引用的實(shí)例中,不僅可以包含基本數(shù)據(jù)類型的變量,還可以包含對(duì)這些變量的具體操作行為,甚至是包含其他引用類型的變量。課件制作人:明日科技Java虛擬機(jī)的處理方式對(duì)于基本數(shù)據(jù)類型的變量,Java虛擬機(jī)會(huì)根據(jù)變量的實(shí)際類型為其分配內(nèi)存空間。例如為int型變量分配4個(gè)字節(jié)的內(nèi)存空間。而引用類型的變量,Java虛擬機(jī)在內(nèi)存空間中存放的并不是變量所引用的對(duì)象,而是對(duì)象在堆內(nèi)存中存放的地址,所以引用變量最終只是指向被引用的對(duì)象,而不是存儲(chǔ)引用對(duì)象的數(shù)據(jù),因此兩個(gè)引用變量之間的賦值,就是將一個(gè)引用變量存儲(chǔ)的地址復(fù)制給另一個(gè)引用變量,從而使兩個(gè)變量指向同一個(gè)對(duì)象。例如創(chuàng)建一個(gè)圖書(shū)類Book:聲明兩個(gè)Book類的實(shí)例,分別通過(guò)變量book1和book2進(jìn)行引用,對(duì)book1進(jìn)行具體的初始化,而將book2初始化為null,具體代碼如下。publicclassBook{ Stringisbn=“978-7-115-16451-3”; Stringname=“×××應(yīng)用開(kāi)發(fā)完全手冊(cè)”; Stringauthor=“××科技”; floatprice=59.00F;}Bookbook1=newBook();Bookbook2=null;Java虛擬機(jī)為引用變量book1、book2及book1所引用對(duì)象的成員變量分配的內(nèi)存空間如下圖所示。

從圖中可以看出,變量book1引用了Book類的實(shí)例,book2沒(méi)有引用任何實(shí)例。下面對(duì)變量book2進(jìn)行具體的初始化,將book1引用實(shí)例的地址復(fù)制給book2變量,即book2與book1引用同一個(gè)Book類的實(shí)例,具體代碼如下:book2=book1;此時(shí)Java虛擬機(jī)的內(nèi)存空間分配情況如下圖所示。課件制作人:明日科技2.3.4數(shù)據(jù)類型之間的相互轉(zhuǎn)換所謂數(shù)據(jù)類型之間的相互轉(zhuǎn)換,就是將變量從當(dāng)前的數(shù)據(jù)類型轉(zhuǎn)換為其他數(shù)據(jù)類型。在Java中數(shù)據(jù)類型之間的相互轉(zhuǎn)換可以分為以下3種情況:基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換;字符串與其他數(shù)據(jù)類型之間的相互轉(zhuǎn)換;引用數(shù)據(jù)類型之間的相互轉(zhuǎn)換。說(shuō)明:這里只介紹基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換,其他兩種情況將在相關(guān)的章節(jié)中介紹。課件制作人:明日科技2.3.4數(shù)據(jù)類型之間的相互轉(zhuǎn)換在對(duì)多個(gè)基本數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行混合運(yùn)算時(shí),如果這幾個(gè)數(shù)據(jù)并不屬于同一基本數(shù)據(jù)類型,需要先將它們轉(zhuǎn)換為統(tǒng)一的數(shù)據(jù)類型,然后才能進(jìn)行運(yùn)算?;緮?shù)據(jù)類型之間的相互轉(zhuǎn)換又分為兩種情況:自動(dòng)類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換。課件制作人:明日科技1.自動(dòng)類型轉(zhuǎn)換當(dāng)需要從低級(jí)類型向高級(jí)類型轉(zhuǎn)換時(shí),編程人員無(wú)需進(jìn)行任何操作,Java會(huì)自動(dòng)完成類型轉(zhuǎn)換。低級(jí)類型是指取值范圍相對(duì)較小的數(shù)據(jù)類型,高級(jí)類型則指取值范圍相對(duì)較大的數(shù)據(jù)類型,例如long型相對(duì)于float型是低級(jí)數(shù)據(jù)類型,但是相對(duì)于int型則是高級(jí)數(shù)據(jù)類型。在基本數(shù)據(jù)類型中,除了boolean類型外均可參與算術(shù)運(yùn)算,這些數(shù)據(jù)類型從低到高的排序如下圖所示。課件制作人:明日科技自動(dòng)類型轉(zhuǎn)換在不同數(shù)據(jù)類型間的算術(shù)運(yùn)算中,自動(dòng)類型轉(zhuǎn)換可以分為兩種情況進(jìn)行考慮:第一種情況含有int、long、float或double型的數(shù)據(jù)第二種情況含有byte、short或char型的數(shù)據(jù)。課件制作人:明日科技自動(dòng)類型轉(zhuǎn)換

第一種情況如果在算術(shù)表達(dá)式中含有int、long、float或double型的數(shù)據(jù),Java首先會(huì)將所有數(shù)據(jù)類型較低的變量自動(dòng)轉(zhuǎn)換為表達(dá)式中最高的數(shù)據(jù)類型,然后再進(jìn)行計(jì)算,并且計(jì)算結(jié)果的數(shù)據(jù)類型是表達(dá)式中級(jí)別最高的數(shù)據(jù)類型。例如下面這段代碼:Java首先會(huì)自動(dòng)將表達(dá)式“b*c-i+l”中的變量b、c和i的數(shù)據(jù)類型轉(zhuǎn)換為long型。然后再進(jìn)行計(jì)算,并且計(jì)算結(jié)果的數(shù)據(jù)類型為long型。所以將表達(dá)式“b*c-i+l”直接賦值給數(shù)據(jù)類型相對(duì)小于long型(例如int型)的變量是不允許的,但是可以直接賦值給數(shù)據(jù)類型相對(duì)大于long型(例如float型)的變量。byteb=75;charc='c';inti=794215;longl=9876543210L;longresult=b*c-i+l;再看下面這段代碼:Java首先會(huì)自動(dòng)將表達(dá)式“b*c-i+d”中的變量b、c和i的數(shù)據(jù)類型轉(zhuǎn)換為double型,然后再進(jìn)行計(jì)算,并且計(jì)算結(jié)果的數(shù)據(jù)類型為double型。所以將表達(dá)式“b*c-i+d”直接賦值給數(shù)據(jù)類型相對(duì)小于double型(例如long型)的變量是不允許的。byteb=75;charc='c';inti=794215;doubled=11.17;doubleresult=b*c-i+d;課件制作人:明日科技自動(dòng)類型轉(zhuǎn)換

第二種情況如果在算術(shù)表達(dá)式中只含有byte、short或char型的數(shù)據(jù),Java首先會(huì)將所有變量的類型自動(dòng)轉(zhuǎn)換為int型,然后再進(jìn)行計(jì)算,并且計(jì)算結(jié)果的數(shù)據(jù)類型是int型。例如下面這段代碼:Java首先會(huì)自動(dòng)將表達(dá)式“b+s*c”中的變量b、s和c的數(shù)據(jù)類型轉(zhuǎn)換為int型,然后再進(jìn)行計(jì)算,并且計(jì)算結(jié)果的數(shù)據(jù)類型為int型。所以將表達(dá)式“b+s*c”直接賦值給數(shù)據(jù)類型小于int型(例如char型)的變量是不允許的,但是可以直接賦值給數(shù)據(jù)類型相對(duì)大于int型(例如long型)的變量。byteb=75;shorts=9412;charc='c';intresult=b+s*c;再看下面這段代碼:即使是在這段代碼中,Java也會(huì)自動(dòng)將表達(dá)式“s1*s2”中的變量s1和s2的數(shù)據(jù)類型轉(zhuǎn)換為int型,然后再進(jìn)行計(jì)算,并且計(jì)算結(jié)果的數(shù)據(jù)類型也為int型。對(duì)于數(shù)據(jù)類型為byte、short、int、long、float和double的變量,可以將數(shù)據(jù)類型較小的數(shù)據(jù)或變量,直接賦值給數(shù)據(jù)類型較大的變量,但是相反的條件則不成立。shorts1=75;shorts2=9412;intresult=s1*s2;課件制作人:明日科技2.強(qiáng)制類型轉(zhuǎn)換如果需要把數(shù)據(jù)類型較高的數(shù)據(jù)或變量賦值給數(shù)據(jù)類型相對(duì)較低的變量,就必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換。例如將Java默認(rèn)為double型的數(shù)據(jù)“7.5”,賦值給數(shù)據(jù)類型為int型變量的方式如下:inti=(int)7.5;這句代碼在數(shù)據(jù)“7.5”的前方添加了代碼“(int)”,意思就是將數(shù)據(jù)“7.5”的類型強(qiáng)制轉(zhuǎn)換為int型。在執(zhí)行強(qiáng)制類型轉(zhuǎn)換時(shí),可能會(huì)導(dǎo)致數(shù)據(jù)溢出或精度降低。例如上面語(yǔ)句中變量i的值最終為7,導(dǎo)致數(shù)據(jù)精度降低。課件制作人:明日科技2.強(qiáng)制類型轉(zhuǎn)換如果將Java默認(rèn)為int型的數(shù)據(jù)“774”賦值給數(shù)據(jù)類型為byte型變量,方法如下:byteb=(byte)774;最終變量b的值為6,原因是整數(shù)774超出了byte型的取值范圍,在進(jìn)行強(qiáng)制類型轉(zhuǎn)換時(shí),整數(shù)774的二進(jìn)制數(shù)據(jù)的前24位將被舍棄,變量b的數(shù)值是后8位的二進(jìn)制數(shù)據(jù),如下圖所示。課件制作人:明日科技2.4數(shù)組數(shù)組是一種最為常見(jiàn)的數(shù)據(jù)結(jié)構(gòu),通過(guò)數(shù)組可以保存一組相同數(shù)據(jù)類型的數(shù)據(jù),數(shù)組一旦創(chuàng)建,它的長(zhǎng)度就固定了。數(shù)組的類型可以為基本數(shù)據(jù)類型,也可以為引用數(shù)據(jù)類型,可以是一維數(shù)據(jù),二維數(shù)據(jù),甚至是多維數(shù)據(jù)。課件制作人:明日科技2.4.1數(shù)組的聲明聲明一維數(shù)組的方式如下:這兩種聲明數(shù)組格式的作用是相同的。Java語(yǔ)言中的二維數(shù)組是一種特殊的一維數(shù)組,即數(shù)組的每個(gè)元素又是一個(gè)一維數(shù)組,Java語(yǔ)言并不直接支持二維數(shù)組。聲明二維數(shù)組的方式如下:數(shù)組類型[]數(shù)組標(biāo)識(shí)符;數(shù)組類型數(shù)組標(biāo)識(shí)符[];數(shù)組類型[][]數(shù)組標(biāo)識(shí)符;或數(shù)組類型數(shù)組標(biāo)識(shí)符[][];課件制作人:明日科技2.4.2創(chuàng)建數(shù)組創(chuàng)建數(shù)組實(shí)質(zhì)上就是在內(nèi)存中為數(shù)組分配相應(yīng)的存儲(chǔ)空間,有兩種方式可以創(chuàng)建一維數(shù)組,一種是通過(guò)new關(guān)鍵字創(chuàng)建,另一種是通過(guò)“{}”創(chuàng)建,例如:int[]months=newint[12]; //months的長(zhǎng)度為12boolean[]members={false,true,true,false}; //members的長(zhǎng)度為4課件制作人:明日科技二維數(shù)組的創(chuàng)建方式如下:int[][]days=newint[2][3];booleanholidays[][]={{true,false,true},{false,true,false}};二維數(shù)組可以看做一個(gè)表格。數(shù)組days看成一個(gè)2行3列的表格,數(shù)組holidays看成2行3列的表格

列索引0列索引1列索引2行索引0days[0][0]days[0][1]days[0][2]行索引1days[1][0]days[1][1]days[1][2]課件制作人:明日科技2.4.3初始化數(shù)組在聲明數(shù)組的同時(shí)也可以給數(shù)組元素一個(gè)初始值,一維數(shù)組初始化如下:二維數(shù)組初始化如下:intboy[]={2,45,36,7,69};或intboy[]=newint[5]booleanholidays[][]={{true,false,true},{false,true,false}};課件制作人:明日科技2.4.4數(shù)組長(zhǎng)度如果需要獲得一維數(shù)組的長(zhǎng)度,可以通過(guò)下面的方式:System.out.println(months.length); //輸出值為12System.out.println(members.length); //輸出值為4課件制作人:明日科技如果是通過(guò)下面的方式獲得二維數(shù)組的長(zhǎng)度,得到的是二維數(shù)組的行數(shù):如果需要獲得二維數(shù)組的列數(shù),可以通過(guò)下面的方式:System.out.println(days.length); //輸出值為2System.out.println(holidays.length); //輸出值為2System.out.println(days[0].length); //輸出值為3System.out.println(holidays[0].length); //輸出值為3課件制作人:明日科技2.4.5使用數(shù)組元素一維數(shù)組在訪問(wèn)數(shù)組中的元素時(shí),需要同時(shí)指定數(shù)組標(biāo)識(shí)符和元素在數(shù)組中的索引,例如訪問(wèn)上面代碼中創(chuàng)建的數(shù)組,具體代碼如下:System.out.println(months[2]);System.out.println(members[2]);課件制作人:明日科技二維數(shù)組也是通過(guò)索引符訪問(wèn)自己的元素,在訪問(wèn)數(shù)組中的元素時(shí),需要同時(shí)指定數(shù)組標(biāo)識(shí)符和元素在數(shù)組中的索引,例如訪問(wèn)2.4.2節(jié)代碼中創(chuàng)建的二維數(shù)組,輸出位于第2行、第3列的元素,具體代碼如下:System.out.println(days[1][2]);System.out.println(holidays[1][2]);《Java實(shí)用教程》課件制作人:明日科技Java實(shí)用教程第3章運(yùn)算符與流程控制課件制作人:明日科技第

3

章運(yùn)算符與流程控制3.1運(yùn)算符3.2if語(yǔ)句3.3switch多分支語(yǔ)句3.4if語(yǔ)句與switch語(yǔ)句的區(qū)別3.5循環(huán)語(yǔ)句3.6跳轉(zhuǎn)語(yǔ)句課件制作人:明日科技3.1運(yùn)算符Java語(yǔ)言中的運(yùn)算符主要包括:賦值運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符位運(yùn)算符課件制作人:明日科技3.1.1賦值運(yùn)算符賦值運(yùn)算符的符號(hào)為“=”,它的作用是將數(shù)據(jù)、變量、對(duì)象賦值給相應(yīng)類型的變量,例如下面的代碼:賦值運(yùn)算符的運(yùn)算順序?yàn)閺挠业阶蟆@缭谙旅娴拇a中,首先是計(jì)算表達(dá)式“9412+75”的和,然后將計(jì)算結(jié)果賦值給變量result:inti=75; //將數(shù)據(jù)賦值給變量longl=i; //將變量賦值給變量Objectobject=newObject(); //創(chuàng)建對(duì)象intresult=9412+75;課件制作人:明日科技賦值運(yùn)算符如果兩個(gè)變量的值相同,也可以采用下面的方式完成賦值操作:intx,y; //聲明兩個(gè)int型變量x=y=0; //為兩個(gè)變量同時(shí)賦值課件制作人:明日科技3.1.2算術(shù)運(yùn)算符算術(shù)運(yùn)算符支持整數(shù)型數(shù)據(jù)和浮點(diǎn)數(shù)型數(shù)據(jù)的運(yùn)算,當(dāng)整數(shù)型數(shù)據(jù)與浮點(diǎn)數(shù)型數(shù)據(jù)之間進(jìn)行算術(shù)運(yùn)算時(shí),Java會(huì)自動(dòng)完成數(shù)據(jù)類型的轉(zhuǎn)換,并且計(jì)算結(jié)果為浮點(diǎn)數(shù)型。運(yùn)算符功能舉例運(yùn)算結(jié)果結(jié)果類型+加法運(yùn)算10+7.517.5double-減法運(yùn)算10–7.5F2.5Ffloat*乘法運(yùn)算3*721int/除法運(yùn)算21/3L7Llong%求余運(yùn)算10%31int課件制作人:明日科技算術(shù)運(yùn)算符在進(jìn)行算術(shù)運(yùn)算時(shí),有兩種情況需要考慮:沒(méi)有小數(shù)參與運(yùn)算有小數(shù)參與運(yùn)算。課件制作人:明日科技沒(méi)有小數(shù)參與運(yùn)算在對(duì)整數(shù)型數(shù)據(jù)或變量進(jìn)行加法(+)、減法(-)和乘法(*)運(yùn)算時(shí),與數(shù)學(xué)中的運(yùn)算方式完全相同,但是在整數(shù)之間進(jìn)行除法(/)和求余(%)運(yùn)算時(shí)需要注意幾個(gè)問(wèn)題。注意除法運(yùn)算注意求余運(yùn)算關(guān)于0的問(wèn)題課件制作人:明日科技除法運(yùn)算在整數(shù)類型的數(shù)據(jù)和變量之間進(jìn)行除法運(yùn)算時(shí),無(wú)論能否整除,運(yùn)算結(jié)果都將是一個(gè)整數(shù),而且這個(gè)整數(shù)不是通過(guò)四舍五入得到的,而是簡(jiǎn)單地去掉小數(shù)部分。例如通過(guò)下面的代碼分別計(jì)算10除以3和5除以2,最終輸出的運(yùn)算結(jié)果依次為3和2:System.out.println(10/3); //輸出運(yùn)算結(jié)果為3System.out.println(5/2); //輸出運(yùn)算結(jié)果為2課件制作人:明日科技求余運(yùn)算在整數(shù)類型的數(shù)據(jù)和變量之間進(jìn)行求余(%)運(yùn)算時(shí),運(yùn)算結(jié)果是數(shù)學(xué)運(yùn)算中余數(shù)。例如通過(guò)下面的代碼分別計(jì)算10%3、10%5和10%7,最終輸出的運(yùn)算結(jié)果依次為1、0和3:System.out.println(10%3); //輸出運(yùn)算結(jié)果為1System.out.println(10%5); //輸出運(yùn)算結(jié)果為0System.out.println(10%7); //輸出運(yùn)算結(jié)果為3課件制作人:明日科技關(guān)于0的問(wèn)題與數(shù)學(xué)運(yùn)算一樣,0可以做被除數(shù),但是不可以做除數(shù)。當(dāng)0做被除數(shù)時(shí),無(wú)論是除法運(yùn)算,還是求余運(yùn)算,運(yùn)算結(jié)果都為0。例如通過(guò)下面的代碼分別計(jì)算0除以6和0除以6求余數(shù),最終輸出的運(yùn)算結(jié)果均為0:注意:如果0做除數(shù),雖然可以編譯成功,但是在運(yùn)行時(shí)會(huì)拋出java.lang.ArithmeticException異常,即算術(shù)運(yùn)算異常。System.out.println(0/6); //輸出運(yùn)算結(jié)果為0System.out.println(0%6); //輸出運(yùn)算結(jié)果為0課件制作人:明日科技有小數(shù)參與運(yùn)算在對(duì)浮點(diǎn)數(shù)類型的數(shù)據(jù)或變量進(jìn)行算術(shù)運(yùn)算時(shí),如果在算術(shù)表達(dá)式中含有double類型的數(shù)據(jù)或變量,則運(yùn)算結(jié)果為double型,否則運(yùn)算結(jié)果為float型。在對(duì)浮點(diǎn)數(shù)類型數(shù)據(jù)或變量進(jìn)行算術(shù)運(yùn)算時(shí),計(jì)算機(jī)的計(jì)算結(jié)果可能會(huì)在小數(shù)點(diǎn)后包含n位小數(shù),這些小數(shù)在有些時(shí)候并不是精確的,計(jì)算機(jī)的計(jì)算結(jié)果會(huì)與數(shù)學(xué)運(yùn)算的結(jié)果存在一定的誤差,只能是盡量接近數(shù)學(xué)運(yùn)算中的結(jié)果。課件制作人:明日科技有小數(shù)參與運(yùn)算如果被除數(shù)為浮點(diǎn)型數(shù)據(jù)或變量,無(wú)論是除法運(yùn)算,還是求余運(yùn)算,0都可以做除數(shù)。如果是除法運(yùn)算,當(dāng)被除數(shù)是正數(shù)時(shí),運(yùn)算結(jié)果為Infinity,表示無(wú)窮大,當(dāng)被除數(shù)是負(fù)數(shù)時(shí),運(yùn)算結(jié)果為-Infinity,表示無(wú)窮?。蝗绻乔笥噙\(yùn)算,運(yùn)算結(jié)果為NaN,表示非數(shù)字。例如下面的代碼:System.out.println(7.5/0); //輸出的運(yùn)算結(jié)果為InfinitySystem.out.println(-7.5/0); //輸出的運(yùn)算結(jié)果為-InfinitySystem.out.println(7.5%0); //輸出的運(yùn)算結(jié)果為NaNSystem.out.println(-7.5%0); //輸出的運(yùn)算結(jié)果為NaN課件制作人:明日科技3.1.3關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于比較大小,運(yùn)算結(jié)果為boolean型,當(dāng)關(guān)系表達(dá)式成立時(shí),運(yùn)算結(jié)果為true,否則運(yùn)算結(jié)果為false。運(yùn)算符功能舉例結(jié)果可運(yùn)算數(shù)據(jù)類型>大于'a'>'b'false整數(shù)、浮點(diǎn)數(shù)、字符<小于2<3.0true整數(shù)、浮點(diǎn)數(shù)、字符==等于'X'==88true所有數(shù)據(jù)類型!=不等于true!=truefalse所有數(shù)據(jù)類型>=大于或等于6.6>=8.8false整數(shù)、浮點(diǎn)數(shù)、字符<=小于或等于'M'<=88true整數(shù)、浮點(diǎn)數(shù)、字符要注意關(guān)系運(yùn)算符“==”和賦值運(yùn)算符“=”的區(qū)別!

課件制作人:明日科技3.1.4邏輯運(yùn)算符邏輯運(yùn)算符用于對(duì)boolean型數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果仍為boolean型。Java中的邏輯運(yùn)算符包括:!(取反)^(異或)&(與)|(或)&&(簡(jiǎn)潔與)||(簡(jiǎn)潔或)下面將依次介紹各個(gè)運(yùn)算符的用法和特點(diǎn)。課件制作人:明日科技取反運(yùn)算符“!”運(yùn)算符“!”用于對(duì)邏輯值進(jìn)行取反運(yùn)算,當(dāng)邏輯值為true時(shí),經(jīng)過(guò)取反運(yùn)算后運(yùn)算結(jié)果為false,否則當(dāng)邏輯值為false時(shí),經(jīng)過(guò)取反運(yùn)算后運(yùn)算結(jié)果則為true,例如下面的代碼:System.out.println(!true); //輸出結(jié)果為falseSystem.out.println(!false); //輸出結(jié)果為true課件制作人:明日科技異或運(yùn)算符“^”運(yùn)算符“^”用于對(duì)邏輯值進(jìn)行異或運(yùn)算,當(dāng)運(yùn)算符的兩側(cè)同時(shí)為true或false時(shí),運(yùn)算結(jié)果為false,否則運(yùn)算結(jié)果為true。例如下面的代碼:System.out.println(true^true); //輸出的運(yùn)算結(jié)果為falseSystem.out.println(true^false); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(false^true); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(false^false); //輸出的運(yùn)算結(jié)果為false課件制作人:明日科技運(yùn)算符“&&”和“&”運(yùn)算符“&&”和“&”均用于邏輯與運(yùn)算,當(dāng)運(yùn)算符的兩側(cè)同時(shí)為true時(shí),運(yùn)算結(jié)果為true,否則運(yùn)算結(jié)果均為false。例如下面的代碼:System.out.println(true&true); //輸出結(jié)果為trueSystem.out.println(true&false); //輸出結(jié)果為falseSystem.out.println(false&true); //輸出結(jié)果為falseSystem.out.println(false&false); //輸出結(jié)果為falseSystem.out.println(true&&true); //輸出結(jié)果為trueSystem.out.println(true&&false); //輸出結(jié)果為falseSystem.out.println(false&&true); //輸出結(jié)果為falseSystem.out.println(false&&false); //輸出結(jié)果為false課件制作人:明日科技運(yùn)算符“&&”和“&”的區(qū)別運(yùn)算符“&&”為簡(jiǎn)潔與運(yùn)算符,運(yùn)算符“&”為非簡(jiǎn)潔與運(yùn)算符,它們的區(qū)別如下:運(yùn)算符“&&”只有在其左側(cè)為true時(shí),才運(yùn)算其右側(cè)的邏輯表達(dá)式,否則直接返回運(yùn)算結(jié)果false。運(yùn)算符“&”無(wú)論其左側(cè)為true或false,都要運(yùn)算其右側(cè)的邏輯表達(dá)式,最后才返回運(yùn)算結(jié)果。課件制作人:明日科技運(yùn)算符“||”和“|”運(yùn)算符“||”和“|”均用于邏輯或運(yùn)算,當(dāng)運(yùn)算符的兩側(cè)同時(shí)為false時(shí),運(yùn)算結(jié)果為false,否則運(yùn)算結(jié)果均為true,例如下面的代碼:System.out.println(true|true); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(true|false); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(false|true); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(false|false); //輸出的運(yùn)算結(jié)果為falseSystem.out.println(true||true); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(true||false); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(false||true); //輸出的運(yùn)算結(jié)果為trueSystem.out.println(false||false); //輸出的運(yùn)算結(jié)果為false課件制作人:明日科技運(yùn)算符“||”和“|”的區(qū)別運(yùn)算符“||”為簡(jiǎn)潔或運(yùn)算符,運(yùn)算符“|”為非簡(jiǎn)潔或運(yùn)算符,它們的區(qū)別如下:運(yùn)算符“||”只有在其左側(cè)為false時(shí),才運(yùn)算其右側(cè)的邏輯表達(dá)式,否則直接返回運(yùn)算結(jié)果true。運(yùn)算符“|”無(wú)論其左側(cè)為true或false,都要運(yùn)算其右側(cè)的邏輯表達(dá)式,最后才返回運(yùn)算結(jié)果。課件制作人:明日科技3.1.5位運(yùn)算符位運(yùn)算是對(duì)操作數(shù)以二進(jìn)制位為單位進(jìn)行的操作和運(yùn)算,運(yùn)算結(jié)果均為整數(shù)型。位運(yùn)算符又分為邏輯位運(yùn)算符和移位運(yùn)算符兩種。課件制作人:明日科技邏輯位運(yùn)算符邏輯位運(yùn)算符包括:“~”(按位取反)“&”(按位與)“|”(按位或)“^”(按位異或)它們用來(lái)對(duì)操作數(shù)進(jìn)行按位運(yùn)算,運(yùn)算規(guī)則如下表所示。課件制作人:明日科技邏輯位運(yùn)算符按位取反運(yùn)算是將二進(jìn)制位中的0修改為1,1修改為0;在進(jìn)行按位與運(yùn)算時(shí),只有當(dāng)兩個(gè)二進(jìn)制位都為1時(shí),結(jié)果才為1;在進(jìn)行按位或運(yùn)算時(shí),只要有一個(gè)二進(jìn)制位為1,結(jié)果就為1;在進(jìn)行按位異或運(yùn)算時(shí),當(dāng)兩個(gè)二進(jìn)制位同時(shí)為0或1時(shí),結(jié)果為0,否則結(jié)果為1。操作數(shù)x操作數(shù)y~xx&yx|yx^y001000011011100011110110課件制作人:明日科技移位運(yùn)算符移位運(yùn)算符包括:“<<”(左移,低位添0補(bǔ)齊)“>>”(右移,高位添符號(hào)位)“>>>”(無(wú)符號(hào)右移,高位添0補(bǔ)齊)它們用來(lái)對(duì)操作數(shù)進(jìn)行移位運(yùn)算。課件制作人:明日科技3.1.6對(duì)象運(yùn)算符(instanceof)對(duì)象運(yùn)算符用來(lái)判斷對(duì)象是否為某一類型,運(yùn)算結(jié)果為boolean型,如果是則返回true,否則返回false,對(duì)象運(yùn)算符的關(guān)鍵字為“instanceof”,它的用法為:對(duì)象標(biāo)識(shí)符instanceof類型標(biāo)識(shí)符例如:java.util.Datedate=newjava.util.Date();System.out.println(dateinstanceofjava.util.Date);//結(jié)果為trueSystem.out.println(dateinstanceofjava.sql.Date);//結(jié)果為false課件制作人:明日科技3.1.7其他運(yùn)算符Java中除了前面介紹的幾類運(yùn)算符外,還有一些不屬于上述類別的運(yùn)算符,如下表所示。運(yùn)算符說(shuō)明運(yùn)算結(jié)果類型++一元運(yùn)算符,自動(dòng)遞增與操作元的類型相同-

-一元運(yùn)算符,自動(dòng)遞減與操作元的類型相同?:三元運(yùn)算符,根據(jù)“?”左側(cè)的邏輯值,決定返回“:”兩側(cè)中的一個(gè)值,類似if…else流程控制語(yǔ)句與返回值的類型相同[

]用于聲明、建立或訪問(wèn)數(shù)組的元素?cái)?shù)組類型.訪問(wèn)類的成員或?qū)ο蟮膶?shí)例成員若訪問(wèn)的是成員變量,則類型與該成員變量相同;若訪問(wèn)的是方法,則類型與該方法的返回值相同課件制作人:明日科技自動(dòng)遞增、遞減運(yùn)算符與C、C++類似,Java語(yǔ)言也提供了自動(dòng)遞增與遞減運(yùn)算符,其作用是自動(dòng)將變量值加1或減1。它們既可以放在操作元的前面,也可以放在操作元的后面,根據(jù)運(yùn)算符位置的不同,最終得到的結(jié)果也是不同的。放在操作元前面的自動(dòng)遞增、遞減運(yùn)算符,會(huì)先將變量的值加1,然后再使該變量參與表達(dá)式的運(yùn)算課件制作人:明日科技自動(dòng)遞增、遞減運(yùn)算符放在操作元后面的遞增、遞減運(yùn)算符,會(huì)先使變量參與表達(dá)式的運(yùn)算,然后再將該變量加1。例如:intnum1=3;intnum2=3;inta=2+(++num1);//先將變量num1加1,然后再執(zhí)行“2+4”intb=2+(num2++);//先執(zhí)行“2+3”,然后再將變量num2加1課件制作人:明日科技三元運(yùn)算符“?:”三元運(yùn)算符“?:”的應(yīng)用形式如下:三元運(yùn)算符“?:”的運(yùn)算規(guī)則為:若邏輯表達(dá)式的值為true,則整個(gè)表達(dá)式的值為表達(dá)式1的值,否則為表達(dá)式2的值。例如:這段代碼的輸出結(jié)果為“庫(kù)存量:12”邏輯表達(dá)式?表達(dá)式1:表達(dá)式2intstore=12;System.out.println(store<=5?"庫(kù)存不足!":"庫(kù)存量:"+store);課件制作人:明日科技3.1.8運(yùn)算符的優(yōu)先級(jí)別

及結(jié)合性當(dāng)在一個(gè)表達(dá)式中存在多個(gè)運(yùn)算符進(jìn)行混合運(yùn)算時(shí),會(huì)根據(jù)運(yùn)算符的優(yōu)先級(jí)別來(lái)決定運(yùn)算順序,優(yōu)先級(jí)最高的是括號(hào)“()”,它的使用與數(shù)學(xué)運(yùn)算中的括號(hào)一樣,只是用來(lái)指定括號(hào)內(nèi)的表達(dá)式要優(yōu)先處理。例如:intnum=8*(4+6); //num為80課件制作人:明日科技3.1.8運(yùn)算符的優(yōu)先級(jí)別

及結(jié)合性對(duì)于處在同一層級(jí)的運(yùn)算符,則按照它們的結(jié)合性,即“先左后右”還是“先右后左”的順序來(lái)執(zhí)行。Java中除賦值運(yùn)算符的結(jié)合性為“先右后左”外,其他所有運(yùn)算符的結(jié)合性都是“先左后右”。關(guān)于運(yùn)算符優(yōu)先級(jí)的順序,如下表所示。課件制作人:明日科技優(yōu)先級(jí)說(shuō)明運(yùn)算符最高括號(hào)()

正負(fù)號(hào)+-

一元運(yùn)算符++--!~乘除運(yùn)算*/%

加減運(yùn)算+-

移位運(yùn)算<<>>>>>

比較大小<><=>=比較是否相等==!=

按位與運(yùn)算&

按位異或運(yùn)算^

按位或運(yùn)算|

邏輯與運(yùn)算&&

邏輯或運(yùn)算||

三元運(yùn)算符?:

最低賦值及復(fù)合賦值=*=/=%=+=-=>>=>>>=<<<=&=^=|=課件制作人:明日科技3.2if語(yǔ)句if語(yǔ)句可分為以下3種形式:(1)簡(jiǎn)單的if條件語(yǔ)句(2)if-else條件語(yǔ)句(3)if-elseif多分支條件語(yǔ)句課件制作人:明日科技3.2.1簡(jiǎn)單的if條件語(yǔ)句

簡(jiǎn)單的if條件語(yǔ)句就是對(duì)某種條件做出相應(yīng)的處理。通常表現(xiàn)為“如果滿足某種情況,那么就進(jìn)行某種處理”。它的一般形式為:例如:如果今天下雨,我們就不出去玩。條件語(yǔ)句為:if(表達(dá)式){

語(yǔ)句序列}if(今天下雨){

我們就不出去玩}課件制作人:明日科技簡(jiǎn)單的if條件語(yǔ)句表達(dá)式是必要參數(shù)。其值可以由多個(gè)表達(dá)式組成,但是其最后結(jié)果一定是boolean類型,也就是其結(jié)果只能是true或false。語(yǔ)句序列是可選參數(shù)。包含一條或多條語(yǔ)句,當(dāng)表達(dá)式的值為true時(shí)執(zhí)行這些語(yǔ)句。如果該語(yǔ)句只有一條語(yǔ)句,大括號(hào)也可以省略不寫(xiě)。下面的代碼都是正確的。if(今天下雨);if(今天下雨)

我們就不出去玩;課件制作人:明日科技簡(jiǎn)單的if條件語(yǔ)句如圖所示,if條件語(yǔ)句,在條件表達(dá)式的結(jié)果為true時(shí),將執(zhí)行語(yǔ)句序列。課件制作人:明日科技3.2.2if...else條件語(yǔ)句if…else條件語(yǔ)句也是條件語(yǔ)句的一種最通用的形式。else是可選的。通常表現(xiàn)為“如果滿足某種條件,就做某種處理,否則做另一種處理”。它的一般形式為:if(表達(dá)式){

語(yǔ)句序列1}else{

語(yǔ)句序列2}課件制作人:明日科技if...else條件語(yǔ)句語(yǔ)句序列1是可選參數(shù)。由一條或多條語(yǔ)句組成,當(dāng)表達(dá)式的值為true時(shí)執(zhí)行這些語(yǔ)句。語(yǔ)句序列2也是可選參數(shù)。包含一條或多條語(yǔ)句,當(dāng)表達(dá)式的值為false時(shí)執(zhí)行這些語(yǔ)句。例如:如果指定年為閏年,二月份為29天,否則二月份為28天。條件語(yǔ)句為:if(今年是閏年){

二月份為29天}else{

二月份為28天}課件制作人:明日科技if...else條件語(yǔ)句如圖所示,if…else語(yǔ)句在表達(dá)式的值為true時(shí),執(zhí)行語(yǔ)句序列1,否則,執(zhí)行語(yǔ)句序列2。課件制作人:明日科技3.2.3if...elseif多分支語(yǔ)句if…elseif多分支語(yǔ)句用于針對(duì)某一事件的多種情況進(jìn)行處理。通常表現(xiàn)為“如果滿足某種條件,就進(jìn)行某種處理,否則如果滿足另一種條件才執(zhí)行另一種處理”。它的一般形式為:if(表達(dá)式1){

語(yǔ)句序列1}elseif(表達(dá)式2){

語(yǔ)句序列2}else{

語(yǔ)句序列n}課件制作人:明日科技if...elseif多分支語(yǔ)句語(yǔ)句序列1在表達(dá)式1的值為true時(shí)被執(zhí)行,語(yǔ)句序列2在表達(dá)式2的值為true時(shí)被執(zhí)行,語(yǔ)句序列n在表達(dá)式1的值為false,表達(dá)式2的值也為false時(shí)被執(zhí)行。if…elseif多分支語(yǔ)句執(zhí)行過(guò)程如下圖所示。課件制作人:明日科技if...elseif多分支語(yǔ)句例如:如果今天是星期一,上數(shù)學(xué)課;如果今天是星期二,上語(yǔ)文課;否則上自習(xí)。條件語(yǔ)句為:if(今天是星期一){

上數(shù)學(xué)課}elseif(今天是星期二){

上語(yǔ)文課}else{

上自習(xí)}課件制作人:明日科技3.2.4if語(yǔ)句的嵌套if語(yǔ)句的嵌套就是在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句。這樣的語(yǔ)句一般都用在比較復(fù)雜的分支語(yǔ)句中。它的一般形式為右側(cè)的語(yǔ)句格式。在嵌套的語(yǔ)句中最好不要省略大括號(hào)。以提高代碼的可讀性。if(表達(dá)式1){if(表達(dá)式2){

語(yǔ)句序列1}else{

語(yǔ)句序列2}}else{if(表達(dá)式3){

語(yǔ)句序列3}else{

語(yǔ)句序列4}}課件制作人:明日科技3.3switch多分支語(yǔ)句switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句序列1[break;]case常量表達(dá)式2:語(yǔ)句序列2[break;]

……case常量表達(dá)式n:語(yǔ)句序列n[break;]default:語(yǔ)句序列n+1[break;]}switch語(yǔ)句是多分支的開(kāi)關(guān)語(yǔ)句。根據(jù)表達(dá)式的值來(lái)執(zhí)行輸出的語(yǔ)句。這樣的語(yǔ)句一般用于多條件多值的分支語(yǔ)句中。右側(cè)是它的語(yǔ)法格式:break用于結(jié)束switch語(yǔ)句。課件制作人:明日科技switch多分支語(yǔ)句switch語(yǔ)句中表達(dá)式的值必須是整型或字符型。即int、short、byte和char型。Switch會(huì)根據(jù)表達(dá)式的值,執(zhí)行符合常量表達(dá)式的語(yǔ)句序列。當(dāng)表達(dá)式的值沒(méi)有匹配的常量表達(dá)式時(shí),則執(zhí)行default定義的語(yǔ)句序列,即“語(yǔ)句序列n+1”。default是可選參數(shù),如果沒(méi)有該參數(shù),并且所有常量值與表達(dá)式的值不匹配,那么switch語(yǔ)句就不會(huì)進(jìn)行任何操作。該語(yǔ)句執(zhí)行流程如右圖所示

課件制作人:明日科技3.4if語(yǔ)句和switch語(yǔ)句的區(qū)別

if語(yǔ)句和switch語(yǔ)句可以從使用的效率上來(lái)進(jìn)行區(qū)別,也可以從實(shí)用性角度去區(qū)分。如果從使用的效率上進(jìn)行區(qū)分,在對(duì)同一個(gè)變量的不同值作條件判斷時(shí),使用switch語(yǔ)句的效率相對(duì)更高一些,尤其是判斷的分支越多越明顯。如果從語(yǔ)句的實(shí)用性的角度去區(qū)分,那switch語(yǔ)句肯定不如if語(yǔ)句。if語(yǔ)句是應(yīng)用最廣泛和最實(shí)用的語(yǔ)句。課件制作人:明日科技3.5循環(huán)語(yǔ)句循環(huán)語(yǔ)句就是重復(fù)執(zhí)行某段程序代碼,直到滿足特定條件為止。在Java語(yǔ)言中循環(huán)語(yǔ)句有以下3種形式:for循環(huán)語(yǔ)句while循環(huán)語(yǔ)句do-while循環(huán)語(yǔ)句課件制作人:明日科技3.5.1for循環(huán)語(yǔ)句

for語(yǔ)句是最常用的循環(huán)語(yǔ)句,一般用在循環(huán)次數(shù)已知的情況下。它的一般形式為:初始化語(yǔ)句用于初始化循環(huán)體變量。循環(huán)條件用于判斷是否繼續(xù)執(zhí)行循環(huán)體。其只能是true或false。迭代語(yǔ)句用于改變循環(huán)條件的語(yǔ)句。語(yǔ)句序列稱為循環(huán)體,當(dāng)循環(huán)條件的結(jié)果為true時(shí),將重復(fù)執(zhí)行。for(初始化語(yǔ)句;循環(huán)條件;迭代語(yǔ)句){

語(yǔ)句序列}課件制作人:明日科技for循環(huán)語(yǔ)句for循環(huán)語(yǔ)句的流程首先執(zhí)行初始化語(yǔ)句,然后判斷循環(huán)條件,當(dāng)循環(huán)條件為true時(shí),就執(zhí)行一次循環(huán)體,最后執(zhí)行迭代語(yǔ)句,改變循環(huán)變量的值。這樣就結(jié)束了一輪的循環(huán)。接下來(lái)進(jìn)行下一次循環(huán)(不包括初始化語(yǔ)句),直到循環(huán)條件的值為false時(shí),才結(jié)束循環(huán)。for循環(huán)語(yǔ)句執(zhí)行過(guò)程如圖所示。課件制作人:明日科技3.5.2while循環(huán)語(yǔ)句while語(yǔ)句是用一個(gè)表達(dá)式來(lái)控制循環(huán)的語(yǔ)句。它的一般形式為:表達(dá)式用于判斷是否執(zhí)行循環(huán),它的值只能是true或false。當(dāng)循環(huán)開(kāi)始時(shí),首先會(huì)執(zhí)行表達(dá)式,如果表達(dá)式的值為true,則會(huì)執(zhí)行語(yǔ)句序列,也就是循環(huán)體。當(dāng)?shù)竭_(dá)循環(huán)體的末尾時(shí),會(huì)再次檢測(cè)表達(dá)式,直到表達(dá)式的值為false,結(jié)束循環(huán)。while(表達(dá)式){

語(yǔ)句序列}課件制作人:明日科技while循環(huán)語(yǔ)句while語(yǔ)句執(zhí)行過(guò)程如圖所示。課件制作人:明日科技3.5.3do...while循環(huán)語(yǔ)句do..while循環(huán)語(yǔ)句稱為后測(cè)試循環(huán)語(yǔ)句,它利用一個(gè)條件來(lái)控制是否要繼續(xù)重復(fù)執(zhí)行這個(gè)語(yǔ)句。它的一般形式為:do…while循環(huán)語(yǔ)句的執(zhí)行過(guò)程與while循環(huán)語(yǔ)句有所區(qū)別。do…while循環(huán)至少被執(zhí)行一次,它先執(zhí)行循環(huán)體的語(yǔ)句序列,然后再判斷是否繼續(xù)執(zhí)行。do{

語(yǔ)句序列}while(表達(dá)式);課件制作人:明日科技do...while循環(huán)語(yǔ)句do…while循環(huán)執(zhí)行語(yǔ)句如圖所示。課件制作人:明日科技3.5.4循環(huán)的嵌套循環(huán)的嵌套就是在一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),而在這個(gè)完整的循環(huán)體內(nèi)還可以嵌套其他的循環(huán)循結(jié)構(gòu)。循環(huán)嵌套很復(fù)雜,在for語(yǔ)句、while語(yǔ)句和do…while語(yǔ)句中都可以嵌套。常用的嵌套循環(huán)包括:for循環(huán)語(yǔ)句的嵌套while循環(huán)語(yǔ)句嵌套do…whi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論