第2次數(shù)據(jù)類型、變量、輸入輸出_第1頁
第2次數(shù)據(jù)類型、變量、輸入輸出_第2頁
第2次數(shù)據(jù)類型、變量、輸入輸出_第3頁
第2次數(shù)據(jù)類型、變量、輸入輸出_第4頁
第2次數(shù)據(jù)類型、變量、輸入輸出_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、12.4 Java2.4 Java程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)JavaJava程序是程序是類和接口類和接口的集合。的集合。public public classclass JavaFirstProgramJavaFirstProgram public static void public static void mainmain(String (String argsargs) ) SystemSystem.out.out.printfprintf(This is a Java Program.)(This is a Java Program.); ; This is a Java Progr

2、am.This is a Java Program.方法名方法名類名類名方法名方法名類名類名聲明類的關(guān)鍵字聲明類的關(guān)鍵字JavaJava中中,操作操作語句語句都都放在放在方法方法(相當(dāng)(相當(dāng)于于C C語言中的函數(shù))語言中的函數(shù))中,中,方法都方法都放在放在類類,一個一個JavaJava程序程序由多由多個個類或接口類或接口組成。組成。2常見的常見的JavaJava開發(fā)環(huán)境開發(fā)環(huán)境q從網(wǎng)絡(luò)上直接下載從網(wǎng)絡(luò)上直接下載JDKJDK(J Java ava D Developer eveloper K Kitit),),并利用命令行方式操作并利用命令行方式操作javacjavac(編譯器);(編譯器);j

3、avajava(解釋器)(解釋器)qJavaJava集成開發(fā)環(huán)境(集成開發(fā)環(huán)境(IDEIDE)NetBeansNetBeans 、Eclipse Eclipse 、 JBuilderJBuilder下載地址:下載地址:http:/ p選擇一個文本編輯器將上述源程序錄入計算機,選擇一個文本編輯器將上述源程序錄入計算機,并用并用JavaFirstProgramJavaFirstProgram.java.java作為文件名將其保存。作為文件名將其保存。p利用利用JavaJava編譯器編譯器編譯以形成字節(jié)碼文件編譯以形成字節(jié)碼文件JavaFirstProgram.classJavaFirstProgr

4、am.class。操作命令為:。操作命令為: c:examplec:examplejavacjavac JavaFirstProgram.javaJavaFirstProgram.javap利用利用JavaJava解釋器解釋器運行字節(jié)碼,操作命令為:運行字節(jié)碼,操作命令為: c:examplec:examplejavajava JavaFirstProgramJavaFirstProgram42.5 Java2.5 Java程序的基本數(shù)據(jù)類型程序的基本數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型決定決定了參與操作的變量、常量和表達式了參與操作的變量、常量和表達式的的取值類別取值類別、取值范圍取值范圍以及以及能夠?qū)?/p>

5、施的操作能夠?qū)嵤┑牟僮餍袨?。行為。intint i i=3;=3;char char c c=A;=A;JavaJava數(shù)據(jù)類型劃分數(shù)據(jù)類型劃分簡單數(shù)據(jù)類型包括:布爾類型:boolean字符類型:char整數(shù)類型:byte, short, int, long浮點類型:float,double復(fù)合數(shù)據(jù)類型包括:class(類)interface(接口)數(shù)組6表表2-1 Java2-1 Java語言的基本數(shù)據(jù)類型語言的基本數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型占用二進制位數(shù)占用二進制位數(shù)取值范圍取值范圍默認值默認值booleanboolean(布爾型)(布爾型) 832 832位位true或或falsefals

