版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.1 Java2.1 Java符號符號2.2 2.2 數(shù)據(jù)類型與變量數(shù)據(jù)類型與變量2.32.3表達式與運算符表達式與運算符2.4 2.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出2.5 2.5 常用數(shù)學(xué)方法常用數(shù)學(xué)方法J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )1.1.標(biāo)識符的命名規(guī)則標(biāo)識符的命名規(guī)則 標(biāo)識符是標(biāo)識符是以字母以字母( (包括漢字包括漢字) ),下劃線(,下劃線(_ _), ,美美元符元符($)($)開始開始的一個字符序列,后面可以跟字母,的一個字符序列,后面可以跟字母,下劃線,美元符,數(shù)字。下劃線,美元符,數(shù)字。2.
2、 注意幾點:注意幾點: (1) Java的的保留字保留字不能作為標(biāo)識符。不能作為標(biāo)識符。 (2) Java是是大小寫敏感大小寫敏感的語言。的語言。 (3) 能能見名知義見名知義。2.1.1 2.1.1 標(biāo)識符標(biāo)識符類名、變量名、方法名類名、變量名、方法名等由用戶命名的名字。等由用戶命名的名字。J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 ) 一些單詞賦以特殊的用途,不能當(dāng)作一般的標(biāo)一些單詞賦以特殊的用途,不能當(dāng)作一般的標(biāo)識符使用,這些單詞稱為關(guān)鍵字(識符使用,這些單詞稱為關(guān)鍵字(Key wordKey word)或)或保留字保留字(reserved word)(reserved wo
3、rd)。 有關(guān)有關(guān)JavaJava關(guān)鍵字要注意兩點:關(guān)鍵字要注意兩點: Java Java語言中的關(guān)鍵字均為小寫字母表示。語言中的關(guān)鍵字均為小寫字母表示。 TRUETRUE、NULLNULL等不是關(guān)鍵字。等不是關(guān)鍵字。 gotogoto和和constconst雖然在雖然在JavaJava中沒有作用,但仍作為中沒有作用,但仍作為關(guān)鍵字保留。關(guān)鍵字保留。2.1.2 2.1.2 關(guān)鍵字關(guān)鍵字J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )關(guān)鍵字列表關(guān)鍵字列表關(guān)鍵字關(guān)鍵字用途用途boolean byte char double float int long short voidboolean
4、 byte char double float int long short void基本類型基本類型new super this instanceof nullnew super this instanceof null對象創(chuàng)建、引用對象創(chuàng)建、引用if else switch case default if else switch case default 選擇語句選擇語句do while for do while for 循環(huán)語句循環(huán)語句break continue returnbreak continue return控制轉(zhuǎn)移控制轉(zhuǎn)移try catch finally throw thr
5、ows asserttry catch finally throw throws assert異常處理異常處理synchronizedsynchronized線程同步線程同步abstract final private protected public staticabstract final private protected public static修飾說明修飾說明class extends interface implements import packageclass extends interface implements import package類、繼承、接口、包類、繼承、接
6、口、包native transient volatilenative transient volatile其它方法其它方法true false true false 布爾常量布爾常量J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )下列哪些是合法的下列哪些是合法的JavaJava標(biāo)識符名字標(biāo)識符名字? ?A. A. counterlcounterl B. $index, B. $index, C. name-7 C. name-7 D D. _. _byte Ebyte E. 1array F. 2i . 1array F. 2i G G. try . try H. charH. ch
7、ar【答案】ADJ a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.1.3 2.1.3 分隔符分隔符在在JavaJava中,圓點中,圓點“. .”、分號、分號“;”、空格和花括號、空格和花括號“ ”等符號具有特殊的分隔作用等符號具有特殊的分隔作用 class Hello public static void main (String args) System.out.println(Hello World!); System.out.println( *); 每條語句結(jié)束加分號訪問成員類體J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.1.4 2.1.4 注釋注釋(1
8、1)單行注釋符單行注釋符,在語句行中以,在語句行中以“/”/”開頭到本開頭到本行末的所有字符視為注釋。行末的所有字符視為注釋。(2 2)多行注釋多行注釋,以,以“/ /* *”和和“* */”/”進行標(biāo)記,其進行標(biāo)記,其中中“/ /* *”標(biāo)志著注釋塊的開始,標(biāo)志著注釋塊的開始,“* */”/”標(biāo)志注釋標(biāo)志注釋塊的結(jié)束。塊的結(jié)束。 (3 3)文檔注釋文檔注釋,類似前面的多行注釋,但注釋開,類似前面的多行注釋,但注釋開始標(biāo)記為始標(biāo)記為“* * *”,結(jié)束仍為,結(jié)束仍為“* */”/” J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.2.12.2.1 數(shù)據(jù)類型數(shù)據(jù)類型J a v a
9、語 言 程 序 設(shè) 計 ( 第 2 版 )關(guān)鍵字 數(shù)據(jù)類型 所占字節(jié) 默認值 取值范圍 byte byte 字節(jié)型 1 0 -2727-1 short short 短整型 2 0 -215215-1 int int 整型 4 0 -231231-1 long long 長整型 8 0 -263263-1 float float 單精度浮點型 4 0.0F 3.4e-038 3.4e+038 double double 雙精度浮點型 8 0.0D 1.7e-038 1.7e+038 char char 字符型 2 0 0 65535 booleanboolean 布爾型 1 false true
10、,false 基本數(shù)據(jù)類型基本數(shù)據(jù)類型J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )1布爾常量布爾常量 布爾常量只有true和false兩個取值。2.2.2 2.2.2 常量常量J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2整數(shù)常量整數(shù)常量 不帶小數(shù)的數(shù),但包括負數(shù)不帶小數(shù)的數(shù),但包括負數(shù) 。 整數(shù)常量分為long、int、short和byte四種類型,整型整型常量默認為常量默認為int類型類型 。Java中對于數(shù)值數(shù)據(jù)的表示有以下幾種形式:中對于數(shù)值數(shù)據(jù)的表示有以下幾種形式: l十進制十進制:數(shù)據(jù)以非:數(shù)據(jù)以非0開頭,例如:開頭,例如:4,-15; l八進制八進制:
11、數(shù)據(jù)以:數(shù)據(jù)以0開頭,例如:開頭,例如:054,012; l十六進制十六進制:數(shù)據(jù)以:數(shù)據(jù)以0 x開頭,例如:開頭,例如:0 x11,0 xAD00l二進制二進制(是(是JDK1.7新增功能):數(shù)據(jù)以新增功能):數(shù)據(jù)以0b開頭開頭,例例如:如:0b101。J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )3浮點常量浮點常量 浮點常量有兩種表示形式:浮點常量有兩種表示形式: 小數(shù)點形式:如:小數(shù)點形式:如:6.37,-0.023; 指數(shù)形式:也稱科學(xué)表示法,指數(shù)形式:也稱科學(xué)表示法,如:如:3e-2代表代表0.03, 3.7E15代表代表3.7*1015區(qū)分類型區(qū)分類型-在常量后面加后綴
12、修飾在常量后面加后綴修飾 float類型以F/f結(jié)尾,double類型以D/d結(jié)尾。如果浮點常量不帶后綴,則默認為雙精度常量。如果浮點常量不帶后綴,則默認為雙精度常量。 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )4. 字符常量字符常量 字符常量是由一對單引號單引號括起來的單個字符或以反斜線反斜線()開頭的轉(zhuǎn)義符轉(zhuǎn)義符, Java的字符編碼采用了國際統(tǒng)一標(biāo)準的Unicode碼(2字節(jié))。例如:字符a的編碼為97,字符b的編碼為98,字符A的編碼為65。轉(zhuǎn)義字符 描述 單引號字符 雙引號字符 反斜杠 r 回車 n 換行 f 走紙換頁 t 橫向跳格 b 退格 J a v a 語 言
13、程 序 設(shè) 計 ( 第 2 版 )5字符串常量字符串常量 由雙引號括起來的有由雙引號括起來的有0到多個字符組成到多個字符組成的字符系列。的字符系列。例如: -含0個字符 -含1個空格 a , 123 456 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )1 變量的定義與賦值變量的定義與賦值 變量必須先聲明,后使用。 2.2.3 2.2.3 變量變量 代表可選項聲明格式:聲明格式:類型類型 變量名變量名=值值 ,變量名,變量名=值值,; 例:double m , n=0; char c=a; 每個每個變量變量分配分配一一個盒子個盒子,變量名,變量名為盒子名,盒子內(nèi)存放變量值。為盒子名
14、,盒子內(nèi)存放變量值。J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 ) 變量使用特點:變量使用特點: 變量的命名要符合標(biāo)識符的規(guī)定; 在一定范圍內(nèi)不能定義兩個同名的變量在一定范圍內(nèi)不能定義兩個同名的變量; 程序中用變量名來引用變量的數(shù)值。引用變引用變量前保證變量已量前保證變量已賦值賦值。J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2變量的取值范圍變量的取值范圍 不同數(shù)值型變量的存儲空間大小不同,因此能存儲的數(shù)值范圍也不同。各種數(shù)值變量對應(yīng)的中分別定義了兩個屬性常量MAX_VALUE和MIN_VALUE指示相應(yīng)基本類型的數(shù)值范圍。 字節(jié)型字節(jié)型(占(占1個字節(jié))的取值范圍是
15、:個字節(jié))的取值范圍是:-128 127 短整型短整型(占(占2個字節(jié))的取值范圍是:個字節(jié))的取值范圍是:-32768 32767 整型整型(占(占4個字節(jié))的取值范圍是:個字節(jié))的取值范圍是:-2147483648 2147483647 長整型長整型(占(占8個字節(jié))的取值范圍是:個字節(jié))的取值范圍是: -9223372036854775808 9223372036854775807 單精度浮點型單精度浮點型(占(占4個字節(jié))的取值范圍是:個字節(jié))的取值范圍是:1.4E-45 3.4028235E38 雙精度浮點型雙精度浮點型(占(占8個字節(jié))的取值范圍是:個字節(jié))的取值范圍是: 4.9E
16、-324 1.7976931348623157E308 011111111000000001111111111111111111111111111111 8位位 8位位 8位位 8位位J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )3 賦值與強制類型轉(zhuǎn)換賦值與強制類型轉(zhuǎn)換 n 賦值語句的格式: 變量變量 = 表達式表達式; n 功能:計算右邊表達式值,再將結(jié)果賦給左邊變量。 例如:x=x+1; 自動轉(zhuǎn)換的次序為:byte-short-char-int-long-float-double強制類型轉(zhuǎn)換格式為: 變量變量 = (數(shù)據(jù)類型數(shù)據(jù)類型)表達式表達式 n 賦值號兩邊數(shù)據(jù)類型不一致的
17、處理:賦值號兩邊數(shù)據(jù)類型不一致的處理: 強制轉(zhuǎn)換可能導(dǎo)致數(shù)據(jù)的失真。強制轉(zhuǎn)換可能導(dǎo)致數(shù)據(jù)的失真。將x值加1后再賦值給xJ a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )例例2-12-1 簡單數(shù)據(jù)類型的使用 public public class class SimpleDataTypeSimpleDataType public static void main (String public static void main (String argsargs ) ) intint i i = 3; = 3; byte b byte b = (= (bytebyte)i; )i; shor
18、t short sisi = 20000; = 20000; intint li li=(=(intint)4.25; )4.25; float f float f = 3.14= 3.14f f; ; System.out.printlnSystem.out.println(b(b+t+t+sisi+t+t+i i+t+t+li+li+t+ft+f); ); 3 20000 3 4 3.14強制轉(zhuǎn)換將把小數(shù)抹去。強制轉(zhuǎn)換將把小數(shù)抹去。這里,強制這里,強制轉(zhuǎn)換沒問題。轉(zhuǎn)換沒問題。J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.3 表達式與運算符表達式與運算符 一元運算符一元運算符
19、:只需要一個運算對象的運算符稱:只需要一個運算對象的運算符稱為一元運算符。為一元運算符。 例:例:x= -x ; 二元運算符二元運算符:需要兩個運算對象的運算符號稱:需要兩個運算對象的運算符號稱為雙元操縱符。為雙元操縱符。 例:例:x= x+2; 三元運算符三元運算符:三元運算符需要三個運算對象。:三元運算符需要三個運算對象。 Java有一個三元運算符有一個三元運算符“ (AB)?A :B ”,它,它是一個簡要的是一個簡要的ifelse語句。語句。運算符按操作數(shù)的數(shù)目分類運算符按操作數(shù)的數(shù)目分類J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )運算符運算符 使用形式使用形式 描述描述
20、舉例舉例 結(jié)果結(jié)果 + op1 + op2 op1 加上op2 5+6 11 - op1 - op2 op1 減去op2 6.2-2 4.2 * op1 * op2 op1乘以op2 3*4 12 / op1 / op2 op1 除以op2 7/2 3 % op1 % op2 op1 除以op2的余數(shù) 9%2 1 幾點注意幾點注意: 1) “/”運算對與整數(shù)和浮點數(shù)情況不同運算對與整數(shù)和浮點數(shù)情況不同,7/2結(jié)果為結(jié)果為3,而,而7.0/2.0結(jié)果為結(jié)果為3.5。 2) 取模運算取模運算“%”一般用于整數(shù)運算一般用于整數(shù)運算,它是用來得到余數(shù)部分,它是用來得到余數(shù)部分。當(dāng)參當(dāng)參與運算的量為負數(shù)
21、時,結(jié)果的正負性取決與被除數(shù)的正負與運算的量為負數(shù)時,結(jié)果的正負性取決與被除數(shù)的正負。J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )(3 3)如果出現(xiàn)各種類型數(shù)據(jù)的)如果出現(xiàn)各種類型數(shù)據(jù)的混合運算混合運算,系統(tǒng)將按自動轉(zhuǎn),系統(tǒng)將按自動轉(zhuǎn)換原則換原則將操作數(shù)轉(zhuǎn)化為同一類型將操作數(shù)轉(zhuǎn)化為同一類型,再進行運算,再進行運算。如:一個整。如:一個整數(shù)和一個浮點數(shù)進行運算,結(jié)果為浮點型。數(shù)和一個浮點數(shù)進行運算,結(jié)果為浮點型??纯慈缦鲁绦蚨???纯慈缦鲁绦蚨?。char c = a;char c = a;intint d = c-c; d = c-c; intint x = x = c+1c+1;
22、; char c2 = (char)x; char c2 = (char)x; System.out.printlnSystem.out.println(c+(c+t+dt+d+t+xt+x+t+c2);+t+c2);字符與整數(shù)的字符與整數(shù)的混合運算混合運算,字符轉(zhuǎn)換為整數(shù)字符轉(zhuǎn)換為整數(shù)a 2 98 bJ a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2. 單目算術(shù)運算符單目算術(shù)運算符 運算符 使用形式 描述 功能等價 + + a+a+或或+a +a 自增自增 a=a+1 a=a+1 - - a-a-或或-a -a 自減自減 a=a-1 a=a-1 - - -a -a 求相反數(shù)求相反數(shù)
23、 a=-a a=-a 幾點說明:幾點說明: 變量的自增與自減與變量的自增與自減與+出現(xiàn)的前后位置無關(guān)。出現(xiàn)的前后位置無關(guān)。 無論是無論是+x+x還是還是x+x+均表示均表示x x要增要增1 1。 表達式的值與運算符位置有關(guān)表達式的值與運算符位置有關(guān)。表達式。表達式 x+x+的值的值為為x x增增之前的值,之前的值,+x+x的值為的值為x x增之后的值。增之后的值。J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )運算符運算符 用法用法 描述描述 舉例舉例 op1 op2 op1 op2 op1op1大于大于op2 op2 x3 x3 = = op1 = op2 op1 = op2 op
24、1op1大于等于大于等于op2 op2 x=4 x=4 op1 op2 op1 op2 op1op1小于小于op2 op2 x 3 x 3 = = op1 = op2 op1 = op2 op1op1小于等于小于等于op2 op2 x =4 x 2); 如果將代碼改為:如果將代碼改為: System.out.println(x/02)|(x=3); 則運行時將產(chǎn)生算術(shù)運算異常,不能用則運行時將產(chǎn)生算術(shù)運算異常,不能用x去除去除0。 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )寫出程序運行結(jié)果寫出程序運行結(jié)果public class public class Test1Test1
25、public static void main(String a ) public static void main(String a ) intint m =4; m =4; System.out.printlnSystem.out.println( (result1result1=+=+m+m+); ); System.out.printlnSystem.out.println( (result2result2=+(=+(+m+m); ); booleanboolean x = (m6) & ( x = (m6) & (m%2m%2=0);=0);System.out.pr
26、intlnSystem.out.println( (result3result3=+x); =+x); result1=4result1=4result2=6result2=6result3=falseresult3=falseJ a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.3.4 2.3.4 位運算位運算是對操作數(shù)以二進制比特是對操作數(shù)以二進制比特(bit)(bit)位為單位進行的操作運算位為單位進行的操作運算運算符運算符 用法用法 操作操作 op 結(jié)果是結(jié)果是op按比特位求反按比特位求反 Op1 op2 將將op1右移右移op2個位(帶符號)個位(帶符號) Op1 op1 o
27、p2 將將op1右移右移op2個位(不帶符號的右移)個位(不帶符號的右移) & Op1 & op2 op1 和和 op2都是都是true | Op1 | op2 op1 或或 op2是是true Op1 op2 op1和和op2是不同值是不同值 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )(1) (1) 移位運算符移位運算符-使用示例使用示例 x x(十進(十進制表示)制表示) 二進制補二進制補碼表示碼表示 x2 x2 x2 x2 x2 30 30 0 00011110 0011110 01111000 01111000 00000111 00000111 000
28、00111 00000111 -17 -17 1 1111101101111 11 1 10110111100 1100 1111111111011011 0000111111011011 在處理在處理帶符號的右移帶符號的右移中,右移后左邊的留出的空位中,右移后左邊的留出的空位上復(fù)制的原數(shù)的符號位。而上復(fù)制的原數(shù)的符號位。而不帶符號的右移不帶符號的右移中,右移中,右移后左邊的空位一律填后左邊的空位一律填0。帶符號的左移在后邊填補。帶符號的左移在后邊填補0。 數(shù)據(jù)在計算機內(nèi)是以二進制補碼的形式存儲,正負數(shù)據(jù)在計算機內(nèi)是以二進制補碼的形式存儲,正負數(shù)的區(qū)別看最高位:數(shù)的區(qū)別看最高位:0代表正數(shù);代
29、表正數(shù);1則為負數(shù)則為負數(shù) J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )(2) (2) 按位邏輯運算按位邏輯運算 x=13,y=43,x=13,y=43,計算各運算結(jié)果。計算各運算結(jié)果。 首先,將數(shù)據(jù)轉(zhuǎn)換為二進制形式:x=1101,y=101011 以byte型數(shù)據(jù)為例,x和y均占用一個字節(jié),所以x和y的二進制為:x=00001101, y=00101011 x結(jié)果應(yīng)為結(jié)果應(yīng)為11110010,十進制結(jié)果為,十進制結(jié)果為-14。x&y=1001,也即十進制的,也即十進制的9 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.3.5 2.3.5 是指在賦值運算符
30、的左邊有一個其它運算符是指在賦值運算符的左邊有一個其它運算符 例如:例如:x x+=+=2; /2; /相當(dāng)與相當(dāng)與 x=x+2 x=x+2 其功能是先將左邊變量與右邊的表達式進行某其功能是先將左邊變量與右邊的表達式進行某種運算后種運算后, ,再把運算的結(jié)果賦給變量。再把運算的結(jié)果賦給變量。能與賦值符結(jié)合的運算符包括:能與賦值符結(jié)合的運算符包括: 算術(shù)運算符:算術(shù)運算符:+ +,- -,* *,/ /,% % 位運算符:位運算符: & &,| |, 位移運算符:位移運算符:, , J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.3.6 2.3.6 運算符運算符 描
31、述描述 ?: 作用相當(dāng)于作用相當(dāng)于if-else語句語句 用于聲明數(shù)組,創(chuàng)建數(shù)組以及訪問數(shù)組用于聲明數(shù)組,創(chuàng)建數(shù)組以及訪問數(shù)組元素元素 . 用于訪問對象實例或者類的類成員用于訪問對象實例或者類的類成員 ( type ) 強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換 new 創(chuàng)建一個新的對象或者新的數(shù)組創(chuàng)建一個新的對象或者新的數(shù)組 instanceof 判斷對象是否為類的實例判斷對象是否為類的實例 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.3.7 2.3.7 運算符運算符 描述描述 優(yōu)先級優(yōu)先級 結(jié)合性結(jié)合性 ()() 圓括號圓括號 15 15 左左 new new 創(chuàng)建對象創(chuàng)建對象 15 15
32、 左左 數(shù)組下標(biāo)運算數(shù)組下標(biāo)運算 15 15 左左 . . 訪問成員(屬性、方法)訪問成員(屬性、方法) 15 15 左左 +,- - 后綴自增、自減后綴自增、自減1 14 14 右右 +,- - 前綴自增、自減前綴自增、自減1 13 13 右右 按位取反按位取反 13 13 右右 ! 邏輯非邏輯非 13 13 右右 - -、+ + 算術(shù)符號(負、正號)算術(shù)符號(負、正號) 13 13 右右 (typetype) 強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換 13 13 右右 * *、/ /、% % 乘、除、取模乘、除、取模 12 12 左左 + +、- - 加、減加、減 11 11 左左 、 移位移位 10 1
33、0 左左 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )JavaJava運算符的優(yōu)先級與結(jié)合性運算符的優(yōu)先級與結(jié)合性 (續(xù))(續(xù))、= instanceof 關(guān)系運算關(guān)系運算 9 9 左左 =、!= 相等性運算相等性運算 8 8 左左 & 位邏輯與位邏輯與 7 7 左左 位邏輯位邏輯異或異或 6 6 左左 | 位邏輯位邏輯或或 5 5 左左 & 邏輯與邏輯與 4 4 左左 | 邏輯邏輯或或 3 3 左左 ?: 條件運算符條件運算符 2 2 右右 = += -= *= /= %= &= = |= = = 賦值運算符賦值運算符 1 1 右右 J a v a 語
34、言 程 序 設(shè) 計 ( 第 2 版 ) 表達式表達式的運算的運算次序次序1. 優(yōu)先級優(yōu)先級值大的運算先計算值大的運算先計算; xy&xy)&(x 2);(m 2);System.out.System.out.printfprintf(Value of PI is (Value of PI is %.3f %.3f %n, %n, Math.PIMath.PI); );System.out.System.out.printfprintf(result1= (result1= %e %e %n, 1500.34);%n, 1500.34); System.out.System.ou
35、t.printfprintf(result2=(result2= %13.8e %13.8e %n, 1500.34);%n, 1500.34); n%m=1 n/m=43n%m=1 n/m=431100 111100 11Value of PI is 3.142Value of PI is 3.142r resultesult1 1= 1.500340e+03= 1.500340e+03result2= 1.50034000e+03 result2= 1.50034000e+03 精確到小數(shù)點后精確到小數(shù)點后3位位指數(shù)形式,默認指數(shù)形式,默認6位小數(shù)位小數(shù)總寬度總寬度13,小數(shù),小數(shù)8位位J
36、 a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )1. 1. 字符類型數(shù)據(jù)的輸入字符類型數(shù)據(jù)的輸入 利用標(biāo)準輸入流利用標(biāo)準輸入流(System.in)(System.in)的的read()read()方法,可以從方法,可以從鍵盤讀取字符。但要注意,鍵盤讀取字符。但要注意,read()read()方法從鍵盤獲取的是方法從鍵盤獲取的是輸入的字符的字節(jié)表示形式(返回結(jié)果為輸入的字符的字節(jié)表示形式(返回結(jié)果為intint類型),類型),需要使用強制轉(zhuǎn)換將其轉(zhuǎn)化為字符型需要使用強制轉(zhuǎn)換將其轉(zhuǎn)化為字符型 。 char c=(char)char c=(char)System.in.readSystem
37、.in.read(); (); J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2 2字符串的輸入字符串的輸入 將鍵盤輸入的數(shù)據(jù)看作字符流,利用將鍵盤輸入的數(shù)據(jù)看作字符流,利用InputStreamReaderInputStreamReader將從鍵盤輸入的字節(jié)流數(shù)據(jù)轉(zhuǎn)化為字符序列來識別將從鍵盤輸入的字節(jié)流數(shù)據(jù)轉(zhuǎn)化為字符序列來識別 。利用。利用BufferedReaderBufferedReader對字符流序列進行過濾,借助對字符流序列進行過濾,借助BufferedReaderBufferedReader流對象提供的方法流對象提供的方法readLine()readLine()從鍵盤讀
38、取從鍵盤讀取一個字符串。一個字符串。 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )通過流變換獲取字符串通過流變換獲取字符串System.inread(byte b):讀一系列字節(jié)InputStreamReader字節(jié)流字符流BufferedReaderread(char cbuf):讀一系列字符readLine():讀一行字符串(String)InputStream帶緩沖的字符流J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )例例2-3 2-3 字符串類型數(shù)據(jù)輸入字符串類型數(shù)據(jù)輸入 import java.io.import java.io.* *; ; public
39、class public class InputStringInputString public static void main(String public static void main(String argsargs) ) String s=; String s=; System.out.printSystem.out.print (Enter a String please: ); (Enter a String please: ); try try BufferedReaderBufferedReader in= new in= new BufferedReaderBuffered
40、Reader( ( new new InputStreamReaderInputStreamReader(System.in);(System.in); s= s=in.readLinein.readLine();(); catch ( catch (IOExceptionIOException e) e) System.out.printlnSystem.out.println (Youve entered a String: +s); (Youve entered a String: +s); J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )3.3. 整數(shù)和雙精度數(shù)的輸入整數(shù)和雙
41、精度數(shù)的輸入 先通過上面的方法獲取一個由數(shù)字字符組成的字符串,先通過上面的方法獲取一個由數(shù)字字符組成的字符串,然后通過下面的轉(zhuǎn)換方法轉(zhuǎn)換成需要的數(shù)據(jù)。然后通過下面的轉(zhuǎn)換方法轉(zhuǎn)換成需要的數(shù)據(jù)。Integer.parseIntInteger.parseInt(String s) (String s) :將數(shù)字字符串轉(zhuǎn)化為整數(shù):將數(shù)字字符串轉(zhuǎn)化為整數(shù) 。Double.parseDoubleDouble.parseDouble(String s) (String s) :將字符串形式的數(shù)字數(shù)據(jù):將字符串形式的數(shù)字數(shù)據(jù)轉(zhuǎn)化為雙精度數(shù)。轉(zhuǎn)化為雙精度數(shù)。 例如:例如:String x=123String x
42、=123;intint m= m= Integer.parseIntInteger.parseInt(x); /(x); /m m 的的值為值為123123x=123.41x=123.41;double n= double n= Double.parseDoubleDouble.parseDouble(x) ; /n(x) ; /n的值為的值為123.41 123.41 J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )補充:補充:使用使用java.util.Scannerjava.util.Scanner類類一個一個掃描器掃描器,使用分隔符分解使用分隔符分解它的輸入,默認情況它的輸入
43、,默認情況下用空格下用空格作為分隔符。作為分隔符。ScannerScanner的輸入源取決于構(gòu)造參數(shù),以下從標(biāo)的輸入源取決于構(gòu)造參數(shù),以下從標(biāo)準輸入(鍵盤)獲取準輸入(鍵盤)獲取數(shù)據(jù)數(shù)據(jù) Scanner Scanner scannerscanner = new Scanner( = new Scanner(System.inSystem.in); );常用方法:常用方法:booleanboolean hasNexthasNext() () : 判是否有下一個數(shù)據(jù)判是否有下一個數(shù)據(jù)intint nextIntnextInt() () :讀取整數(shù):讀取整數(shù)d double ouble nextDo
44、ublenextDouble() () :讀取雙精度數(shù):讀取雙精度數(shù)String String nextLinenextLine() () : 讀取一行字符串讀取一行字符串J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )ScannerScanner使用舉例使用舉例-求求3 3個整數(shù)的最大數(shù)個整數(shù)的最大數(shù)import import java.util.Scannerjava.util.Scanner; ;public class testpublic class test public static void main(String public static void main(St
45、ring argsargs) Scanner s=new Scanner s=new ScannerScanner(System.in);(System.in); System.out.printSystem.out.print( (請輸入請輸入3 3個數(shù),用空格隔開:個數(shù),用空格隔開:);); intint a= a= s.nextInts.nextInt();(); intint b= b= s.nextInts.nextInt();(); intint c= c= s.nextInts.nextInt();();intint m = (a b) ? a : b; m = (a b) ?
46、a : b;m = (m c) ? m : c;m = (m c) ? m : c; System.out.printlnSystem.out.println( (最大者最大者=+m);=+m); J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.4.2 2.4.2 用用swingswing對話框?qū)崿F(xiàn)輸入輸出對話框?qū)崿F(xiàn)輸入輸出import import javax.swingjavax.swing. .* *; ;public class Test2public class Test2 public static void main(String public static voi
47、d main(String argsargs) ) String s= String s= JOptionPane.JOptionPane.showInputDialogshowInputDialog( (請輸入你的姓名:請輸入你的姓名:);); JOptionPane.JOptionPane.showMessageDialogshowMessageDialog(null, (null, 華東交大歡迎你:華東交大歡迎你: + s); + s); 例例2-4 2-4 用用SwingSwing對話框輸入和顯示數(shù)據(jù)對話框輸入和顯示數(shù)據(jù) J a v a 語 言 程 序 設(shè) 計 ( 第 2 版 )2.5 2.5 常用數(shù)學(xué)方法常用數(shù)學(xué)方法常量常量Math.PIMath.PI代表數(shù)學(xué)上的代表數(shù)學(xué)上的 Math.EMath.E代表數(shù)學(xué)上的代表數(shù)學(xué)上的e e Math類的主要方法類的主要方法 int abs(int i) int max(int i1,int i2) double
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房屋置換與家居定制服務(wù)合同范本3篇
- 二零二五年度校園雕塑作品采購合同范本3篇
- 2025年度環(huán)境監(jiān)控系統(tǒng)工程合同2篇
- 海南職業(yè)技術(shù)學(xué)院《文獻檢索》2023-2024學(xué)年第一學(xué)期期末試卷
- 襄陽汽車課程設(shè)計招聘
- 海南師范大學(xué)《物流信息技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度名校學(xué)區(qū)二手房買賣合同范本2篇
- 二零二五年度國際貿(mào)易實務(wù):磋商與訂立合同實務(wù)操作與法律風(fēng)險防范手冊9篇
- 二零二五年度海寧房產(chǎn)買賣糾紛調(diào)解及法律援助合同3篇
- 2025年度房地產(chǎn)項目銷售代理合同3篇
- 閱讀理解(專項訓(xùn)練)-2024-2025學(xué)年湘少版英語六年級上冊
- 民用無人駕駛航空器產(chǎn)品標(biāo)識要求
- 2024年醫(yī)院產(chǎn)科工作計劃例文(4篇)
- 2024-2025學(xué)年九年級英語上學(xué)期期末真題復(fù)習(xí) 專題09 單詞拼寫(安徽專用)
- 無創(chuàng)通氣基本模式
- 江西省贛州市尋烏縣2023-2024學(xué)年八年級上學(xué)期期末檢測數(shù)學(xué)試卷(含解析)
- 《臨床放射生物學(xué)》課件
- 腸造口還納術(shù)手術(shù)配合
- 2024年中考語文試題分類匯編:詩詞鑒賞(學(xué)生版)
- 科學(xué)計算語言Julia及MWORKS實踐 課件 3-MWORKS簡介
- 2024年10月自考04532財務(wù)會計專題試題及答案含解析
評論
0/150
提交評論