




已閱讀5頁(yè),還剩42頁(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)介
第2章 基本數(shù)據(jù)類型與基本操作,本章學(xué)習(xí)目的:了解和掌握J(rèn)ava語(yǔ)言的基本數(shù)據(jù)類型及相關(guān)內(nèi)容,包括變量、常量、數(shù)據(jù)類型和表達(dá)式,掌握如何利用基本數(shù)據(jù)類型、輸入輸出及運(yùn)算表達(dá)式來(lái)編寫(xiě)程序。,2.1 標(biāo)識(shí)符,什么是標(biāo)識(shí)符: 日常工作和生活中碰到的每個(gè)實(shí)體都有一個(gè)名字,便于人們區(qū)別和使用這些實(shí)體。程序中的每個(gè)元素也需要通過(guò)命名去識(shí)別和使用。程序設(shè)計(jì)語(yǔ)言使用標(biāo)識(shí)符命名程序中的元素,如類、方法、變量、常量和包等。 Java語(yǔ)言命名標(biāo)識(shí)符的規(guī)則如下: 標(biāo)識(shí)符是由字母、數(shù)字、下劃線(_)和美元符($)構(gòu)成的字符序列。 標(biāo)識(shí)符的第1個(gè)字符必須是字母、劃線(_)或美元符($),不能是數(shù)字。 標(biāo)識(shí)符不能與關(guān)鍵字相同。 標(biāo)識(shí)符不能是true、false和null。 標(biāo)識(shí)符可以有任意長(zhǎng)度。 e.g. $123、WelcomeToJava、area、showInputDialog都是合法的標(biāo)識(shí)符,而2A、d+123、test-01是非法標(biāo)識(shí)符。 注意:Java的標(biāo)識(shí)符的大小寫(xiě)敏感,即A和a是兩個(gè)不同的標(biāo)識(shí)符。,關(guān)鍵字:特殊的含義標(biāo)識(shí)符。 e.g.,2.1 標(biāo)識(shí)符,2.1 標(biāo)識(shí)符:命名習(xí)慣,(1)變量和方法通常使用小寫(xiě)字母命名,如果名字包括多個(gè)詞,則連接在一起,使第一個(gè)詞的字母小寫(xiě)而其它詞的首字母大寫(xiě),通常變量為名詞或名詞短語(yǔ),而方法為動(dòng)詞或運(yùn)行短語(yǔ)。 e.g. radius、area、circleCenter、print、howInputDialog (2)類通常使用名詞或名詞短語(yǔ)命名,構(gòu)成類名的每個(gè)單詞的首字母均大寫(xiě)。 e.g.Math、ArrayList (3)常量中的字母都大寫(xiě),單詞之間用下劃線連接。 e.g.PI和MAX_VALUE,2.2 基本數(shù)據(jù)類型,1. 整數(shù)類型,程序中的整數(shù)類型數(shù)據(jù)能夠進(jìn)行精確的數(shù)據(jù)存儲(chǔ)與計(jì)算,就是說(shuō)數(shù)據(jù)的表示和運(yùn)算都是準(zhǔn)確的,不會(huì)產(chǎn)生誤差。使用整數(shù)類型時(shí),應(yīng)該根據(jù)要描述的數(shù)值大小選擇恰當(dāng)?shù)卣麛?shù)類型,應(yīng)用最多的是int類型,數(shù)據(jù)值很大情況下選擇long,byte和short通常用于文件讀寫(xiě)處理等,從而有效控制存儲(chǔ)空間利用率。,2. 浮點(diǎn)類型,浮點(diǎn)類型的數(shù)值在存儲(chǔ)和運(yùn)算過(guò)程中會(huì)產(chǎn)生誤差,表示通常所說(shuō)的實(shí)數(shù),其數(shù)值由整數(shù)部分和小數(shù)部分構(gòu)成。兩種浮點(diǎn)類型除存儲(chǔ)位數(shù)不同外,其精度也不同。float類型的有效數(shù)字為67位,double類型的有效數(shù)字為15位。,3. 字符類型,字符類型在程序中用于表示單個(gè)字符。高級(jí)語(yǔ)言的字符類型能夠表示的字符范圍由使用的字符集決定。為了適應(yīng)計(jì)算機(jī)應(yīng)用的全球化發(fā)展,Java選用了Unicode編碼字符集。Unicode是一種16位編碼,最大可以容納65535個(gè)字符,除傳統(tǒng)的西方字符外,也容納了中文、日文和韓文等亞洲文字。隨著更多的語(yǔ)言文字試圖加入U(xiǎn)nicode編碼,原有的16位編碼也很快不夠用了,因此又?jǐn)U展了32位的編碼。 e.g. IE-“查看”-“編碼”,4. 布爾類型,布爾類型是一種用于表示邏輯判斷結(jié)果的數(shù)據(jù)類型,它只有兩個(gè)值:表示“真”的true和表示“假”的false。,2.3 直接量與常量,定義: 直接量是源程序代碼中直接出現(xiàn)的各種數(shù)據(jù)類型的數(shù)值。常量是指在程序中使用標(biāo)識(shí)符進(jìn)行命名且數(shù)值不能改變的量。它們的共同特點(diǎn)是在程序運(yùn)行過(guò)程中數(shù)值大小不同發(fā)生改變。,2.3.1 直接量,整型直接量 浮點(diǎn)型直接量 字符型直接量 布爾型直接量 字符串直接量,整型直接量,Java語(yǔ)言的整型直接量有3種:十進(jìn)制、八進(jìn)制和十六進(jìn)制。 十進(jìn)制整數(shù)由數(shù)字09和正號(hào)(+)、負(fù)號(hào)()構(gòu)成,如:1234、-78、0均為十進(jìn)制直接量; 八進(jìn)制整數(shù)由數(shù)字07和正號(hào)(+)、負(fù)號(hào)()構(gòu)成。八進(jìn)制整數(shù)必須用數(shù)字“0”開(kāi)始,如:027、-0123均為八進(jìn)制直接量。 十六進(jìn)制整數(shù)由數(shù)字09、字母AF(可以小寫(xiě))和正號(hào)(+)、負(fù)號(hào)()構(gòu)成。十六進(jìn)制整數(shù)必須用“0x”或“0X”開(kāi)始,如:-0x123、0xFFFF均為十六進(jìn)制直接量。 整型直接量默認(rèn)是int類型的,可以通過(guò)在直接量的末尾加字母L或l表示其數(shù)據(jù)類型為long。例如:100表示int型十進(jìn)制整數(shù),100L表示long型十進(jìn)制整數(shù)。,浮點(diǎn)型直接量,Java語(yǔ)言的浮點(diǎn)類型直接量有兩種表示形式:十進(jìn)制小數(shù)點(diǎn)形式和科學(xué)記數(shù)法。 十進(jìn)制小數(shù)點(diǎn)表示法由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成,整數(shù)部分和小數(shù)部分可以省略,但不能同時(shí)省略,被省略部分的值為0。例如:3.14、.12、100.、123.4等。 科學(xué)計(jì)數(shù)法也稱指數(shù)形式,由十進(jìn)制小數(shù)點(diǎn)表示部分和指數(shù)部分組成,指數(shù)部分用E或e開(kāi)始,指數(shù)必須為整數(shù)。例如:1.23E+6、1.0E-10、3.14E5等。 浮點(diǎn)類型直接量默認(rèn)為double類型,如果要在程序中書(shū)寫(xiě)float類型的直接量,則需要在直接末尾添加F或f。例如:1.23F、1.23E+6F表示float的直接量。,字符型直接量,字符型直接量是用單引號(hào)括起來(lái)的單個(gè)字符。由于使用Unicode編碼,Java程序中單個(gè)漢字也作為字符直接使用。例如:A、$、漢、中都是合法的字符直接量。 Java使用轉(zhuǎn)義字符來(lái)表示單引號(hào)、雙引號(hào)和斜線等這些字符的直接量。轉(zhuǎn)義字符由一個(gè)“”和控制字符組成。,轉(zhuǎn)義符,布爾型直接量,Java語(yǔ)言的布爾型直接量:true和false,字符串直接量,字符串直接量不屬于基本數(shù)據(jù)類型,是程序設(shè)計(jì)過(guò)程中使用非常多的一種直接量。字符串是指用一對(duì)雙引號(hào)括起來(lái)的由零個(gè)或多個(gè)字符組成的字符序列。 長(zhǎng)度:Java語(yǔ)言中,字符序列中字符的個(gè)數(shù)稱為字符串的長(zhǎng)度。 e.g“是一個(gè)空字符串,其長(zhǎng)度為0;“string“是一個(gè)長(zhǎng)度為6的字符串;“歡迎學(xué)習(xí)Java語(yǔ)言“的長(zhǎng)度為10。,2.3.2 常量,格式: 修飾符 final 數(shù)據(jù)類型 常量標(biāo)識(shí)符 =常量初始值 舉例: static final int MAX_VALUE = 1000; static final double PI = 3.14159; 慣用: 程序中使用常量代替直接量,可以提高程序的可讀性和易維護(hù)性。在上面例子中如果需要將圓周率的精度提高,則只需要修改常量PI的值即可,而如果沒(méi)有使用常量,則需要對(duì)程序中出現(xiàn)的全部圓周率直接量進(jìn)行修改。,2.4 變量與賦值運(yùn)算符,定義: 變量用來(lái)存儲(chǔ)程序中需要處理的數(shù)據(jù)。與常量不同,變量的值在程序執(zhí)行過(guò)程中會(huì)發(fā)生改變。 格式: 數(shù)據(jù)類型 變量名1 ,變量名2 ,; e.g: int lineWidth, x; double radius, interstRate; char ch; boolean flag;,通知: 為進(jìn)一步加強(qiáng)教風(fēng)學(xué)風(fēng)建設(shè),學(xué)校將于明天(9月18日)進(jìn)行 課堂考勤抽查,請(qǐng)各學(xué)院通知相關(guān)任課教師做好課堂的考勤工作!,關(guān)于浮點(diǎn)的補(bǔ)充知識(shí),標(biāo)準(zhǔn)(IEEE 754、IEEE 854) float : 符號(hào)為1,尾數(shù)23,指數(shù)8 double: 符號(hào)為1,尾數(shù)52,指數(shù)11 在Netbeans如何查看?,復(fù)習(xí)題:,2.12.1 下面哪些是合法的Java標(biāo)識(shí)符?哪些是Java的關(guān)鍵字? applet, Applet, b+, class, -c, public, 5#T, $123, water, int, x, y ?,第四周上機(jī)實(shí)驗(yàn)課注意事項(xiàng),學(xué)生注冊(cè)、選擇班級(jí)、選擇教師如(hlchen) 上機(jī)過(guò)程 1、每個(gè)機(jī)房門(mén)口的機(jī)器一般是留給輔導(dǎo)老師使用 2、僅提供實(shí)驗(yàn)1 的視頻文件 3、學(xué)生把實(shí)驗(yàn)放置個(gè)人的FTP目錄(下課后請(qǐng)關(guān)機(jī)、注銷、以免被下一個(gè)班的學(xué)生隨意篡改),項(xiàng)目名字至少出現(xiàn)題號(hào),以便閱讀評(píng)分 4、輔導(dǎo)老師在哪里? 原因: 因東區(qū)機(jī)房被水泥墻阻隔,輔導(dǎo)老師無(wú)法同一個(gè)時(shí)刻出現(xiàn)在3個(gè)班的學(xué)生面前。 解決方案: 1、請(qǐng)把整個(gè)項(xiàng)目放置個(gè)人FTP下; 2、若輔導(dǎo)老師不在本機(jī)房,請(qǐng)移步到其他機(jī)房輔導(dǎo)老師; 3、輔導(dǎo)老師可使用FTP可以方便看到該學(xué)生的程序并當(dāng)場(chǎng)作答,變量初始化,定義: 程序中定義變量之后可以通過(guò)變量名對(duì)存儲(chǔ)在該變量?jī)?nèi)存空間的數(shù)據(jù)進(jìn)行訪問(wèn)和修改??梢栽诙x變量的同時(shí)使用賦值運(yùn)算符“”為變量賦予一個(gè)初始值,稱為變量的初始化 e.g: double salary = 2000.0; int x = 10, y = 100; boolean flag = true;,賦值,定義: 賦值運(yùn)算符“”用來(lái)將其右邊的數(shù)值賦予其左邊的變量,如果其右邊是一個(gè)表達(dá)式則需要先計(jì)算表達(dá)式的結(jié)果后,再把結(jié)果賦值給變量 e.g: double area, radius = 2.0; area = PI * radius * radius; /先計(jì)算表達(dá)式的結(jié)果,再賦值給area,2.5 運(yùn)算符與表達(dá)式,運(yùn)算符: 運(yùn)算符 名稱 例子 說(shuō)明 + 加運(yùn)算 a+b 計(jì)算a加b的和 - 減運(yùn)算 a-b 計(jì)算a減b的差 * 乘運(yùn)算 a*b 計(jì)算a乘b的積 / 除運(yùn)算 a/b 計(jì)算a除以b的商 % 模運(yùn)算 a%b 計(jì)算a除以b的余數(shù) 表達(dá)式: 用運(yùn)算符連接起來(lái)的式子,算術(shù)運(yùn)算,定義: 數(shù)值數(shù)據(jù)之間最常見(jiàn)的是通過(guò)算術(shù)運(yùn)算符連接操作數(shù)構(gòu)成算術(shù)表達(dá)式進(jìn)行算術(shù)運(yùn)算。算術(shù)運(yùn)算符按操作數(shù)個(gè)數(shù)分為雙目運(yùn)算符和單目運(yùn)算符兩類。雙目算術(shù)運(yùn)算符,它們都是左結(jié)合的,+、的優(yōu)先級(jí)低于*、/、%。 注意事項(xiàng): (1)兩個(gè)整數(shù)類型的數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算后,結(jié)果仍然是整數(shù) 類型。例如5/2的結(jié)果是2而不是2.5。 (2)模運(yùn)算求a除以b的余數(shù),結(jié)果的符號(hào)與被除數(shù)a的符號(hào) 相同。例如:5%3的結(jié)果是2;5%3的結(jié)果是2;5% 3的結(jié)果是2。,、,+ 自增運(yùn)算 a+, +a 把a(bǔ)的值加1后再賦值給a - 自減運(yùn)算 a-, -a 把a(bǔ)的值減1后再賦值給a e.g: int a = 10 , b, c = 10, d; b = +a; /執(zhí)行完本句,變量b和a的值均為11 d = c+; /執(zhí)行完本句,變量c的值為11,而d的值為10,關(guān)系運(yùn)算,關(guān)系表達(dá)式通過(guò)關(guān)系運(yùn)算符確定兩個(gè)數(shù)據(jù)之間的小于、大于及相等關(guān)系,也稱比較運(yùn)算表達(dá)式。Java語(yǔ)言提供了6種關(guān)系運(yùn)算符。關(guān)系運(yùn)算符都是雙目運(yùn)算符,是左結(jié)合的,優(yōu)先級(jí)規(guī)則為:、=的優(yōu)先級(jí)相同且高于=、!=。 關(guān)系表達(dá)式運(yùn)算的操作數(shù)可以是數(shù)值類型和字符類型等,運(yùn)算結(jié)果是布爾類型。例如:1780都是關(guān)系表達(dá)式。,邏輯運(yùn)算,邏輯運(yùn)算符可以對(duì)象布爾類型的數(shù)據(jù)進(jìn)行運(yùn)算,結(jié)果也是布爾類型。Java語(yǔ)言提供了兩個(gè)雙目邏輯運(yùn)算符:&(邏輯與)和|(邏輯或)、一個(gè)單目邏輯運(yùn)算符:!(邏輯非),邏輯運(yùn)算規(guī)則見(jiàn)表2-6。雙目邏輯運(yùn)算是左結(jié)合的,單目邏輯運(yùn)算是右結(jié)合的,優(yōu)先級(jí)順序?yàn)椋?高于&高于|。 結(jié)果是布爾類型的變量或表達(dá)式通過(guò)邏輯運(yùn)算符可以構(gòu)成邏輯表達(dá)式,可以用于表示較復(fù)雜的條件判斷。例如邏輯運(yùn)算score = 70 & score = 80表示判斷score的值是否在70到80之間。,復(fù)合賦值,說(shuō)明:a *= b; 等價(jià)于 a = a*b;,條件運(yùn)算,定義: 條件運(yùn)算符是提供的一個(gè)三目運(yùn)算符,使用它構(gòu)成的條件運(yùn)算表達(dá)式可以根據(jù)一個(gè)條件在兩個(gè)表達(dá)式的值中選擇一個(gè)作為結(jié)果。 格式: 條件 ? 表達(dá)式1 : 表達(dá)式2 e.g: c = ab ? a : b; /a和b的較大值并賦值給變量c,運(yùn)算符與表達(dá)式的計(jì)算規(guī)則,數(shù)據(jù)類型的轉(zhuǎn)換,表達(dá)式運(yùn)算過(guò)程中,運(yùn)算符對(duì)參與運(yùn)算的操作數(shù)的數(shù)據(jù)類型都有特定要求。通常要求操作數(shù)具有相同的數(shù)據(jù)類型,但是在程序中經(jīng)常需要對(duì)不同類型的操作數(shù)進(jìn)行運(yùn)算,這就需要將兩個(gè)操作數(shù)的數(shù)據(jù)類型轉(zhuǎn)換為同一數(shù)據(jù)類型再進(jìn)行運(yùn)算。 分類 自動(dòng)類型轉(zhuǎn)換 e.g. 1.0 / 2 強(qiáng)制類型轉(zhuǎn)換 e.g. 5 / (int)2.0,數(shù)值型數(shù)據(jù)之間的轉(zhuǎn)換,規(guī)范: (1)如果操作數(shù)之一是double類型,則把另一個(gè)轉(zhuǎn)換為double類型。 (2)否則,如果操作數(shù)之一是float類型,則把另一個(gè)轉(zhuǎn)換為float類型。 (3)否則,如果操作數(shù)之一是long類型,則把另一個(gè)轉(zhuǎn)換為long類型。 (4)否則,把兩個(gè)操作數(shù)都轉(zhuǎn)換為int類型。 e.g: 1/2的結(jié)果是0,而1.0/2需要把2轉(zhuǎn)換為double,結(jié)果為0.5。 double d = 10.8; float f = (float)d; /將d的數(shù)值轉(zhuǎn)換為float類型,精度丟失 int i = (int)f; /將f的數(shù)值轉(zhuǎn)換為int類型的10,小數(shù)部分被截?cái)唷?字符型數(shù)據(jù)與數(shù)值型數(shù)據(jù)之間的轉(zhuǎn)換,char型數(shù)據(jù)可以轉(zhuǎn)換為任何數(shù)值型數(shù)據(jù),反之亦然。一個(gè)char型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù)時(shí),該字符的Unicode編碼值被轉(zhuǎn)換為指定的數(shù)值類型;一個(gè)int整數(shù)被轉(zhuǎn)換為char類型時(shí),只保留整數(shù)的低16位作為Unicode編碼,高位部分被截?cái)啵划?dāng)一個(gè)浮點(diǎn)數(shù)被轉(zhuǎn)換為char類型時(shí),先將浮點(diǎn)數(shù)轉(zhuǎn)換為int類型,再轉(zhuǎn)換成char類型。 e.g: byte b = A; / 正確,A的Unicode編碼為65,在1個(gè)字節(jié)范圍內(nèi) int i = 0; / 正確 byte b = u0FF4; / 錯(cuò)誤,Unicode編碼uFF4超出了1個(gè)字節(jié)范圍 byte b = (byte) u0FF4; /正確,字符串與基本數(shù)據(jù)類型之間的轉(zhuǎn)換,Java中使用預(yù)定義的類String表示字符串類型。兩個(gè)字符串可以通過(guò)“+”連接起來(lái),此處的“+”稱為連接運(yùn)算符。如果進(jìn)行連接運(yùn)算的只有一個(gè)字符串,則Java自動(dòng)將非字符串操作數(shù)轉(zhuǎn)換為字符串,再進(jìn)行連接運(yùn)算。 舉例: String s1= “Welcome “ + “to “ + “Java.“; String s2= “Chapter“ + 2; int i= 1, j = 2; System.out.println(“i+j=“ + i + j); /輸出i+j=12 System.out.println(“i+j=“ + (i + j); /輸出i+j=3 int value = Integer.parseInt(intString);/把字符串轉(zhuǎn)為整型 double value = Double.parseDouble(doubleString);/把字符串轉(zhuǎn)為浮點(diǎn),使用Math類進(jìn)行數(shù)學(xué)運(yùn)算,e.g.,基本輸入輸出,命令行輸入 命令行輸出 對(duì)話框輸入 消
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北京市事業(yè)單位招聘考試教師招聘考試小學(xué)數(shù)學(xué)案例分析試卷
- 2025年互聯(lián)網(wǎng)婚戀項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 一件心愛(ài)物品的誕生記物作文(14篇)
- 2025年高處作業(yè)特種作業(yè)操作證考試試卷(高空作業(yè)安全操作培訓(xùn)課程實(shí)施要點(diǎn)篇)
- 生物制藥工藝與質(zhì)量控制試題集及解析
- 2025年生態(tài)循環(huán)農(nóng)業(yè)技術(shù)模式在農(nóng)業(yè)科技創(chuàng)新與產(chǎn)業(yè)融合報(bào)告
- 現(xiàn)代農(nóng)業(yè)科技開(kāi)發(fā)與利用協(xié)議
- 基因檢測(cè)技術(shù)在遺傳性血液疾病診斷中的準(zhǔn)確性研究報(bào)告001
- 醫(yī)療健康行業(yè)從業(yè)資格證明(5篇)
- 電商平臺(tái)入駐商戶協(xié)議條款修訂版
- 2025年園藝師職業(yè)資格考試卷及答案
- 中學(xué)論文推選管理制度
- 普外科學(xué)科核心知識(shí)體系
- 2025年福建省中考道德與法治試卷真題(含標(biāo)準(zhǔn)答案)
- 工程中機(jī)電設(shè)備安裝與調(diào)試技術(shù)
- 2024年天津高中學(xué)業(yè)水平合格性考試歷史試卷真題(含答案詳解)
- 2025年萬(wàn)家寨水務(wù)控股集團(tuán)及所屬企業(yè)招聘筆試參考題庫(kù)含答案解析
- 懸挑式鋼管腳手架專項(xiàng)施工方案
- 2025年勞動(dòng)合同樣本(電子版)
- 《《遼寧省沈陽(yáng)市2020年中考地理真題試題(含答案)》》
- 淺談朝鮮族民族音樂(lè)元素
評(píng)論
0/150
提交評(píng)論