6、efalsecharchar(字符型)(字符型)1616位位u0000uffff(065535)u0000u0000bytebyte(字節(jié)型)(字節(jié)型)8 8位位-128127(-27(27-1)0 0shortshort(短整型)(短整型)1616位位-3276832767(-215(215-1)0 0intint(整型)(整型)3232位位-21474836482147483647(-231(231-1)0 0longlong(長整型)(長整型)6464位位-92233720368547758089223372036854775807(-263(263-1)0 0floatfloat(單精

7、度浮點(單精度浮點型)型)3232位位 1.4E-45f 3.4028235E+38f0.0f0.0fdoubledouble雙精度浮點型雙精度浮點型6464位位 4.9E-324 1.7976931348623157E+3080.00.07booleanboolean(布爾)(布爾) 只有只有“true”true”和和“false”false”兩個取值,分別代兩個取值,分別代表表“真真”和和“假假”。布爾型變量的定義如:布爾型變量的定義如:booleanboolean b=true; b=true;或:或:booleanboolean b=5060; b=5060;注意:注意:布爾類型的變量

8、布爾類型的變量不能不能夠夠與與任何任何其他類型其他類型進行相進行相互的類型互的類型轉(zhuǎn)換轉(zhuǎn)換操作。在操作。在C C語言中,語言中,0 0可當(dāng)作可當(dāng)作falsefalse使用,使用,非零整數(shù)可當(dāng)作非零整數(shù)可當(dāng)作truetrue使用,但在使用,但在JavaJava中不允許。中不允許。booleanboolean(布爾)(布爾)l例如:8if(a!=0) a+=10;else a-=10;if(a) a+=10;else a-=10;for(int i=10;i;i-) i-;for(int i=10;i0;i-) i-;9charcharvJavaJava語言規(guī)定,字符采用語言規(guī)定,字符采用Unic

9、odeUnicode編碼,每個字符編碼,每個字符占用占用兩兩個字節(jié)。個字節(jié)。C C語言采用語言采用ASCIIASCII編碼,每個字符編碼,每個字符占占一一個字節(jié)。個字節(jié)。v可以表示可以表示65 53665 536個字符個字符。vASCIIASCII字符集是字符集是UnicodeUnicode字符集的一個子集字符集的一個子集,并且,并且在這兩個字符集中,前在這兩個字符集中,前128128個編碼所對應(yīng)的字符完個編碼所對應(yīng)的字符完全相同,只是每個字符占用的二進制位數(shù)不同。全相同,只是每個字符占用的二進制位數(shù)不同。10bytebyte、shortshort、intint、longlong以下以下4 4

10、種數(shù)據(jù)類型都屬于種數(shù)據(jù)類型都屬于整型數(shù)值類型整型數(shù)值類型。bytebyte 1 1個字節(jié)個字節(jié)short 2short 2個字節(jié)個字節(jié) int 4int 4個字節(jié)個字節(jié)long long 8 8個字節(jié)個字節(jié)注意:注意:Java語言中所有整數(shù)型表示的語言中所有整數(shù)型表示的均為有符號數(shù)均為有符號數(shù),沒有沒有C語言中的語言中的無符號(無符號(unsigned)整數(shù)型。)整數(shù)型。11floatfloat、doubledoubleqfloat float 單精度單精度 3232位位qdouble double 雙精度雙精度 6464位位qJavaJava語言中的浮點數(shù)值表示遵循語言中的浮點數(shù)值表示遵循I

11、EEE754IEEE754標準標準。它不僅包括它不僅包括正零、負零、正無窮大、負無窮正零、負零、正無窮大、負無窮大大和一個特別的表示非數(shù)值的和一個特別的表示非數(shù)值的符號符號NaNNaN。浮點型浮點型 舉例舉例12double d=1e308;/1*10308System.out.print(overflow prodeces infinity:); System.out.println(d+*10=+d*10);上溢上溢overflow prodeces infinity:1.0E308*10=Infinity d=1e-305*Math.PI;System.out.println(gradu

12、al underflow:+d);for(int i=0;i4;i+) System.out.print( +(d/=100000);下溢下溢gradual underflow:3.141592653589793E-3053.1415926535898E-310 3.141592653E-315 3.142E-320 0.0浮點型浮點型 舉例舉例13System.out.print(0.0/0.0 is Not-a-Number:); d=0.0/0.0; System.out.println(d);產(chǎn)生非數(shù)值產(chǎn)生非數(shù)值NaN0.0/0.0 is Not-a-Number:NaN System

13、.out.print(cast to int rounds toward 0:); d=12345.6; System.out.println(int)d+ +(int)(-d);double轉(zhuǎn)轉(zhuǎn)intcast to int rounds toward 0:12345 -12345142.6 2.6 標識符、注釋、直接量、變量和常量標識符、注釋、直接量、變量和常量 【標識符標識符】 Java Java 的標識符由的標識符由字母字母、數(shù)字數(shù)字、_ _和和$ $組成,長度組成,長度不限。其中字母可以是大寫或小寫的英文字母,不限。其中字母可以是大寫或小寫的英文字母,數(shù)字為數(shù)字為 0 0 到到 9 9

14、。注意:注意:1.1.標識符區(qū)分大小寫標識符區(qū)分大小寫。TestTest和和testtest不同;不同;2.2.標識符的標識符的第一個字符第一個字符必須為必須為字母字母、( (_ _) )或或( ($ $) )符號。符號。3.3.用戶自己定義的標識符不能與用戶自己定義的標識符不能與JavaJava語言中提供的關(guān)鍵字語言中提供的關(guān)鍵字與常量相同與常量相同15【關(guān)鍵字關(guān)鍵字】 又稱保留字,是又稱保留字,是 Java Java 語言規(guī)定了特定含義的語言規(guī)定了特定含義的標識符標識符。用戶只能按照系統(tǒng)規(guī)定的方式使用,。用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。不能自行定義。關(guān)鍵字一律關(guān)鍵字一律用小寫

15、字母用小寫字母表示。表示。Java Java 中的關(guān)鍵字有中的關(guān)鍵字有 5050個,按用途劃分為:個,按用途劃分為:數(shù)數(shù)據(jù)類型、語句、據(jù)類型、語句、修飾、方法、類、接口、包修飾、方法、類、接口、包,并保留了并保留了constconst和和 gotogoto。16表表 2-2 Java2-2 Java語言的關(guān)鍵字語言的關(guān)鍵字abstractcontinuefornewswitchassertdefaultgotopackagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelse enumimpo

16、rtpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile標識符舉例標識符舉例l判斷以下字符串哪些是合法的Java標識符。lidentifier,2mail, room#, $change ,userName,User_Name,_sys_val, class, a-class,su,super17JavaJava標識符命名規(guī)范標識符命名規(guī)范可

17、讀性好,可讀性好,“見名知義見名知義”;包名包名:小寫英文字母小寫英文字母;如:;如:“firstapplication”;類名、接口名類名、接口名:每個單詞的首寫字母都要大寫每個單詞的首寫字母都要大寫,如:,如:“ImageSprite”方法名方法名:動詞或動詞短語動詞或動詞短語,第一個單詞的首字母小寫,其,第一個單詞的首字母小寫,其他單詞的首字母大寫,如:他單詞的首字母大寫,如:getName()變量名變量名:第一個單詞的首字母小寫第一個單詞的首字母小寫,其他單詞的首字母大其他單詞的首字母大寫寫,盡量,盡量不不要要使用使用_和和$,如:,如:myWidth常量名常量名:每個字符都為大寫每個

18、字符都為大寫,單詞之間用,單詞之間用下劃線(下劃線(_)分隔,分隔,如:如:MAX_VALUE18相當(dāng)于相當(dāng)于C語言中的符號常量語言中的符號常量標識符命名規(guī)范舉例標識符命名規(guī)范舉例l根據(jù)標識符命名規(guī)范,判斷以下標識符所表示的類型(類名、方法名、變量名和常量名類名、方法名、變量名和常量名): MIN_LENGTH; Student; student; MathBook; testClass; run; getNumber 1920 注釋注釋是為源程序增加必要的解釋說明的內(nèi)容,是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可讀性,書寫注釋是編寫其目的是提高程序的可讀性,書寫注釋是編寫程序的

19、良好習(xí)慣。程序的良好習(xí)慣。JavaJava中有三種形式的注釋:中有三種形式的注釋: / / 注釋部分注釋部分 / /* * 注釋部分注釋部分 * */ / / /* * * 注釋部分注釋部分 * */ / 【注釋注釋】程序注釋程序注釋文檔注釋:文檔注釋:21【直接量直接量】n整型直接量整型直接量:十、八、十六進制:十、八、十六進制n實型直接量實型直接量:doubledouble、floatfloatn字符型直接量字符型直接量:單引號括起來:單引號括起來n布爾型直接量布爾型直接量:true true 和和 falsefalsen字符串型直接量字符串型直接量:雙引號括起來:雙引號括起來相當(dāng)于相當(dāng)于

20、C語言中的常量語言中的常量整型直接量整型直接量十進制整數(shù): 如123,456,0。默認的數(shù)據(jù)類型為int,如要賦給int型變量,那數(shù)值應(yīng)該在int的取值范圍,例如:int a=123;問:能否將一個十進制整數(shù)直接賦給長整型變量呢?如:long b=123;問:long l=-9876543210 ;是否正確?如果要表示長整型的數(shù)值,應(yīng)以l或L結(jié)尾,如: long l=-9876543210 L;22可以??梢浴?shù)據(jù)類型數(shù)據(jù)類型取值范圍較小取值范圍較小的的變量或直接變量或直接量量可可以以直接賦值直接賦值(隱式轉(zhuǎn)換)(隱式轉(zhuǎn)換)給取值范圍給取值范圍較大的變量較大的變量。相反地相反地,數(shù)據(jù)類型取,數(shù)

21、據(jù)類型取值范圍較大的變量或直接量值范圍較大的變量或直接量不能不能直接賦值給取值范圍較小的直接賦值給取值范圍較小的變量,需要進行變量,需要進行強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。不正確不正確。因為。因為-9876543210-2147483648(整型數(shù)的下限),超出了int的范圍,而在long范圍內(nèi)。 整型直接量整型直接量八進制整數(shù): 以0開頭,如012表示十進制數(shù) ,011表示十進制數(shù) 。十六進制整數(shù):以0 x或0X開頭,如0 x12表示十進制數(shù)18。23109浮點型直接量浮點型直接量十進制數(shù)形式:十進制數(shù)形式: 由由數(shù)字和小數(shù)點數(shù)字和小數(shù)點組成,且必須有小數(shù)點,如組成,且必須

22、有小數(shù)點,如 1.23, 123.01.23, 123.0科學(xué)計數(shù)法形式:科學(xué)計數(shù)法形式:如:如:123e3123e3或或123E3123E3(表示(表示123123* *10103 3),其中),其中e e或或E E之前必須有數(shù)字之前必須有數(shù)字,且,且e e或或E E后面的后面的指數(shù)必須為整數(shù)指數(shù)必須為整數(shù)。在十進制和科學(xué)計數(shù)法常數(shù)后面可以跟在十進制和科學(xué)計數(shù)法常數(shù)后面可以跟“F”F”或或“f”f”( (單精度單精度) )、“D”D”或或“d”d”(雙精度(雙精度), ,來表示來表示floatfloat型型或或doubledouble的值:如的值:如1.23f1.23f,2.3e3D2.3e

23、3D,如果后面沒有跟任何修飾如果后面沒有跟任何修飾,它的類型為,它的類型為雙精雙精度度。問:問:float f=123.4 float f=123.4 是否正確?是否正確? doubledouble d=123.4d=123.4是否正確?是否正確? float f=123 float f=123 是否正確?是否正確?24字符型直接量字符型直接量l有兩種形式:字符和轉(zhuǎn)義符,都用單引號括起來;l例:a,A,或是tb等;在ASCII碼中用xxx(xxx為一個八進制數(shù))表示其中字符。例如:141表示字符 。在Unicode 碼中,用uxxxx( xxxx為一個十六進制數(shù))表示Unicode 碼中的字符

24、。 例如:u0061也表示字符a。25a轉(zhuǎn)義字符轉(zhuǎn)義字符 說明說明l轉(zhuǎn)義字符轉(zhuǎn)義字符主要用來表示一些不可顯示的符號不可顯示的符號,比如:換頁換頁、換行換行、水平制表水平制表等。l也可表示部分可以顯示也可表示部分可以顯示的符號,比如:“”(單引號)表示為,還有“”(反斜杠)表示為;26變量變量l變量變量表示一塊被命名命名且用來存儲程序中數(shù)據(jù)數(shù)據(jù)的存儲區(qū)域存儲區(qū)域。l變量的幾個要素:變量名變量名、變量的類型類型、變量的取值取值以及變量的存儲地址存儲地址;2728變量的定義變量的定義 在在 Java Java 語言中,所有的變量必須先定義后使用。語言中,所有的變量必須先定義后使用。其格式為:其格式為

25、: 數(shù)據(jù)類型數(shù)據(jù)類型 標識符標識符1=1=初值初值,標識符標識符22; 例如:例如:int intVar=3int intVar=3,valuevalue; 注意:如果是注意:如果是基本數(shù)據(jù)類型基本數(shù)據(jù)類型,變量在聲明時就為,變量在聲明時就為其分配內(nèi)存空間;其分配內(nèi)存空間;否則否則,還需要用還需要用 new new 為為其其聲聲明的變量明的變量分配空間分配空間。例如:例如:int a; int a; int a=new int10;int a=new int10;29【常量常量】 在在JavaJava語言中,可以利用關(guān)鍵字語言中,可以利用關(guān)鍵字finalfinal聲明常量。聲明常量。例如:例如

26、: finalfinal float float PIPI = 3.14159f; = 3.14159f; finalfinal int int MAX_NUMMAX_NUM =1000; =1000; 注意:與注意:與C C語言不同,這里的常量并非一定在語言不同,這里的常量并非一定在聲明聲明的同時賦予常量值的同時賦予常量值,只是要求在程序運行期間僅能,只是要求在程序運行期間僅能被賦值一次,一旦賦值后就不能再次被更改。被賦值一次,一旦賦值后就不能再次被更改。 例如:例如:final float PRICE,MAX;final float PRICE,MAX; PRICE=5.34;MAX=10

27、0; PRICE=5.34;MAX=100; 相當(dāng)于相當(dāng)于C語言中的符號常量語言中的符號常量302.7 Java2.7 Java程序的輸入輸出程序的輸入輸出 1 1輸入方式輸入方式 在在JDK 5.0JDK 5.0版本中,提供了一個專門用于處理數(shù)版本中,提供了一個專門用于處理數(shù)據(jù)輸入的據(jù)輸入的ScannerScanner類類,利用它可以方便地實現(xiàn)各種數(shù),利用它可以方便地實現(xiàn)各種數(shù)據(jù)的鍵盤輸入。據(jù)的鍵盤輸入。 注意:程序首部需要注意:程序首部需要“import java.util.import java.util.* *;”首先,創(chuàng)建一個首先,創(chuàng)建一個ScannerScanner類型的對象類型的

28、對象,例如:例如:Scanner a=new Scanner(System.in)Scanner a=new Scanner(System.in);然后,通過然后,通過調(diào)用該對象的方法調(diào)用該對象的方法,如,如nextInt()nextInt(), , nextLine()nextLine(), , next()next()等等獲取鍵盤輸入獲取鍵盤輸入的相應(yīng)內(nèi)容。的相應(yīng)內(nèi)容。 在在ScannerScanner類中,提供了幾個讀取輸入內(nèi)容的方法。類中,提供了幾個讀取輸入內(nèi)容的方法。 String String nextLine(nextLine() ) 讀取輸入的下一行內(nèi)容讀取輸入的下一行內(nèi)容 S

29、tring String next() next() 讀取輸入的下一個單詞讀取輸入的下一個單詞 int int nextInt()nextInt() 讀取下一個表示整數(shù)的字符序列,并轉(zhuǎn)換成讀取下一個表示整數(shù)的字符序列,并轉(zhuǎn)換成intint型型 double double nextDouble() nextDouble() 讀取下一個表示浮點數(shù)的字符序列,并將其轉(zhuǎn)換成讀取下一個表示浮點數(shù)的字符序列,并將其轉(zhuǎn)換成doubledouble型型 boolean boolean hasNext() hasNext() 檢測是否還有輸入內(nèi)容檢測是否還有輸入內(nèi)容 boolean boolean hasNex

30、tInt()hasNextInt()檢測是否還有表示整數(shù)的字符序列檢測是否還有表示整數(shù)的字符序列 boolean boolean hasNextDouble() hasNextDouble() 檢測是否還有表示浮點數(shù)的字符檢測是否還有表示浮點數(shù)的字符序列序列31import java.util.*; public class InputTest public static void main(String args) Scanner in = new Scanner(System.in); System.out.printf(What is your name?); String name =

31、 in.nextLine(); System.out.printf(How old are you?); int age = in.nextInt(); System.out.printf(Hello, + name + is + age + years old.); 32What is your name?Ji suan jiHow old are you?70Hello,Ji suan ji is 70 years old. String name = in.next (); 2 2輸出方式輸出方式 System.out.printSystem.out.print(“輸出內(nèi)容輸出內(nèi)容”);); System.out.printlnSystem.out.println(“輸出內(nèi)容輸出內(nèi)容”););SystemSystem是一個封裝了是一個封裝了輸入輸出功能的標準類輸入輸出功能的標準類;outout是是SystemSystem類中包含的屬于

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論