![Java程序設(shè)計課件匯總?cè)珪娮咏贪竿暾嬲n件_第1頁](http://file4.renrendoc.com/view/463c4cdf50e81912b38feda656324561/463c4cdf50e81912b38feda6563245611.gif)
![Java程序設(shè)計課件匯總?cè)珪娮咏贪竿暾嬲n件_第2頁](http://file4.renrendoc.com/view/463c4cdf50e81912b38feda656324561/463c4cdf50e81912b38feda6563245612.gif)
![Java程序設(shè)計課件匯總?cè)珪娮咏贪竿暾嬲n件_第3頁](http://file4.renrendoc.com/view/463c4cdf50e81912b38feda656324561/463c4cdf50e81912b38feda6563245613.gif)
![Java程序設(shè)計課件匯總?cè)珪娮咏贪竿暾嬲n件_第4頁](http://file4.renrendoc.com/view/463c4cdf50e81912b38feda656324561/463c4cdf50e81912b38feda6563245614.gif)
![Java程序設(shè)計課件匯總?cè)珪娮咏贪竿暾嬲n件_第5頁](http://file4.renrendoc.com/view/463c4cdf50e81912b38feda656324561/463c4cdf50e81912b38feda6563245615.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《Java程序設(shè)計》課程介紹
程序設(shè)計就是給出對數(shù)據(jù)進(jìn)行加工處理的步驟。所以圍繞著“程序設(shè)計就是對數(shù)據(jù)的加工處理”的思想,以“數(shù)據(jù)處理”作為處理對象,針對不同的數(shù)據(jù)對象,給出了相應(yīng)的章節(jié)設(shè)計。主要內(nèi)容包括:Java程序設(shè)計開發(fā)環(huán)境及開發(fā)工具;簡單數(shù)據(jù)及其運(yùn)算;Java方法的設(shè)計與流程控制(順序、分支、循環(huán));數(shù)組及其運(yùn)算;Java類、對象與類的封裝性;Java類的繼承性、接口與多態(tài)性;Java常用類與使用;Java異常類及其異常處理;Java集合類及其使用;Java輸入輸出流與讀寫操作;Swing容器與圖形界面開發(fā)設(shè)計。章節(jié)主要內(nèi)容(理論課32學(xué)時,實驗課32學(xué)時,即一次理論課對應(yīng)一次實驗課)學(xué)時第1章Java程序設(shè)計入門:重點(diǎn)介紹程序設(shè)計思想及其Java程序設(shè)計的編程環(huán)境及開發(fā)工具2第2章簡單數(shù)據(jù)及其運(yùn)算:重點(diǎn)介紹Java基本數(shù)據(jù)類型以及每種類型的有關(guān)運(yùn)算及其運(yùn)算符2第3章Java方法的設(shè)計與流程控制:重點(diǎn)介紹Java方法設(shè)計的基本思想、程序處理過程的描述以及程序流程的順序、分支、循環(huán)的控制實現(xiàn)4第4章數(shù)組及其運(yùn)算:數(shù)組的定義與使用,主要介紹一維數(shù)組的定義與應(yīng)用,二維數(shù)組的定義與應(yīng)用2第5章Java類、對象與類的封裝性:介紹面向?qū)ο缶幊痰幕舅枷?,重點(diǎn)給出了類的定義、對象的創(chuàng)建以及類和對象的使用4第6章Java類的繼承、接口與多態(tài):基于類的復(fù)用,介紹面向?qū)ο蟮睦^承性、多態(tài)性,重點(diǎn)給出了繼承子類的定義、抽象及其子類、接口的定義與實現(xiàn)以及應(yīng)用4第7章Java常用類與使用:重點(diǎn)介紹了Object類、基本數(shù)據(jù)類型封裝類、字符串類、System類、Runtime類、Math類、日期時間類等基礎(chǔ)類的使用2第8章Java異常類及其異常處理:重點(diǎn)介紹了異常的處理2第9章Java集合類及其使用:重點(diǎn)介紹了集合數(shù)據(jù)結(jié)構(gòu)類的使用方法,2第10章Java輸入輸出流與讀寫操作:重點(diǎn)介紹了控制臺輸入、輸出以及文件及其文件的讀寫操作的有關(guān)類的使用4第11章Swing容器與圖形界面開發(fā):基于可視化編程介紹了常用控件、窗體的設(shè)計與使用。4第1章Java程序設(shè)計入門主要內(nèi)容:
重點(diǎn)介紹程序設(shè)計思想及其Java程序設(shè)計的編程環(huán)境及開發(fā)工具教學(xué)目標(biāo):(1)理解什么是程序,什么是程序設(shè)計(2)掌握程序設(shè)計的過程,并可以設(shè)計簡單的程序(3)掌握J(rèn)ava程序設(shè)計的編程環(huán)境與開發(fā)工具具體授課內(nèi)容1、
計算機(jī)信息處理過程與Java程序2、Java語言的基本元素與簡單程序設(shè)計3
、Java程序設(shè)計編程環(huán)境及開發(fā)工具4
、Java應(yīng)用程序的開發(fā)過程與設(shè)計案例第1節(jié)
計算機(jī)信息處理過程與Java程序1、對于1+2=3的求解過程?對于1+2=3都很清楚,但對于如下兩個問題是否可以給出回答:問:(1)如何求解結(jié)果?
(2)分幾步完成,每步完成什么功能?
對于1+2=?一般是按如下5步給出求解的。人解題的一般過程步驟:1)信息的獲取:“眼”、“耳”、“手”等器官問題:計算機(jī)是如何獲取信息的?2)信息的記憶:將獲得的信息記憶在腦中(右半腦)問題:計算機(jī)是如何存儲信息的?3)信息的計算處理:利用人的左半腦進(jìn)行計算求值問題:計算機(jī)是如何處理加工信息的?4)記憶計算結(jié)果:5)信息輸出:“手寫”或“嘴說”將結(jié)果告訴對方問題:計算機(jī)是如何輸出信息的?輸入數(shù)據(jù)加工數(shù)據(jù)輸出數(shù)據(jù)[輸入設(shè)備][內(nèi)存儲器][計算器][內(nèi)存儲器][輸出設(shè)備]6)有時,為了避免忘記,使用“記錄本”記錄信息。記錄本與“人腦”之間的交換是利用“讀書”和“寫字”來實現(xiàn)的。
問題:計算機(jī)是如何長久存放數(shù)據(jù)的?[外存儲器]信息輸入輸入設(shè)備內(nèi)存儲器計算運(yùn)算器結(jié)果輸出設(shè)備計算結(jié)果寫外存儲器讀計算機(jī)信息處理過程圖示:通過這個圖形,可以得到一個結(jié)論:計算機(jī)求解問題,一般需要三步:第1步:通過“輸入設(shè)備”或“讀外存儲器”,將要處理的數(shù)據(jù)傳到并記憶在內(nèi)存儲器中(實際上存放到內(nèi)存變量中);第2步:利用運(yùn)算器,實現(xiàn)有關(guān)的計算、求值,并將所求得的結(jié)果記憶在內(nèi)存儲器中(實際上存放在內(nèi)存變量中);第3步:將計算結(jié)果顯示在顯示器上顯示,或?qū)懙酵獯鎯ζ髦羞M(jìn)行保存。鍵盤(System.in)顯示器(System.out)由內(nèi)存單元組成,每個單元存放一個信息在磁盤上,采用文件的方式存放信息10020050
內(nèi)存單元AzCyxB122、
關(guān)于1+2的計算過程,以及按計算過程實現(xiàn)程序設(shè)計(2)輸入已知的數(shù)據(jù):(3)利用公式(或函數(shù)或?qū)ο螅┘庸?shù)據(jù):(計算并保存結(jié)果)3(4)輸出數(shù)據(jù):這就是“程序”x=1;y=2;z=x+y;顯示結(jié)果:z(1)要記憶3個整數(shù)數(shù)據(jù),設(shè)用x,y,z存放,即:已知x、y,求zintx,y,z;x=1;y=2;z=x+y;顯示結(jié)果:zintx,y,z;程序設(shè)計過程:給出這個程序的過程,就是程序設(shè)計過程。Java程序設(shè)計:使用Java語言給出程序的描述,稱為Java程序設(shè)計,所設(shè)計的程序稱為Java程序。將這四步整合在一起,形成如下的代碼:例1-1:請使用Java語言,設(shè)計“求1+2和值”的程序。
經(jīng)過前面對1+2計算過程的分析與理解,可以采用Java語言規(guī)定的語法格式給出Java程序。publicclassHelloAdd{publicstaticvoidmain(String[]args){intx,y,z;
x=1;y=2;z=x+y;System.out.println(x+"+"+y+"="+z);}}
該程序的名稱為HelloAdd.java,由類HelloAdd以及該類中一個主方法main()構(gòu)成,在該方法內(nèi)是完成計算求值的處理過程?!咀⒁狻浚?)Java的源文件(編寫的源代碼形成的文件)以擴(kuò)展名“.java”結(jié)束。(2)通常一個類形成一個Java源文件,Java的文件名與類名稱必須一致。(3)Java程序中區(qū)分字母的大小寫,編寫代碼時,注意每個字母的大小寫。計算求值處理步驟Java程序(由Java類構(gòu)成)【問題與思考】
在例1-1,只能計算1+2的值,那么,若要計算任意兩個數(shù)據(jù)的和,如何實現(xiàn)呢?【解決方案】
在程序運(yùn)行的過程中,通過鍵盤輸入所需要的數(shù)據(jù)?!纠?-2】修改例1-1,使之可以根據(jù)需要計算任意兩個整數(shù)的和值并在控制臺(顯示器)上顯示輸出。
對于該題目,我們首先給出分析,然后給予分析,給出編寫代碼。【分析】
其處理思想和處理步驟與例1-1幾乎一樣,唯一不同的就是給變量x、y提供值時,是在運(yùn)行時,根據(jù)需要通過鍵盤輸入所需要的值,然后再求值并輸出?!咎幚聿襟E】(1)定義三個整型變量:x、y、z,即:
intx,y,z;(2)由于輸入值是使用鍵盤,需創(chuàng)建一個由鍵盤提供數(shù)據(jù)的一個“通道”對象,實現(xiàn)數(shù)據(jù)的輸入并提供給變量x、y,即:
//該語句是創(chuàng)建由鍵盤輸入數(shù)據(jù)的通道對象(cin)
Scannercin=newScanner(System.in);//利用通道,通過輸入方法nextInt()給變量x、y輸入整數(shù)。
x=cin.nextInt();y=cin.nextInt(3)利用公式z=x+y求值并存放結(jié)果,即:z=x+y;(4)輸出結(jié)果,即:System.out.println(x+"+"+y+"="+z);【編碼實現(xiàn)】
根據(jù)其處理步驟,可給出標(biāo)準(zhǔn)的Java程序(程序名稱為HelloAdd2.java)//該語句是導(dǎo)入支持鍵盤輸入的一個類,在后面章節(jié)會詳細(xì)介紹。importjava.util.Scanner;publicclassHelloAdd2{publicstaticvoidmain(String[]args){intx,y,z;Scannercin=newScanner(System.in);
System.out.println("請輸入第一個整數(shù),然后按回車鍵:");x=cin.nextInt();System.out.println("請輸入第二個整數(shù),然后按回車鍵:");y=cin.nextInt();z=x+y;System.out.println("運(yùn)算結(jié)果如下:");System.out.println(x+"+"+y+"="+z);}}【問題與思考】注意:當(dāng)依次輸入100和-200時,其顯示結(jié)果為:100+-200=-100,該顯示顯然不符合我們的習(xí)慣,如何修改呢?【第一節(jié)總結(jié)】對于一個問題的求解和處理,需要按“一定的步驟”對“有關(guān)的數(shù)據(jù)”進(jìn)行處理,
為此,需要定義或給出要處理的數(shù)據(jù),同時需要利用“語言”描述處理步驟。
在計算機(jī)上:將描述處理步驟的語言稱為“計算機(jī)程序設(shè)計語言”;
給出的處理步驟,稱為“程序”;
而由計算機(jī)程序設(shè)計語言形成程序的過程,稱為“程序設(shè)計”。第2節(jié)Java語言簡介——Java開發(fā)版本
Java語言是不斷發(fā)展、改進(jìn)的,并且為了滿足不同的應(yīng)用,提供了相應(yīng)的Java開發(fā)平臺。它有3個獨(dú)立的開發(fā)版本。JavaSE(JavaStandardEdition)是Java語言的標(biāo)準(zhǔn)版本。JavaEE(JavaEnterpriseEdition)是Java平臺的企業(yè)版,用于編寫基于Java應(yīng)用服務(wù)器器的企業(yè)級應(yīng)用程序。JavaME(JavaMicroEdition)是Java平臺的微型版,主要應(yīng)用于移動、無線及有限連接的設(shè)備應(yīng)用程序開發(fā)。本課程主紹JavaSE平臺的相關(guān)技術(shù)、方法。第2節(jié)Java語言簡介——JavaJDK以及Java虛擬機(jī)開發(fā)Java程序,需要JavaJDK以及Java虛擬機(jī)(JVM)。1、JavaJDK:JDK(JavaDevelopmentKit)稱為Java開發(fā)包或Java開發(fā)工具,包括了Java運(yùn)行環(huán)境JRE(JavaRuntimeEnvirnment)以及相關(guān)的Java工具、Java的核心類庫(JavaAPI)。2、Java虛擬機(jī)(JVM):JVM(JavaVirtualMachine)是軟件模擬的計算機(jī),可在任何處理器上安全且兼容地執(zhí)行保存在.class文件中的字節(jié)碼。3、當(dāng)編輯并運(yùn)行一個Java程序時,需要同時涉及到三方面的內(nèi)容:(1)Java編程語言:用于設(shè)計Java源代碼程序。(2)Java類文件:由Java源代碼,經(jīng)過編譯生成的。(3)Java虛擬機(jī):執(zhí)行Java類文件。關(guān)于JavaJDK以及Java虛擬機(jī)(JVM)我們將在第4節(jié)給出安裝與使用如何編寫程序呢?即程序是按什么原則構(gòu)成的,按什么要求編寫的?——下一節(jié)內(nèi)容:Java語言及其語法要求第3節(jié)Java語言的基本元素與簡單的程序設(shè)計Java程序設(shè)計就是如何使用Java語言來完成應(yīng)用程序的開發(fā)過程,按Java語言規(guī)定的語法要求設(shè)計的。本小節(jié),介紹Java語言的基本語法元素及其相關(guān)的知識。對于英語學(xué)習(xí),其學(xué)習(xí)過程都很熟悉:字母、單詞、語句、段落、文章,以及有關(guān)的語法。而Java語言的學(xué)習(xí)過程和英語的學(xué)習(xí)是類似的,需要依次學(xué)習(xí)構(gòu)成計算機(jī)程序的各成份:3.1Java語言的字符集Java語言的基本符號可以分為3類。(1)字母:包括大寫、小寫英文字母(共52個)。(2)數(shù)字:0123456789(共10個)。(3)特殊符號:+-*/=,._:;?\“‘~|!#%&()[]{}<>空格(共29個)這三類符號共計91個,組成了Java語言的基本符號集合。
另外,漢字字符、希臘字母各國語言的符號,也是常用的字符。
利用這些字符,可構(gòu)成程序設(shè)計中所需要的各類“單詞”。3.2Java語言的關(guān)鍵字——第一類單詞
由字母組成的單詞。在Java語言中定義了一些專有詞匯,統(tǒng)稱為“關(guān)鍵字”。例如:public、class、int等,具有特定的含義,決定一條語句的功能或行為。例如:intx;該語句是聲明語句,int是關(guān)鍵字,其功能是規(guī)定變量x只能存放整型數(shù)據(jù)。x=10;正確x=10.5;錯誤
關(guān)鍵字含義關(guān)鍵字含義abstract定義抽象類或抽象方法long64位長整數(shù)型break跳出一個switch或循環(huán)new分配新的類實例byte8位整數(shù)類型null一個空引用caseswitch的一個分支package包含類的一個包c(diǎn)atch捕獲異常的try塊子句private表示私有屬性、私有方法class定義一個類類型protected表示保護(hù)屬性、保護(hù)方法continue在循環(huán)末尾繼續(xù)public表示共有屬性、共有方法defaultswitch的缺省語句return從一個方法中返回do定義do/while循環(huán)的首語句short16位整數(shù)類型double雙精度浮點(diǎn)數(shù)類型static用于定義類屬性、類方法elseif語句的else子句super超類對象或構(gòu)造函數(shù)extends定義一個類的父類int32位整型數(shù)for一個循環(huán)類型throws一個方法可能拋出的異常if一個條件語句this當(dāng)前類的一個隱含對象implements定義一個類實現(xiàn)的接口try捕獲異常的代碼塊import導(dǎo)入一個包void標(biāo)記方法不返回任何值switch選擇語句while一種循環(huán)控制關(guān)鍵字最常用關(guān)鍵字——在后續(xù)內(nèi)容會逐個介紹其使用3.3Java語言的標(biāo)識符——第2類單詞
標(biāo)識符也是一個單詞,是由程序員(程序設(shè)計者)根據(jù)自己的需要,定義的名稱。
常用于定義類名、對象名、方法名、屬性名、變量名。例如:
用cj表示成績:cj=85
用name表示姓名:name="張三"
用xb表示性別:xb="男"注意:cj、name,xb都是標(biāo)識符(在這里稱為變量),標(biāo)識符命名規(guī)則:定義標(biāo)識符,要盡量遵循“見其名知其意”的原則。命名規(guī)則如下:①一個標(biāo)識符可以由多個單詞連接而成:
例如:studentName。②對于類名,每個單詞的首字母大寫,其他字母小寫
例如:RecordInfo。③對于方法名、變量名、對象名,除了第一個單詞的首字母小寫外,其他單詞的首字母都要大寫
例如方法名:getRecordName()。④對于包名,每個單詞的每個字母都要小寫例如:com.frame。⑤在定義標(biāo)識符時,不允許定義為關(guān)鍵字。注意:Java語言是區(qū)分字母大小寫的。例如,Abc與abc是兩個不同的標(biāo)識符?!纠?-3】閱讀下面Java程序,找出其中的關(guān)鍵字、標(biāo)識符。packagech01_3;publicclassCharDemo{
publicstaticvoidmain(String[]args){
charch1,ch2,studentNmae; ch1=65;ch2='B'; System.out.print("ch1與ch2對應(yīng)的字符為:"); System.out.println(ch1+"和"+ch2); }}【解答】該程序各單詞如下:關(guān)鍵字有:package、public、class、static、void、char。標(biāo)識符——類名:CharDemo、System。標(biāo)識符——變量名:ch1、ch2、studentNmae、args。標(biāo)識符——對象名:out。標(biāo)識符——方法名:print、println、main。標(biāo)識符——包名:ch01_3常量:65、'B'、"ch1與ch2對應(yīng)的字符為:"、"和"。運(yùn)算符:=、+、[]。間隔符:{、}、,、;、(、)、空格。3.4Java語言的常數(shù)、變量——第3類單詞
在《數(shù)學(xué)》上,都知道:常數(shù)、變量、函數(shù)、運(yùn)算符、表達(dá)式等概念術(shù)語,這些概念術(shù)語在Java語言中也使用并且與數(shù)學(xué)中的含義、作用是相同的。(1)整型常量(常數(shù))、實型常量(常數(shù))
整數(shù)常量:例如5、-5、0、100、-123
實數(shù)常量:例如5.1、5.0、-10.02、2.5e+3(2.5103)。(2)字符常量、字符串常量字符常量:用英語符號的單引號括起來的單字符。例如:'A'、'a'、'B'、'b'、'1'、'0'、'9‘字符串常量:用英語符號的雙引號括起來的。例如:"中國"、"shandong123456"、"1234"、"12+34="、"a"實數(shù)的科學(xué)計數(shù)法(3)變量——是標(biāo)識符的一種在《數(shù)學(xué)》上,習(xí)慣將x、y、z稱為變量,是用來存放數(shù)據(jù)的。再例如,已知速度和時間,計算距離的公式:s=vt,
這里,將s、v、t都稱為變量,當(dāng)v和t給定一個值后,就可以確定s的值。
在Java語言中,對于這種可以存放數(shù)據(jù)的標(biāo)識符,稱為變量。即,變量是Java標(biāo)識符的一種。
注意1:變量定義時,必須指定變量的數(shù)據(jù)類型。
例如:intx;
x為整數(shù)變量,可以:x=10;doubley;y為實數(shù)變量,可以:y=0.5注意2:'a'、"a"、a三者的區(qū)別,'a'是字符常量,"a"是字符串常量,a是標(biāo)識符。【變量的使用】
在Java中,變量必須先聲明(分配空間),然后給變量賦值,再進(jìn)行有關(guān)的運(yùn)算。
例如:已知圓的半徑,計算圓的面積和周長。
對于該問題,需要3個變量分別存放圓的半徑值、周長值、面積值。假設(shè)半徑為100,則求解過程如下:第1步:聲明三個變量:radius、perimeter、area為實數(shù)變量(double),即:doubleradius,perimeter,area;//每個變量間用逗號間隔,語句尾用分號第2步:給變量radius提供值100,即:radius=100;第3步:利用已經(jīng)賦值的變量radius,計算求得面積值、周長值,并賦值給相應(yīng)的變量,即:
perimeter=2*3.14*radius;area=3.14*radius*radius;3.5Java語言的運(yùn)算符(1)算術(shù)運(yùn)算符+(加法)、-(減法)、*(乘法)、\(除法)(2)關(guān)系運(yùn)算符(比較大?。?gt;(大于)、<(小于)、>=(大于等于)、
<=(小于等于)、==(等于)、!=(不等于)(3)字符串連接運(yùn)算符對于字符串,可將兩個串先后連接,形成一個新串,其運(yùn)算符為“+”。例如:"12"+"34",運(yùn)算后其結(jié)果為:"1234",
即:"12"+"34"="1234"。注意:12+34=46,該式子為算術(shù)求和運(yùn)算。(4)運(yùn)算符的運(yùn)行特點(diǎn)(運(yùn)算級別、結(jié)合律等)
與數(shù)學(xué)中規(guī)定的一樣。3.6Java語言的方法(也稱為函數(shù))在《數(shù)學(xué)》上,將f(x)=5x+20,稱為函數(shù),其中,x是自變量,f是函數(shù)名,5x+20是函數(shù)表達(dá)式,f(x)是函數(shù)值。在Java中,將函數(shù)稱為“方法”,將自變量x稱為方法的參數(shù),f稱為方法名,f(x)稱為方法的返回值,而計算函數(shù)值的式子,稱為方法體。例如:對于f(x)=5x+20,假設(shè)所求的函數(shù)值為整數(shù),則其對應(yīng)的Java方法:publicintf(intx){inty;y=5*x+20;returny;}方法體返回值類型將計算結(jié)果值返回給方法名f.方法的調(diào)用:
假設(shè)求當(dāng)x=10時的函數(shù)值并賦值給變量a,則計算過程:a=f(10);這樣,a的值為703.7Java語言的表達(dá)式由Java語言的常量、變量、方法(函數(shù))通過運(yùn)算符形成的具有一定意義的式子,稱為Java語言的表達(dá)式。例如:5*x+203.8Java語言的注釋為了便于對程序的閱讀和理解,通常在程序中添加注解,理解代碼功能和結(jié)構(gòu)。
Java語言中給出三種注釋形式:(1)單行注釋格式://單行注釋內(nèi)容
功能:
作為注釋內(nèi)容的開始符號,一直注釋到行尾(2)多行注釋格式:/*
實現(xiàn)多行注釋,
其中兩星號之間的信息為注解信息
*/(3)文檔注釋格式:/**
可以用于文檔化處理的單行或多行注釋*/【例1-4】分析下面帶注釋的源代碼(文件為HelloWorld.java),理解各部分的功能和作用。3.9Java語言的main方法在Java中,main()方法是Java應(yīng)用程序的入口方法,即程序在運(yùn)行的時,就是運(yùn)行main()方法,這個方法和其他的方法有很大的不同,方法的名字必須是main,方法必須是publicstaticvoid類型的,方法必須接收一個字符串?dāng)?shù)組的參數(shù),且參數(shù)名必須為args。publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println("HelloWorld!");}}該示例只有一行`控制輸出語句。通常一個主方法體,一般由4部分構(gòu)成:(1)聲明定義變量(2)給變量提供值或創(chuàng)建對象;(3)對變量進(jìn)行加工求值,或由對象調(diào)用方法,完成相關(guān)的計算(4)顯示輸出計算結(jié)果例:閱讀下面Java程序,理解該程序中涉及到的Java元素。packagech01_3;publicclassCharDemo{ publicstaticvoidmain(String[]args){ charch1,ch2,studentNmae; ch1=65; ch2='B'; System.out.print("ch1與ch2對應(yīng)的字符為:"); System.out.println(ch1+"和"+ch2); }}【解答】該程序各單詞如下:關(guān)鍵字有:package、public、class、static、void、char。標(biāo)識符——類名:CharDemo、System。標(biāo)識符——變量名:ch1、ch2、studentNmae、args。標(biāo)識符——對象名:out。標(biāo)識符——方法名:print、println、main。標(biāo)識符——包名:ch01_3常量:65、'B'、"ch1與ch2對應(yīng)的字符為:"、"和"。運(yùn)算符:=、+、[]。間隔符:{、}、,、;、(、)、空格。第3節(jié)——總結(jié)
主要介紹了Java語言的基本語言要素,主要包括:字符集標(biāo)識符(包含變量)關(guān)鍵字常量運(yùn)算符方法程序的主方法等有關(guān)內(nèi)容,是每個讀者必須掌握的最基本內(nèi)容思考:該節(jié)給出了Java語言的一些語法規(guī)定,按Java語法要求設(shè)計了程序,那么,如何在機(jī)器上編寫代碼并運(yùn)行呢?
——Java程序設(shè)計編程環(huán)境及開發(fā)工具第4節(jié)Java程序設(shè)計編程環(huán)境及開發(fā)工具
Java程序設(shè)計就是如何使用Java語言來完成應(yīng)用程序的開發(fā)過程。
開發(fā)Java應(yīng)用程序,需要相應(yīng)的開發(fā)環(huán)境和開發(fā)工具。
4.1JavaJDK下載與安裝——開發(fā)與運(yùn)行環(huán)境
4.2Eclipse下載、安裝與使用——集成開發(fā)工具
4.1JavaJDK下載與安裝——開發(fā)與運(yùn)行環(huán)境2.安裝JDK雙擊“下載的文件:jdk_11.0.1-windows-x64_bin.exe”,系統(tǒng)自動進(jìn)入安裝進(jìn)程,按照向?qū)е甘炯纯赏瓿砂惭b。
注意:一般情況下,我們安裝系統(tǒng)默認(rèn)的安裝目錄:“C:\ProgramFiles\Java”目錄下。在該目錄下有jdk11.0.1_121和jre11.0.1_121兩個子目錄,分別存放Java程序的開發(fā)環(huán)境jdk和運(yùn)行環(huán)境Jre。
4.1JavaJDK下載與安裝——開發(fā)與運(yùn)行環(huán)境3.設(shè)置JDK的環(huán)境變量為了讓系統(tǒng)能夠自動找到JDK,需要設(shè)置JDK的環(huán)境變量,即設(shè)置三個環(huán)境變量的名字和值:JAVA-HOME、Path、classPath。其設(shè)置過程如下?!疚业碾娔X】—>【屬性】—>【高級系統(tǒng)設(shè)置】—>【高級】—>【環(huán)境變量】。
首先,新建JAVA_HOME變量,并設(shè)置變量值為JavaJDK安裝路徑其次,設(shè)置Path和classPath變量值:當(dāng)設(shè)置JAVA-HOME后,利用該變量設(shè)置Path和classPath變量值。(1)設(shè)置Path變量值:在系統(tǒng)原有的Path值后添加如下語句(注意:前面有個分號,且為英文的分號):;%JAVA_HOME%\bin;%JAVA_HOME%\lib;(2)設(shè)置CLASSPATH變量值:添加classPath變量,并設(shè)置值為:%JAVA_HOME%\lib;(3)設(shè)置完成后,在桌面開始菜單出【輸入】cmd,進(jìn)入命令行界面,然后【輸入】javac,出現(xiàn)如下界面,表示安裝并設(shè)置成功。4.基于命令行方式,開發(fā)運(yùn)行Java程序?qū)τ贘ava程序,利用編輯器(例如記事本)編寫源代碼,然后對源程序編譯,才可以運(yùn)行。
例如,假設(shè)例1-1源程序HelloAdd.java保存在e:\java\HelloAdd.java中對源程序編譯,其編譯命令:javacHelloAdd,
然后運(yùn)行程序,其運(yùn)行命令格式:javaHelloAdd,當(dāng)執(zhí)行該命令后,在命令行窗口上顯示:1+2=3。
【問題與思考】基于命令行的方式設(shè)計Java程序,需要用文本編輯器編寫源代碼,然后分別對源代碼編譯和運(yùn)行,當(dāng)有多個源文件時,其編譯過程復(fù)雜、麻煩,目前一般采用集成開發(fā)環(huán)境工具,這類工具將編輯、編譯、運(yùn)行、調(diào)試等整合在一起,從而便于程序的設(shè)計和開發(fā)。——Eclipse集成開發(fā)工具4.2Eclipse下載、安裝與使用——集成開發(fā)工具2.啟動Eclipse啟動Eclipse,需要指定工作區(qū)(所開發(fā)應(yīng)用程序所存放的空間位置),假設(shè)其工作區(qū)路徑為D:\java\
(1)輸入工作區(qū)路徑,
單擊“Ok”,繼續(xù)啟動系統(tǒng)(2)進(jìn)入Eclipse工作平臺,關(guān)閉歡迎頁面后,出現(xiàn)“開發(fā)應(yīng)用程序界面”。(3)在此基礎(chǔ)上,開始Java程序的編寫、運(yùn)行等工作。具體操作過程將在第5節(jié)中通過案例給出詳細(xì)說明。第5節(jié)Java應(yīng)用程序的開發(fā)過程與設(shè)計案例到目前,已經(jīng)對Java程序設(shè)計有了初步的認(rèn)識和理解,在本小節(jié)中,我們給出簡單應(yīng)用案例的開發(fā)設(shè)計。利用Eclipes開發(fā)程序步驟:第1步:建立工程:
filenewprojectjavaproject起名finish第2步:建立類文件:
filenew->class填上類名/包名點(diǎn)finish第3步:在類內(nèi)編寫Java代碼(輸入程序代碼)
(系統(tǒng)自動“解釋”,若存在語法錯誤,系統(tǒng)給出提示,需要修改)第4步:運(yùn)行程序(若運(yùn)行結(jié)果不正確,修改再運(yùn)行):在代碼的任意點(diǎn)右鍵:runasjavaapplication5.1開發(fā)案例1——求兩整型數(shù)據(jù)和的程序。針對【例1】設(shè)計求z=x+y值的程序,其中x=1,y=2。(1)開發(fā)過程:第1步:新建Java項目(也稱為Java工程):helloapp第2步:建立Java類:HelloAdd第3步:編寫Java源代碼(按【例1】中給出的處理步驟的)第4步:保存應(yīng)用程序第5步:運(yùn)行和調(diào)試程序注意:當(dāng)繼續(xù)開發(fā)下一個程序時,從第3步開始。(2)開發(fā)過程演示。(3)思考與改進(jìn):是否可以實現(xiàn)任意兩整數(shù)求和——》在運(yùn)行過程中給變量提供值。案例1源代碼:packagech01;publicclassHelloAdd{
publicstaticvoidmain(String[]args){intx,y,z;x=1;y=2;z=x+y;System.out.println(x+"+"+y+"="+z);
}}“方法的開始標(biāo)記類的結(jié)束標(biāo)記Java程序的主方法,該方法是Java程序的入口。
中間的黑色字體部分為方法體內(nèi)容,即計算過程方法的結(jié)束標(biāo)記“類的開始標(biāo)記包名稱,表示該程序存放在工程目錄下一個存放位置5.2開發(fā)案例2
【例1-5】——編寫一個Java程序,計算三角形面積的程序。要求,已知三角形的三邊,計算并顯示三角形的面積。【分析】設(shè)a、b、c為三角形的三邊長,且x=(a+b+c)/2,則面積為假設(shè)三邊長的取值為:a=3,b=4,c=5?!居嬎氵^程】對于該題目,數(shù)學(xué)上是這樣計算的:(0)聲明5個變量:a,b,c,x,s(1)獲得三個數(shù)據(jù)3、4、5,并用a、b、c三個變量記憶這些數(shù)據(jù)。(2)利用公式:計算面積。(3)輸出計算結(jié)果?!緦崿F(xiàn)】按開發(fā)過程,完成該程序的設(shè)計(從第3步開始):(1)創(chuàng)建java類:Triangle.java(2)在該類的主方法中按【計算過程】編寫源代碼?!窘o出實際開發(fā)演示】該問題需要5個存放空間,存放5個實型數(shù)據(jù)。案例2的源代碼:packagech01;publicclassTriangle{ publicstaticvoidmain(String[]args){ doublea,b,c,x,s; a=3; b=4; c=5; x=(a+b+c)/2.0; s=Math.sqrt(x*(x-a)*(x-b)*(x-c)); System.out.println("面積為:"+s); }}其中,(1)Math.sqrt()是求平方根方法(函數(shù)),(2)“*”是乘號。【例1-6】已知圓柱的半徑和高,設(shè)計求圓柱“表面積”和“體積”的程序?!痉治觥吭O(shè)圓的半徑為r,高位h,則:計算表面積公式:計算體積公式:【計算過程】(1)獲得兩個數(shù)據(jù)(圓柱的半徑和高度),并用r、h兩個變量記憶。(2)利用公式,分別計算圓柱表面積和體積。(3)顯示輸出計算結(jié)果。【實現(xiàn)】(1)在設(shè)計例1-1時,已經(jīng)創(chuàng)建的工程項目下,創(chuàng)建java類:Cylinder.java,并且所在的包為ch01_6。(2)設(shè)計該類的主方法,并添加源代碼。該題目共需要4個存放數(shù)據(jù)的存放單元,存放的數(shù)據(jù)為實數(shù)?!鹃_發(fā)演示】源代碼如下:packagech01_6;publicclassCylinder{ publicstaticvoidmain(String[]args){ doubler,h,s,v; r=3; h=10; s=2*3.14*r*r+2*3.14*r*2; v=3.14*r*r*h; System.out.println("圓柱的表面積為:"+s); System.out.println("圓柱的體積為:"+v); }}5.3Java應(yīng)用程序的導(dǎo)入、導(dǎo)出與打包該節(jié)不介紹了,同學(xué)們課后自己實驗熟悉。第5節(jié)小節(jié):給出了一個Java工程的創(chuàng)建過程并給出了應(yīng)用案例,詳細(xì)介紹了Java工程的開發(fā)步驟、運(yùn)行方式。
這些技術(shù)是開發(fā)Java工程必須掌握的最基本的技術(shù)、方法。本章總結(jié)我們應(yīng)該知道以下知識:(1)什么是程序?設(shè)計程序的步驟是什么?定義存放數(shù)據(jù)的空間名(變量名字),并指定類型;輸入已知的量(輸入數(shù)據(jù));利用公式,計算并求解所要求解的量;輸出計算結(jié)果。(2)一個程序一般需要3部分:輸入、處理、輸出。(3)如何輸入、輸出信息?(4)處理信息,就是對信息(數(shù)據(jù))進(jìn)行運(yùn)算求值。(5)程序的組成需要常量、變量、運(yùn)算符、類、方法、表達(dá)式。程序設(shè)計,一般按下列步驟給出實現(xiàn):(1)定義存放數(shù)據(jù)的空間名(變量名字),并指定類型;(2)輸入已知的量(輸入數(shù)據(jù));(3)利用公式,計算并求解所要求解的量;(4)輸出計算結(jié)果。思考與練習(xí)
——按我們所介紹的內(nèi)容,完成下面各題的程序設(shè)計1、已知圓柱的半徑,計算圓柱表面積及其體積。2、已知速度和時間(s=vt),計算距離。3、求任意兩個數(shù)(整數(shù))的和與積。4、計算一個數(shù)據(jù)的平方根。
提示:平方根的計算函數(shù)為:Math.sqrt(x)5、已知三角形的三邊,求三角形的面積。提示:利用公式
計算三角形的面積,
其中:L=(a+b+c)/2,a=3,b=4,c=5。6、計算兩點(diǎn)之間的距離。本章結(jié)束!
希望每位同學(xué),認(rèn)真理解我們所介紹的內(nèi)容并掌握,同時,必須加強(qiáng)在機(jī)器上的實際操作能力。第2章Java簡單數(shù)據(jù)及其運(yùn)算教學(xué)內(nèi)容:
重點(diǎn)介紹Java基本數(shù)據(jù)類型、字符串以及它們的運(yùn)算教學(xué)目標(biāo):(1)掌握基本數(shù)據(jù)類型(整型、實型、字符型、布爾型)各自的數(shù)據(jù)特點(diǎn)與運(yùn)算性質(zhì)(2)掌握字符串類型數(shù)據(jù)的特點(diǎn)與運(yùn)算性質(zhì)(3)掌握不同數(shù)據(jù)類型混合運(yùn)算時的類型之間的轉(zhuǎn)換(4)掌握基本數(shù)據(jù)類型、字符串類型的輸入與輸出具體授課內(nèi)容1數(shù)據(jù)類型 2變量的聲明與初始化3基本數(shù)據(jù)類型運(yùn)算符4字符串及其存儲與運(yùn)算5數(shù)據(jù)的標(biāo)準(zhǔn)輸入與輸出 6數(shù)學(xué)方法與使用本章內(nèi)容的邏輯性:
Java程序就是對數(shù)據(jù)的加工處理?
那么,(1)Java程序可以加工處理什么數(shù)據(jù)呢?(2)什么是數(shù)據(jù)?
數(shù)據(jù)分幾類?如何分類?
每類數(shù)據(jù)如何存儲?如何進(jìn)行計算求值?本章就介紹這些內(nèi)容。
第1節(jié)Java數(shù)據(jù)類型在描述信息時,不同的信息要用不同的數(shù)據(jù)。例如描述一個學(xué)生的有關(guān)信息:姓名:"張三"年齡:19性別:'男'團(tuán)員否:true(是、真)或false(不是、假)考試平均成績:80.25
可以看出,不同的信息需要不同的數(shù)據(jù)描述,稱為數(shù)據(jù)類型,其中:①"張三"是用雙引號括起來的由字符組成的一個串,稱為字符串(類型),注意:一定要用英文方式的雙引號。②19是由數(shù)字組成的整數(shù)(無小數(shù)點(diǎn)),稱為整型(類型)。③'男'是用單引號括起來的單個字符,稱為字符(類型),注意:一定要用英文方式的單引號。④true或false表示“是”或者“不是”,稱為邏輯(類型)。⑤80.25,含有小數(shù)點(diǎn),稱為實型(類型)。
Java語言將數(shù)據(jù)分為兩大類:(1)基本數(shù)據(jù)類型(簡單數(shù)據(jù))
整型(
int,long,short)
實型(float,double)
字符型(char)
布爾型(boolean)(2)類數(shù)據(jù)類型(引用數(shù)據(jù)類型)
字符串、數(shù)組、Java提供的標(biāo)準(zhǔn)類庫、開發(fā)者自定義類Java給出了基本數(shù)據(jù)類型的名稱以及可以存取數(shù)據(jù)的范圍數(shù)據(jù)類型
所占位數(shù)
數(shù)的范圍
byte
(字節(jié)) 8
-27~27-1short(短整型) 16 -215~215-1char(字符) 16 0~65535int(整型) 32 -231~231-1 long (長整型) 64 -263~263-1 float(浮點(diǎn)型) 32 3.4e-038
~3.4e+038double(實型) 64 1.7e-308
~1.7e+308boolean(布爾型)8true或false在程序設(shè)計中,根據(jù)實際需要選擇所需要的數(shù)據(jù)類型。1、Java基本數(shù)據(jù)類型2、
各種不同類型的常量在Java語言中,常量數(shù)據(jù)都有默認(rèn)的數(shù)據(jù)類型:
(1)一般的整型常數(shù)默認(rèn)為int,例:
5為int類型(2)一般的實型常數(shù)默認(rèn)為double
例:5.5為double類型(3)對于其他的整型和實型,需要添加一個類型標(biāo)記long:在數(shù)據(jù)尾添加“L”或“l(fā)”,例:5l或5Lfloat:在數(shù)據(jù)尾添加“F”或“f”,例:5.0F或5.0f
byte,short,char:直接給出整型數(shù)值,但不能超出其取值范圍。(4)char:也可以采用字符形式給出(單引號括起來)。
例如:charc1=‘a(chǎn)’;與charc2=97;兩者等價
對于轉(zhuǎn)義字符(’\字符符號’:一種表示字符的方式)的表示:
例如回車符:’\n’==13(5)
boolean:true或false變量名a——變量值第2節(jié)變量的聲明與初始化(1)變量名;(2)變量數(shù)據(jù)類型(3)變量的值(存放到存放空間中的數(shù)值)變量的聲明與初始化,就是給出這3項內(nèi)容例如:inta;a=30;
由于是int型,所分配的空間是4個字節(jié)空間30對于語句doublex,y,z;x=10;y=20;z=30;做什么的?到底有什么作用?
解答:
(1)doublex,y,z;是“變量聲明”,就是在內(nèi)存內(nèi)給出存儲空間,并為該空間命名一個名稱(稱為變量名)。(2)在該空間內(nèi)存放數(shù)據(jù),所存放的數(shù)據(jù)稱為變量的值。1、基本數(shù)據(jù)類型變量的聲明變量聲明格式:
數(shù)據(jù)類型標(biāo)識符,標(biāo)識符,…,標(biāo)識符;注意:當(dāng)同時聲明多個變量時,每個變量之間用逗號間隔例如:
int
x,y;//聲明變量x,y為整型變量longwordCut,radius,height;//聲明3個long類型變量doubleflightTime,speed;//聲明2個double類型變量2、
變量的初始化
變量聲明后,變量并沒有值,需要給變量提供值,然后變量才可以使用。變量可以先聲明,然后給變量提供值(賦值),也可以在變量定義的同時賦初始值。賦值運(yùn)算符:“=”,其語句格式:變量名=表達(dá)式;(1)先聲明再賦值例如:intx;//變量聲明,定義變量x為整型變量x=100;//對變量x賦值為100。(2)在變量定義的同時賦初始值語句格式:類型標(biāo)識符=常量,標(biāo)識符=常量,…,標(biāo)識符=常量;例如:intsum=0;//聲明sum為整型變量,并且初始值為0doubletaxRate=0.06;//聲明taxRate為實型變量,且值為0.06charc='A';//聲明c為字符型變量,且值為字符A3.基本數(shù)據(jù)類型變量的訪問對于基本數(shù)據(jù)類型變量,可通過變量名訪問變量的值。
對變量的訪問,兩種有形式:讀操作和寫操作。
“讀”(獲取變量的值)“寫”(重新設(shè)置變量的值)。例如:inta,b;//聲明兩個整型變量(沒有提供值)a=10;//對變量a進(jìn)行寫操作,被賦值為10;b=20;//對變量b進(jìn)行寫操作,被賦值為20;a=a+b;//首先讀a,b值并求和,然后將和值30重新賦值給變量a(a的新值為30)。
思考:
a=a+c;//該語句是錯誤的,為什么?594.字符串變量的聲明、初始化和訪問
字符串類型是一種引用數(shù)據(jù)類型,其類名稱為String。(1)字符串變量的聲明聲明格式:
String標(biāo)識符,標(biāo)識符,…,標(biāo)識符;功能:聲明字符串變量。注意,沒有創(chuàng)建存儲空間。例如:Stringa,b,c;//聲明3個字符串變量。(2)字符串變量的初始化第1種方式:先聲明再賦值,例如:Stringx;//聲明變量x為字符串變量,沒有提供初始值。x="abcd123456";//對變量x賦值為"abcd123456"。第2種格式:在變量定義的同時賦初始值,例如:Stringsum="和值為:";//聲明sum,其賦值"和值為:"Stringabc=null;//聲明abc,并賦值為null(空引用)。(3)字符串變量的訪問字符串變量的訪問具體在第5節(jié)介紹。60應(yīng)用示例:
【例2-1】變量的聲明與初始化示例,通過該示例,理解并掌握變量的定義格式及其初始化方法以及對變量的讀寫操作。分析如下源代碼,給出運(yùn)行結(jié)果。publicclassTest1{publicstaticvoidmain(String[]args){doublepi=3.14159,y;intradius=5,x;charc1='a',c2;Strings1="abcd123456",s2=null,s3;System.out.println("radius="+radius);System.out.println("PI="+pi);
//System.out.println("x="+x);//該語句出錯,因為沒有對變量x初始化
y=2*pi*radius;System.out.println("y="+y);System.out.println("c1="+c1);//System.out.println("c2="+c2);//該語句出錯,因為沒有對變量c2初始化
System.out.println("s1="+s1);System.out.println("s2="+s2);
//System.out.println("s3="+s3);//該語句出錯,因為沒有對變量s3初始化
}}第3節(jié)數(shù)據(jù)編碼與數(shù)據(jù)存儲
該節(jié)不介紹了,同學(xué)們課后自學(xué)、重點(diǎn)了解Java對各類基本數(shù)據(jù)類型在內(nèi)存中的編碼與存儲方式,從而深入理解數(shù)據(jù)類型及其運(yùn)算。第4節(jié)基本數(shù)據(jù)類型運(yùn)算符程序設(shè)計是加工處理數(shù)據(jù)的,要加理數(shù)據(jù)就是進(jìn)行有關(guān)的運(yùn)算。實現(xiàn)數(shù)據(jù)的運(yùn)算有三種方式:(1)基本運(yùn)算符——本節(jié)課要介紹的內(nèi)容:
—必須理解各種運(yùn)算符的含義與使用方法。以后介紹如下兩個內(nèi)容:
(2)系統(tǒng)JDK提供的類庫——類的方法(函數(shù))
——必須知道要使用的函數(shù)在什么庫中,并引入庫(import),例如,創(chuàng)建鍵盤掃描器、數(shù)學(xué)函數(shù)類。
(3)自己設(shè)計的方法,滿足用戶自己計算加工要求的方法——這是我們學(xué)習(xí)的重點(diǎn)和難點(diǎn)。【注意一點(diǎn)】
運(yùn)算符就是函數(shù)(方法),所有的函數(shù)也是一種運(yùn)算符。【給出示例】展示三種運(yùn)算方式的等價性(見下面的備注)。Java基本運(yùn)算符(1)算術(shù)運(yùn)算:+、-、*、/、%、++、--(2)關(guān)系運(yùn)算:>、>=、<、<=、==、!=(3)邏輯運(yùn)算:&&、||、!(4)賦值運(yùn)算:=、各種運(yùn)算賦值語句4.1算術(shù)運(yùn)算符運(yùn)
算
符功
能舉
例運(yùn)算結(jié)果結(jié)果類型+加法運(yùn)算10+7.517.5double'a'+198int-減法運(yùn)算10–7.5F2.5Ffloat*乘法運(yùn)算3*721int/除法運(yùn)算21/35/25.0/2722.5intintdouble%求余運(yùn)算10%31int注意:整數(shù)運(yùn)算的結(jié)果為整數(shù),實數(shù)運(yùn)算的結(jié)果為實數(shù)。4.2關(guān)系運(yùn)算符運(yùn)算符功能舉例結(jié)果可運(yùn)算數(shù)據(jù)類型>
大于'a'>'b‘5>2falsetrue整數(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'<=88100<100truefalse整數(shù)、浮點(diǎn)數(shù)、字符4.3邏輯運(yùn)算符Java的邏輯運(yùn)算符包括:(1)!(否定):取反
!true=false,!false=true(2)&&(與):有一個為假,整個結(jié)果為假true&&true=truetrue&&false=falsefalse&&true=false
false&&false=false(3)||(或):有一個為真,整個結(jié)果為真
true||true=true,true||false=true,
false||true)=true,false||false=false例如:給你一個日期,判定是否為閏年?閏年是指年數(shù)符合下例兩者之一:(1)能被4整除,但不能被100整除;(2)能被4整除,又能被400整除假設(shè)用y存放年,則判定式子為:
y%4==0&&y%100!=0||y%4==0&&y%400==04.4賦值運(yùn)算符賦值運(yùn)算符就是給變量提供數(shù)值,要求變量的數(shù)據(jù)類型與所提供的數(shù)值的數(shù)據(jù)類型一致,若不一致,必須轉(zhuǎn)化為與變量的數(shù)據(jù)類型一致。賦值運(yùn)算符分兩種:基本賦值運(yùn)算符和復(fù)合賦值運(yùn)算符。(1)基本賦值運(yùn)算符格式:變量名=表達(dá)式;功能:首先計算表達(dá)式的值,然后將表達(dá)式的值賦值給變量。例如:
i=75+25;//i的值為100(2)復(fù)合賦值運(yùn)算符對于a=a+x形式的賦值語句,可簡化:a+=x,將“+=”運(yùn)算符稱為復(fù)合賦值運(yùn)算符。賦值運(yùn)算符范例結(jié)果賦值運(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%b>>=a>>=ba=a>>b4.5其他運(yùn)算符運(yùn)算符說
明++一元運(yùn)算符,自動遞增--一元運(yùn)算符,自動遞減?:三元運(yùn)算符,根據(jù)“?”左側(cè)的邏輯值,決定返回“:”兩側(cè)中的一個值[]用于聲明、建立或訪問數(shù)組的元素.訪問類的成員或?qū)ο蟮膶嵗蓡T例如,對于三目運(yùn)算符:
intstore=12;
store<=5?"庫存不足!":"庫存量:"+store);
計算結(jié)果為:“庫存量:12”4.6運(yùn)算符與運(yùn)算符的優(yōu)先級
下面表達(dá)式是如何運(yùn)行,其結(jié)果是什么,是什么數(shù)據(jù)類型(1)5+5.0
(2)‘a(chǎn)'+10
(3)intx,y;doublea,b;a=100.26;
x=a;y=100;b=x;a=a+100;
y=y+100.5問題:由于數(shù)據(jù)類型不一致,有的能計算,有的不能計算(出錯)。那么,計算機(jī)如何處理呢?需要實現(xiàn)類型轉(zhuǎn)換,使不一致的類型都轉(zhuǎn)換為一種類型。
---類型轉(zhuǎn)換問題:對于參加運(yùn)算的數(shù)據(jù),若其類型不一致,如何處理呢?4.7數(shù)據(jù)類型轉(zhuǎn)換
在進(jìn)行數(shù)據(jù)運(yùn)算時,若表達(dá)式中的數(shù)據(jù)類型不一致,則需要進(jìn)行轉(zhuǎn)換,將數(shù)據(jù)轉(zhuǎn)換一樣的類型,然后進(jìn)行運(yùn)算。即:操作數(shù)轉(zhuǎn)換為同種類型,然后運(yùn)算兩種方法隱型類型轉(zhuǎn)換:自動類型轉(zhuǎn)換(系統(tǒng)完成)顯型類型轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換(1)
類型轉(zhuǎn)換--將一種類型的數(shù)據(jù)轉(zhuǎn)換為另一種類型數(shù)據(jù)類型轉(zhuǎn)換表源類型 轉(zhuǎn)換后不會丟失數(shù)據(jù)的目的類型byteshort,char,int,long,float,doubleshortchar,int,long,float,doublechar int,long,float,doubleint long,float,doublelong float,doublefloat double例如:inta=10;longb=100Ldoublec=a+b;//經(jīng)過2次轉(zhuǎn)換,形成變量c的值
算符兩端運(yùn)算量類型不同時:“向高看齊”,向表達(dá)能力強(qiáng)的類型轉(zhuǎn)換:自動(隱式)轉(zhuǎn)換(2)
自動類型轉(zhuǎn)換顯型類型轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換doublea=1.5;floatb=a;//錯誤修改為:doublea=1.5;floatb=(float)a;//實現(xiàn)強(qiáng)制類型轉(zhuǎn)換System.out.println("b="+b);(3)
強(qiáng)制類型轉(zhuǎn)換算符兩端運(yùn)算量類型不同時: 根據(jù)需要,采用強(qiáng)制轉(zhuǎn)換(逐個算符轉(zhuǎn)換),可以將高級的變換為低級的。強(qiáng)制類型轉(zhuǎn)換的格式
用類型符對表達(dá)式值轉(zhuǎn)換成所需類型,一般形式為:
(類型
)(表達(dá)式
) (類型
)表達(dá)式例如:(int)(x+y) //把x+y的結(jié)果轉(zhuǎn)換成整型
(char)70 //把整數(shù)70轉(zhuǎn)換成字符'F'(double)2/4
//結(jié)果為0.52/4//結(jié)果為0注意:賦值時的類型轉(zhuǎn)換和用類型符實現(xiàn)的類型轉(zhuǎn)換是強(qiáng)制性例如:
inta=(int)(2.516); //a的值為2publicclassTest2_5{ publicstaticvoidmain(String[]args){ charc1,c2,c3,c4,c5; inti; c1='A';//A的編碼值為65 c4=97;//97在char類型取值范圍內(nèi),直接賦值,97是a的編碼
intx=97; c5=(char)x;//必須強(qiáng)制轉(zhuǎn)換,注意與c4=97的區(qū)別
i=c1+1;//自動轉(zhuǎn)換為int,并進(jìn)行計算,賦值
c2=(char)i;//強(qiáng)制將int轉(zhuǎn)換為char,并賦值
c3=(char)(c1+1);//自動轉(zhuǎn)換為int求和,再將整型int強(qiáng)制轉(zhuǎn)換為char System.out.println(c1+c2);//c1、c2都/自動轉(zhuǎn)換為int,求和,并輸出
System.out.println(""+c1+c2+c3+c4+c5);
}}
應(yīng)用示例——【例2-5】char類型與int類型間的轉(zhuǎn)換示例,分析語句的功能,并給出運(yùn)行結(jié)果。顯型類型轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換classTest{ publicstaticvoidmain(Stringargs[]){ inta=257; byteb=(byte)a; System.out.println("a="+a); System.out.println("b="+b); }}運(yùn)行結(jié)果:a=25700000000000000000000000100000001(32位數(shù))b=1
00000001(8位數(shù))兩種類型轉(zhuǎn)換的應(yīng)用示例--2:第5節(jié)
字符串及其存儲與運(yùn)算1、字符串類型String(類類型)
2、字符串常量
(1)采用雙引號括起來的串信息(2)空字符串:表示為:""。3、字符串變量的聲明、定義、賦值Stringb;//字符串聲明b="aaaaaaaabbbbbccccc";//字符串賦值Stringx=null;//空地址,即x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 4365-2024電工術(shù)語電磁兼容
- DBCO-C3-amide-PEG6-NHS-ester-生命科學(xué)試劑-MCE-2122
- 二零二五年度新能源汽車產(chǎn)業(yè)鏈入股合同協(xié)議書
- 二零二五年度旅游巴士駕駛員雇傭協(xié)議
- 二零二五年度自動售賣機(jī)智能物流配送與倉儲服務(wù)合同
- 2025年度二零二五年度餐飲品牌形象授權(quán)租賃合同
- 二零二五年度水電工程合同糾紛處理合同
- 2025年度時尚主題飯店出租運(yùn)營合同
- 二零二五年度個人信用貸款合作協(xié)議書
- 施工現(xiàn)場施工防外部干擾制度
- 城市基礎(chǔ)設(shè)施修繕工程的重點(diǎn)與應(yīng)對措施
- GB 12710-2024焦化安全規(guī)范
- 2022年中考化學(xué)模擬卷1(南京專用)
- 【??途W(wǎng)】2024秋季校園招聘白皮書
- 2024-2025銀行對公業(yè)務(wù)場景金融創(chuàng)新報告
- 2025屆鄭州市高三一診考試英語試卷含解析
- 《我國個人所得稅制下稅收征管問題研究》
- 腫瘤中醫(yī)治療及調(diào)養(yǎng)
- DB21-T 1720-2017海水源熱泵系統(tǒng)工程技術(shù)規(guī)程
- 組長競選課件教學(xué)課件
- 2022年公務(wù)員多省聯(lián)考《申論》真題(遼寧A卷)及答案解析
評論
0/150
提交評論