第02章+JAVA語(yǔ)言基礎(chǔ)_第1頁(yè)
第02章+JAVA語(yǔ)言基礎(chǔ)_第2頁(yè)
第02章+JAVA語(yǔ)言基礎(chǔ)_第3頁(yè)
第02章+JAVA語(yǔ)言基礎(chǔ)_第4頁(yè)
第02章+JAVA語(yǔ)言基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩184頁(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、第第2章章 JAVA語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.1 標(biāo)識(shí)符和關(guān)鍵字標(biāo)識(shí)符和關(guān)鍵字2.2 常量和變量常量和變量2.3數(shù)據(jù)類型數(shù)據(jù)類型2.4運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式2.5控制語(yǔ)句控制語(yǔ)句2.6數(shù)組數(shù)組Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符用來(lái)標(biāo)識(shí)類名、變量名、方法名、類型名、數(shù)組名、用來(lái)標(biāo)識(shí)類名、變量名、方法名、類型名、數(shù)組名、文件名的有效字符序列稱為標(biāo)識(shí)符。簡(jiǎn)單地說(shuō),文件名的有效字符序列稱為標(biāo)識(shí)

2、符。簡(jiǎn)單地說(shuō),標(biāo)識(shí)符就是一個(gè)名字。標(biāo)識(shí)符就是一個(gè)名字。 標(biāo)識(shí)符組成標(biāo)識(shí)符組成: (1) 字母字母, (2)數(shù)字?jǐn)?shù)字, (3)下劃線下劃線“_” 和和 (4)美元符號(hào)美元符號(hào)“$”; 首字符必須是首字符必須是(1) 字母字母, (2)下劃線下劃線“_” 和和 (3)美美元符號(hào)元符號(hào)“$”; 所有標(biāo)識(shí)符是區(qū)分大小寫(xiě)的所有標(biāo)識(shí)符是區(qū)分大小寫(xiě)的; 除去除去關(guān)鍵字關(guān)鍵字、false、true和和null;Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)1、字母、字母2、下劃線、下劃線_3、$ 符號(hào)符號(hào)首字母首字母任意多的:任意多的:1、數(shù)字、數(shù)字2、字母、字母3、下劃線、下劃線_4、$ 符

3、號(hào)符號(hào)其余部分其余部分變變量量名名 Java語(yǔ)言中,標(biāo)識(shí)符變量命名要符合一定規(guī)則語(yǔ)言中,標(biāo)識(shí)符變量命名要符合一定規(guī)則 money,score,name,sex變量命名規(guī)范:變量命名規(guī)范:簡(jiǎn)短且能清楚地表明變量的作用,通常第一個(gè)單詞的首字母小寫(xiě),其后簡(jiǎn)短且能清楚地表明變量的作用,通常第一個(gè)單詞的首字母小寫(xiě),其后單詞的首字母大寫(xiě)。例如:?jiǎn)卧~的首字母大寫(xiě)。例如:myScore 2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)問(wèn)題: 是/不是 標(biāo)識(shí)符? myVariable 9pins MYVARIABLE i a+c testing1-2-3_myvariabl

4、e java&uml My Variable $myvariable _9pins Its 貓貓2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.1.2 關(guān)鍵字關(guān)鍵字關(guān)鍵字就是關(guān)鍵字就是Java語(yǔ)言中已經(jīng)被賦予特定意義的一些語(yǔ)言中已經(jīng)被賦予特定意義的一些字符序列。 例如:例如: public、 static和和class 具有特殊用途,不能作為變量名、方法名和類名具有特殊用途,不能作為變量名、方法名和類名Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.1.2 關(guān)鍵字關(guān)鍵字(50個(gè)個(gè))Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java

5、語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)常量常量public class Compute double pi = 3.14; /計(jì)算圓的周長(zhǎng)計(jì)算圓的周長(zhǎng) public double Perimeter(double radius) return 2 * pi * radius; /計(jì)算圓的面積計(jì)算圓的面積 public double area(double radius) return pi * radius * radius;這個(gè)類中,會(huì)反這個(gè)類中,會(huì)反復(fù)使用復(fù)使用pi 如果如果pi在類中被修改了,計(jì)算結(jié)果錯(cuò)誤在類中被修改了,計(jì)算結(jié)果錯(cuò)誤 如何避免如何避免pi在類中被修改在類中被修改?Java程序設(shè)計(jì)程序設(shè)計(jì) 第第

6、2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.2 常量和變量常量和變量A、以字面形式直接給出值的常量,有不同的數(shù)據(jù)、以字面形式直接給出值的常量,有不同的數(shù)據(jù)類型類型boolean常量:常量:true,falsechar型常量:用單引號(hào)界定型常量:用單引號(hào)界定 , x20 采用采用Unicode碼碼,從,從u0000uFFFF字符串常量:用雙引號(hào)界定字符串常量:用雙引號(hào)界定 “HELLO,WORLD”2.2.1常量Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 2.2.1 常量常量常量在使用過(guò)程中值不會(huì)發(fā)生變化常量在使用過(guò)程中值不會(huì)發(fā)生變化常量程序中反復(fù)使用常量程序中反復(fù)使用final 類

7、型類型 常量名常量名 = 常量值常量值 程序中不會(huì)被改程序中不會(huì)被改變變public static void main(string args) final double PI = 3.14; PI = 3.20;強(qiáng)制賦值會(huì)發(fā)生錯(cuò)誤強(qiáng)制賦值會(huì)發(fā)生錯(cuò)誤常量名通常使常量名通常使用大寫(xiě)用大寫(xiě) Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)電腦使用內(nèi)存來(lái)記憶計(jì)算時(shí)所使用的數(shù)據(jù)電腦使用內(nèi)存來(lái)記憶計(jì)算時(shí)所使用的數(shù)據(jù)內(nèi)存如何存儲(chǔ)數(shù)據(jù)??jī)?nèi)存如何存儲(chǔ)數(shù)據(jù)??jī)?nèi)存像旅館內(nèi)存像旅館 數(shù)據(jù)各式各樣,要先根據(jù)數(shù)據(jù)的需求(即類型)為它申請(qǐng)一塊合適的空間1、開(kāi)房間(單人間、雙人間、總統(tǒng)套間)、開(kāi)房間(單人間、

8、雙人間、總統(tǒng)套間) 2、入住、入住內(nèi)存如何存放數(shù)據(jù)內(nèi)存如何存放數(shù)據(jù)Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)內(nèi)存地址不好記,怎么辦??jī)?nèi)存地址不好記,怎么辦? 通過(guò)內(nèi)存中小房間的別名找到數(shù)據(jù)存儲(chǔ)的位置變量是存儲(chǔ)數(shù)據(jù)的一個(gè)基本單元變量是存儲(chǔ)數(shù)據(jù)的一個(gè)基本單元房間房間 房間名字房間名字 房間類型房間類型 入住的客人入住的客人 變量變量 變量名變量名 變量類型變量類型 變量值變量值 為什么需要變量為什么需要變量對(duì)應(yīng)對(duì)應(yīng)Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.2.2 變量變量變量是變量是Java程序中的基本存儲(chǔ)單元,它具有程序中的基本存儲(chǔ)單元,它具有名稱、名

9、稱、類型、地址、值和作用域類型、地址、值和作用域等特性。變量存儲(chǔ)的值等特性。變量存儲(chǔ)的值可能會(huì)發(fā)生更改,但變量名稱保持不變??赡軙?huì)發(fā)生更改,但變量名稱保持不變。變量采用標(biāo)識(shí)符命名變量采用標(biāo)識(shí)符命名 變量名習(xí)慣命名規(guī)則是以小寫(xiě)字母開(kāi)頭,單變量名習(xí)慣命名規(guī)則是以小寫(xiě)字母開(kāi)頭,單詞之間不要有分隔符,第二及后面單詞第一個(gè)字詞之間不要有分隔符,第二及后面單詞第一個(gè)字符用大寫(xiě)字母符用大寫(xiě)字母Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)變量的四個(gè)要素變量的四個(gè)要素程序通過(guò)變量名訪問(wèn)變量的值變量類型由程序員顯式地聲明,編譯器根據(jù)類型解釋變量地址所指存儲(chǔ)空間中的二進(jìn)制串一個(gè)變量與內(nèi)存中某一區(qū)域

10、相關(guān)聯(lián),變量地址即指該區(qū)域的地址該區(qū)域中存放的數(shù)據(jù)即為變量的值,在程序運(yùn)行的不同時(shí)刻,變量的值可能不同。名字名字類型類型值值地址地址Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)變量變量數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名 = 數(shù)值;數(shù)值; 根據(jù)類型開(kāi)辟空間根據(jù)類型開(kāi)辟空間 將數(shù)據(jù)存入空間將數(shù)據(jù)存入空間 取出數(shù)據(jù)使用取出數(shù)據(jù)使用 數(shù)據(jù)類型數(shù)據(jù)類型 變量名;變量名; 變量名變量名 = 數(shù)值;數(shù)值;int money = 1000;int money;money = 1000 ;使用變量的步驟:使用變量的步驟: 第一步:聲明一個(gè)變量 第二步:賦值 第三步:使用變量Java程序設(shè)計(jì)程序設(shè)計(jì)

11、 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)變量變量public static void main(String args)/ 聲明布爾型、字符串型、整型、短整型和浮點(diǎn)型變量聲明布爾型、字符串型、整型、短整型和浮點(diǎn)型變量 boolean test = true;short num1 = 19;int num2 = 14000;String val = Jamie;float num3 = 14.5f;/ 顯示變量值顯示變量值 System.out.println (布爾值布爾值 = + test); System.out.println (短整型值短整型值 = + num1); System.out

12、.println (整型值整型值 = + num2); System.out.println (字符串值字符串值 = + val); System.out.println (浮點(diǎn)值浮點(diǎn)值 = + num3);變量中存儲(chǔ)的值取決于該變量的類型Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)基本數(shù)據(jù)類型在內(nèi)存中的存儲(chǔ)方式基本數(shù)據(jù)類型在內(nèi)存中的存儲(chǔ)方式int ID = 42889;428890 x0000F10AC存儲(chǔ)空間存儲(chǔ)空間與與int類型一樣大小類型一樣大小Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.2.3 變量的作用域變量的作用域作用域就是在程序中定義了一

13、個(gè)區(qū)域作用域就是在程序中定義了一個(gè)區(qū)域變量在它所定義的語(yǔ)句塊中起作用。一個(gè)語(yǔ)句塊就變量在它所定義的語(yǔ)句塊中起作用。一個(gè)語(yǔ)句塊就是用一對(duì)大括號(hào)括起來(lái)的代碼段,塊定義了一個(gè)是用一對(duì)大括號(hào)括起來(lái)的代碼段,塊定義了一個(gè)作用域。作用域。在作用域內(nèi)定義的變量?jī)H在該域內(nèi)有效,對(duì)于該域在作用域內(nèi)定義的變量?jī)H在該域內(nèi)有效,對(duì)于該域之外的代碼之外的代碼“不可見(jiàn)不可見(jiàn)”信息隱藏的機(jī)制信息隱藏的機(jī)制Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)變量根據(jù)作用域分類的類別變量根據(jù)作用域分類的類別類成員變量是定義在類里面,但不在類里面的某個(gè)類成員變量是定義在類里面,但不在類里面的某個(gè)方法中,其作用域?yàn)檎麄€(gè)類

14、。方法中,其作用域?yàn)檎麄€(gè)類。方法參數(shù)用于將方法外的數(shù)據(jù)傳遞給方法,其作用方法參數(shù)用于將方法外的數(shù)據(jù)傳遞給方法,其作用域就是方法的方法體。域就是方法的方法體。異常處理參數(shù)將數(shù)據(jù)傳遞給異常處理代碼,其作用異常處理參數(shù)將數(shù)據(jù)傳遞給異常處理代碼,其作用域是異常處理部分。域是異常處理部分。 Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)變量作用域的例子變量作用域的例子1 int i ; /對(duì)這個(gè)作用域而言,i是局部變量/這里不可以訪問(wèn)i,i在這里不存在Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)變量作用域的例子變量作用域的例子2在某個(gè)局部作用域內(nèi)定義的變量不能在其嵌套的

15、局部作用域中重新定義。 int i = 2; int j =4; int i = 6; /出錯(cuò),i已被定義 j = 8; Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)class ScopeVar public static void main(String args) int num = 10; if ( num = 10) /num 在內(nèi)層作用域中可用 int num1 = num * num; System.out.println(“num 和 num1 的值為 + num + + num1); System.out.println(“num 的值為 + num); 示例

16、示例/num1 = 10; 錯(cuò)誤!num1 未知q檢查變量的作用域q如果從變量的作用域外訪問(wèn)變量,則會(huì)出錯(cuò)! Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)數(shù)據(jù)屬于不同類別數(shù)據(jù)屬于不同類別非洲非洲 The quick brown fox TRUE 數(shù)據(jù)數(shù)據(jù) 非數(shù)值非數(shù)值數(shù)值數(shù)值整型整型非整型非整型9002.129999/12/20032.175123陳揚(yáng)陳揚(yáng) char非數(shù)值非數(shù)值數(shù)值數(shù)值整型整型intdouble非整型非整型String 數(shù)據(jù)類型數(shù)據(jù)類型 2.3 數(shù)據(jù)類型數(shù)據(jù)類型Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.2.1 基本數(shù)據(jù)類型基本數(shù)據(jù)類型基

17、本數(shù)據(jù)類型也稱作簡(jiǎn)單數(shù)據(jù)類型。基本數(shù)據(jù)類型也稱作簡(jiǎn)單數(shù)據(jù)類型。Java語(yǔ)言有語(yǔ)言有8種簡(jiǎn)單數(shù)據(jù)類型,分別是:種簡(jiǎn)單數(shù)據(jù)類型,分別是: boolean、byte 、short、int、long、float、double、char。 這這8種數(shù)據(jù)類型習(xí)慣上可分為種數(shù)據(jù)類型習(xí)慣上可分為4大類型:大類型:邏輯類型:邏輯類型:boolean字符類型:字符類型:char整數(shù)類型:整數(shù)類型:byte、short、int、long浮點(diǎn)類型:浮點(diǎn)類型:float、doubleJava程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)1.邏輯類型邏輯類型常量:常量:true ,false。變量的定義變量的定義

18、使用關(guān)鍵字使用關(guān)鍵字boolean來(lái)定義邏輯變量來(lái)定義邏輯變量,定義時(shí)也可以定義時(shí)也可以賦給初值:賦給初值: boolean x=true,tom=false,jiafei; Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)1、用、用boolean類型描述:學(xué)員張三的考試成績(jī)是類型描述:學(xué)員張三的考試成績(jī)是否比學(xué)員李四(否比學(xué)員李四(80分)高分)高如何使用如何使用boolean類型類型int liSi = 80; /學(xué)員李四成績(jī)學(xué)員李四成績(jī)boolean isBig ; /聲明一個(gè)聲明一個(gè)boolean類型的變量類型的變量 Scanner input = new Scanner

19、(System.in); System.out.print(輸入學(xué)員張三成績(jī)輸入學(xué)員張三成績(jī): ); /提示要輸入學(xué)員張三的成績(jī)提示要輸入學(xué)員張三的成績(jī)int zhangSan = input.nextInt(); /輸入張三的成績(jī)輸入張三的成績(jī) isBig = zhangSan liSi ; /將比較結(jié)果保存在將比較結(jié)果保存在boolean變量中變量中 System.out.println( 張三成績(jī)比李四高嗎張三成績(jī)比李四高嗎 ? +isBig ); /輸出比較結(jié)果輸出比較結(jié)果存儲(chǔ)比較結(jié)果存儲(chǔ)比較結(jié)果條件表達(dá)式條件表達(dá)式從控制臺(tái)接收一從控制臺(tái)接收一個(gè)整數(shù)個(gè)整數(shù)演示示例演示示例1:用:用bo

20、olean變量描述信息變量描述信息Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.int 型型 使用關(guān)鍵字使用關(guān)鍵字int來(lái)定義來(lái)定義int型整型變量,定義時(shí)也可以型整型變量,定義時(shí)也可以賦給初值:賦給初值: int x= 12,tom=-1230,height=9898,number; ; 對(duì)于對(duì)于int型變量,內(nèi)存分配給型變量,內(nèi)存分配給4個(gè)字節(jié)(個(gè)字節(jié)(byte),),一個(gè)字節(jié)由一個(gè)字節(jié)由8位(位(bit)組成,)組成,4個(gè)字節(jié)占個(gè)字節(jié)占32位。位。int型變量的取值范圍是:型變量的取值范圍是:-231231-1 Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)

21、言基礎(chǔ)3.byte 型型 使用關(guān)鍵字使用關(guān)鍵字byte 來(lái)定義來(lái)定義byte 型整型變量,可以一次型整型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值:定義幾個(gè),定義時(shí)也可以賦給初值: byte m=-12,deep=28,speed=98;對(duì)于對(duì)于byte型變量,內(nèi)存分配給型變量,內(nèi)存分配給1個(gè)字節(jié),占個(gè)字節(jié),占8位,因位,因此此byte型變量的取值范圍是型變量的取值范圍是: -2727-1。 Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)4.short 型型 使用關(guān)鍵字使用關(guān)鍵字short來(lái)定義來(lái)定義short型整型變量,可以一型整型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初

22、值:次定義幾個(gè),定義時(shí)也可以賦給初值: short x=12,tom=1234,漂亮漂亮=9876,jiafei;對(duì)于對(duì)于short型變量,內(nèi)存分配給型變量,內(nèi)存分配給2個(gè)字節(jié),占個(gè)字節(jié),占16位,位,因此因此short型變量的取值范圍是:型變量的取值范圍是: -215 215-1。 Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)6.Char型型 常量Java使用使用unicode字符集,字符集,uincode表中的字表中的字符就是一個(gè)字符常量,字符常量需使用單引號(hào)擴(kuò)起,符就是一個(gè)字符常量,字符常量需使用單引號(hào)擴(kuò)起,例如:例如:A、 b、 ? 、! 、9、 好好 、t 、 變量

23、使用關(guān)鍵字使用關(guān)鍵字char來(lái)定義字符變量,可以一次定來(lái)定義字符變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值:義幾個(gè),定義時(shí)也可以賦給初值:char x=A,tom=爽爽,jiafei;對(duì)于對(duì)于char型變量,內(nèi)存分配給型變量,內(nèi)存分配給2個(gè)字節(jié),占個(gè)字節(jié),占16位,最位,最高位不用來(lái)表示符號(hào)高位不用來(lái)表示符號(hào) 。Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)例子public class Example2_1 public static void main (String args ) char chinaWord=你你,japanWord=; int p1=36328,p2=

24、38358; System.out.println(“漢字漢字你你在在unicode表中的順序位表中的順序位置置:+(int)chinaWord); System.out.println(日語(yǔ)日語(yǔ)在在unicode表中的順序位表中的順序位置置:+(int)japanWord); System.out.println(unicode表中第表中第36328位置上的字符位置上的字符是是:+(char)p1); System.out.println(unicode表中第表中第38358位置上的字符位置上的字符是是:+(char)p2); Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)7

25、.float 型型 常量 123.5439f,12389.987F,123.0f,2e40f(2乘乘10的的40次方,科學(xué)計(jì)數(shù)法)次方,科學(xué)計(jì)數(shù)法)變量 使用關(guān)鍵字使用關(guān)鍵字float來(lái)定義來(lái)定義float型變量,可以一次定型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值:義幾個(gè),定義時(shí)也可以賦給初值: float x= 12.76f,tom=1234.987f;對(duì)于對(duì)于float型變量,內(nèi)存分配給型變量,內(nèi)存分配給4個(gè)字節(jié),占個(gè)字節(jié),占32位位 .Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)8.double 型型 常量 12389.5439d(d可以省略),可以省略),123

26、89908.987,123.0,6e-140(6乘乘10的的-140次方,科學(xué)計(jì)數(shù)法)次方,科學(xué)計(jì)數(shù)法)變量 使用關(guān)鍵字使用關(guān)鍵字double來(lái)定義來(lái)定義double型變量,可以一型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值:次定義幾個(gè),定義時(shí)也可以賦給初值: double x=12.76,tom=1234098.987;double型變量,內(nèi)存分配給型變量,內(nèi)存分配給8個(gè)字節(jié),占個(gè)字節(jié),占64位位 Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)數(shù)據(jù)類型的使用數(shù)據(jù)類型的使用輸出輸出Java課考試最高分:課考試最高分:98.5輸出最高分學(xué)員姓名:張三輸出最高分學(xué)員姓名:張三輸出

27、最高分學(xué)員性別:輸出最高分學(xué)員性別:男男public class HelloIEC public static void main(String args) double score = 98.5; String name = 張三張三; char sex = 男男; System.out.println(本次考試成績(jī)最高分:本次考試成績(jī)最高分: + score); /輸出其他輸出其他 單引號(hào)單引號(hào) 雙引號(hào)雙引號(hào) 連接輸出信息連接輸出信息 Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.3.2 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換用變量、常量賦值給另一個(gè)變量時(shí),兩者的數(shù)據(jù)類用變量、常量賦

28、值給另一個(gè)變量時(shí),兩者的數(shù)據(jù)類型必須一致。如不一致,則要進(jìn)行數(shù)據(jù)的類型轉(zhuǎn)型必須一致。如不一致,則要進(jìn)行數(shù)據(jù)的類型轉(zhuǎn)換換類型轉(zhuǎn)換有類型轉(zhuǎn)換有隱式轉(zhuǎn)換隱式轉(zhuǎn)換(自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換)和和顯式轉(zhuǎn)換顯式轉(zhuǎn)換(強(qiáng)強(qiáng)制類型轉(zhuǎn)換制類型轉(zhuǎn)換)兩種兩種Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.3.2 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換q將一種類型的變量賦給另一種類型的變量時(shí),只要滿足以下條件,就會(huì)發(fā)生 自動(dòng)類型轉(zhuǎn)換:兩種類型兼容;目標(biāo)類型大于源類型;例:將短格式整型數(shù)據(jù)賦值為長(zhǎng)格式整型數(shù)據(jù),不會(huì)出現(xiàn)例:將短格式整型數(shù)據(jù)賦值為長(zhǎng)格式整型數(shù)據(jù),不會(huì)出現(xiàn)錯(cuò)誤,如:錯(cuò)誤,如: int i

29、= 123; long j = i;Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換某班第一次某班第一次Java考試平均分考試平均分81.29,第二次比第一次多,第二次比第一次多2分,計(jì)算第二次考試平均分?分,計(jì)算第二次考試平均分? double firstAvg = 81.29; /第一次平均分第一次平均分 double secondAvg; /第二次平均分第二次平均分 int rise = 2; secondAvg = firstAvg + rise; System.out.println(第二次平均第二次平均分是:分是: + secondAvg);J

30、ava程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)在某種條件下,系統(tǒng)自動(dòng)完成類型轉(zhuǎn)換在某種條件下,系統(tǒng)自動(dòng)完成類型轉(zhuǎn)換 兩種類型兼容 例如:int 和 double 兼容 目標(biāo)類型大于源類型 例如:double 型 大于 int 型 對(duì)于表達(dá)式對(duì)于表達(dá)式 如果一個(gè)操作數(shù)為double型,則整個(gè)表達(dá)式可提升為double型類型提升規(guī)則類型提升規(guī)則Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)表達(dá)式類型轉(zhuǎn)換和升級(jí)表達(dá)式類型轉(zhuǎn)換和升級(jí)賦值時(shí),右邊的數(shù)據(jù)類型必須小于等于左邊的數(shù)據(jù)賦值時(shí),右邊的數(shù)據(jù)類型必須小于等于左邊的數(shù)據(jù)類型。類型。如果變量的大?。ㄎ坏膫€(gè)數(shù))至少等于表示式類

31、型如果變量的大小(位的個(gè)數(shù))至少等于表示式類型的大小,則可認(rèn)為表達(dá)式賦值是相容的。的大小,則可認(rèn)為表達(dá)式賦值是相容的。byte i,j;short s;i=1;j=1;s=i+j; /非法,非法,+,-,*,/運(yùn)算后只能是運(yùn)算后只能是int或或long類型類型例:例:long bigval=6; / 6 is int type,OK! int smallval=99L; / 99L is long type,illegalJava程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) int age = 19; char sex = 女女; char result = age + sex; 下

32、面語(yǔ)句正確嗎?下面語(yǔ)句正確嗎?int a = 10;int b = 10.2;double c = 10; c = a;int d = c; int 不可以自動(dòng)轉(zhuǎn)換成不可以自動(dòng)轉(zhuǎn)換成chardouble不可以自動(dòng)轉(zhuǎn)化成不可以自動(dòng)轉(zhuǎn)化成int常見(jiàn)錯(cuò)誤常見(jiàn)錯(cuò)誤Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)int before = 20; /apple筆記本市場(chǎng)份額筆記本市場(chǎng)份額double rise = 9.8; /增長(zhǎng)的份額增長(zhǎng)的份額int now = before + rise; /現(xiàn)在的份額現(xiàn)在的份額int now = before + (int)rise; 去年去年Appl

33、e筆記本所占的市場(chǎng)份額是筆記本所占的市場(chǎng)份額是20,今年,今年增長(zhǎng)的市場(chǎng)份額是增長(zhǎng)的市場(chǎng)份額是9.8,求今年所占的份額?,求今年所占的份額?編譯出錯(cuò):不能完成編譯出錯(cuò):不能完成自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換(類型名)表達(dá)式(類型名)表達(dá)式強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換int b = (int)10.2;double a = 10;int c = (int)a;2.3.2 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換更改為更改為 演示示例:強(qiáng)制類型轉(zhuǎn)換演示示例:強(qiáng)制類型轉(zhuǎn)換 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.3.2 數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換顯示轉(zhuǎn)換會(huì)出現(xiàn)取?;蚪?cái)喱F(xiàn)象顯示

34、轉(zhuǎn)換會(huì)出現(xiàn)取?;蚪?cái)喱F(xiàn)象 如長(zhǎng)格式整數(shù)強(qiáng)制轉(zhuǎn)換為短格式整數(shù)時(shí),將按如長(zhǎng)格式整數(shù)強(qiáng)制轉(zhuǎn)換為短格式整數(shù)時(shí),將按短格式的整數(shù)類型的范圍取模進(jìn)行減小短格式的整數(shù)類型的范圍取模進(jìn)行減小若浮點(diǎn)類型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為整數(shù)(或字符類型)若浮點(diǎn)類型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為整數(shù)(或字符類型)時(shí),要截去小數(shù)部分時(shí),要截去小數(shù)部分雙精度浮點(diǎn)數(shù)強(qiáng)制轉(zhuǎn)換為單精度類型時(shí),僅截雙精度浮點(diǎn)數(shù)強(qiáng)制轉(zhuǎn)換為單精度類型時(shí),僅截取末尾四個(gè)字節(jié),數(shù)據(jù)被破壞取末尾四個(gè)字節(jié),數(shù)據(jù)被破壞由于字符型常量是無(wú)符號(hào)數(shù),將負(fù)整型數(shù)據(jù)賦值由于字符型常量是無(wú)符號(hào)數(shù),將負(fù)整型數(shù)據(jù)賦值給字符型常量時(shí),要做強(qiáng)制轉(zhuǎn)換給字符型常量時(shí),要做強(qiáng)制轉(zhuǎn)換Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章

35、章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)強(qiáng)制類型轉(zhuǎn)換的例子強(qiáng)制類型轉(zhuǎn)換的例子public class ChangeTest public static void main(String args) int a=155; int b=9; float c,d; System.out.println(a=+a+,b=+b); c=(float)a/b; System.out.println(a/b=+c); d=a/b; System.out.println(a/b=+d); Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式JAVA提供了提供了3大類運(yùn)算符:大

36、類運(yùn)算符:一元運(yùn)算符:帶有一個(gè)操作數(shù)的運(yùn)算符稱為一元運(yùn)算符:帶有一個(gè)操作數(shù)的運(yùn)算符稱為“一元一元”運(yùn)算符,例如,運(yùn)算符,例如,i+。二元運(yùn)算符:帶有兩個(gè)操作數(shù)的運(yùn)算符稱為二元運(yùn)算符:帶有兩個(gè)操作數(shù)的運(yùn)算符稱為“二元二元”運(yùn)算符,例如,運(yùn)算符,例如,x + y。三元運(yùn)算符:帶有三個(gè)操作數(shù)的運(yùn)算符稱為三元運(yùn)算符:帶有三個(gè)操作數(shù)的運(yùn)算符稱為“三元三元”運(yùn)算符,在運(yùn)算符,在JAVA中,只存在中,只存在1個(gè)三元運(yùn)算符,即個(gè)三元運(yùn)算符,即條件運(yùn)算符條件運(yùn)算符“?:”。Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式賦值運(yùn)算符賦值運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符關(guān)

37、系運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符位運(yùn)算符位運(yùn)算符移位運(yùn)算符移位運(yùn)算符條件運(yùn)算符條件運(yùn)算符Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式操作符和表達(dá)式Result = number*100變量變量變量變量常量常量操作數(shù)表達(dá)式操作數(shù)和操作符的組合運(yùn)算符Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.1 賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式當(dāng)需要為不同的變量賦值時(shí),就必須使用賦值運(yùn)當(dāng)需要為不同的變量賦值時(shí),就必須使用賦值運(yùn)算符算符“=”,這里不是,這里不是“等號(hào)等號(hào)”的意思,而是的意思,而是“賦值賦值”的意思,例

38、如:的意思,例如:x = 29;這個(gè)語(yǔ)句的作用是將整數(shù)這個(gè)語(yǔ)句的作用是將整數(shù)29賦給變量賦給變量x,使變量,使變量x此時(shí)擁有的值為此時(shí)擁有的值為29。Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 某班的某班的A學(xué)員學(xué)員Java成績(jī)是成績(jī)是80分,分,B學(xué)員與學(xué)員與A學(xué)員成學(xué)員成績(jī)相同,輸出績(jī)相同,輸出B學(xué)員成績(jī)學(xué)員成績(jī)int aScore = 80; int bScore;aScore = bScore;System.out.println(bScore);bScore = aScore ; /將右邊的值給左邊的變量將右邊的值給左邊的變量 賦值運(yùn)算符賦值運(yùn)算符 aScoreb

39、Score8080副副本本2.4.1 賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式代碼錯(cuò)誤代碼錯(cuò)誤Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)變量名變量名 表達(dá)式表達(dá)式;2.4.1 賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式Z = ( X * 2 ) + ( 5 Y ) 表達(dá)式表達(dá)式 表達(dá)式表達(dá)式 表達(dá)式表達(dá)式 賦值運(yùn)算符賦值運(yùn)算符表達(dá)式舉例表達(dá)式舉例Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.1 賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式運(yùn)運(yùn) 算算 符符示例表達(dá)式示例表達(dá)式結(jié)結(jié) 果果var1 = var2;var1被賦予被賦予var2的值的值

40、+var1 += var2;var1被賦予被賦予var1與與var2的和的和var1= var2;var1被賦予被賦予var1與與var2的差的差*var1 *= var2;var1被賦予被賦予var1與與var2的乘積的乘積/var1 /= var2;var1被賦予被賦予var1與與var2相除所得的結(jié)果相除所得的結(jié)果%var1 %= var2;var1被賦予被賦予var1與與var2相除所得的余數(shù)相除所得的余數(shù)Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)52算術(shù)表達(dá)式算術(shù)表達(dá)式用算術(shù)運(yùn)算符和括號(hào)將操作數(shù)連接起來(lái),求整數(shù)或?qū)崝?shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性例int x=20, y=

41、3, z=5;x+y*z (x+y)*z x*-y說(shuō)明表達(dá)式力求簡(jiǎn)單明了表達(dá)式中的變量必須賦值2.4.2 算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)53算術(shù)表達(dá)式算術(shù)表達(dá)式例: 若 i=10,i-%50 = ?等價(jià)于 (i-%5)0 public class Test public static void main(String args) int i = 10; if (i- % 5)0) System.out.println(true); else System.out.println(false); 2.4.2 算術(shù)運(yùn)算符與

42、算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)問(wèn)題問(wèn)題?-7 / 5 =-7 % 5 =7 % -5 =5.5 % 1.0 =-1-220.5Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)55自增、自減運(yùn)算符自增、自減運(yùn)算符變量賦值,一元運(yùn)算符變量賦值,一元運(yùn)算符自增運(yùn)算符自增運(yùn)算符(+)、自減運(yùn)算符、自減運(yùn)算符(-)int i=5; i+; +i; i-; -i; “賦值”和“運(yùn)算”的先后順序int i = 10; int n = i+%5; int x =7, y=15, v1, v2;v1 = x+;v2 = +y;int

43、i = 10; int n = +i%5; x=8 y=16v1=7 v2=16i = 11, n = 0i = 11, n = 1Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)int num1 = 5; int num2 = 2; int a = num1 % num2;int b = num1 / num2;System.out.println(num1 + % + num2 + = + a);System.out.println(num1 + / + num2 + = + b);num1+;num2- -; System.out.println(num1 = + num1

44、);System.out.println(num2 = + num2);5 % 2= 15 / 2 = 2下面代碼片斷的輸出結(jié)果是什么?下面代碼片斷的輸出結(jié)果是什么? 輸出輸出%:求余數(shù):求余數(shù)/:求商:求商等價(jià)于:等價(jià)于:num1 = num1 + 1;等價(jià)于:等價(jià)于:num2 = num2 - 1;num1 = 6num2 = 1輸出輸出算術(shù)運(yùn)算符算術(shù)運(yùn)算符Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 比較高低、大小、長(zhǎng)短比較高低、大小、長(zhǎng)短 張三的考試成績(jī)是否比李四高張三的考試成績(jī)是否比李四高 大象是否比烏龜更長(zhǎng)壽大象是否比烏龜更長(zhǎng)壽 籃球跟地球一樣大嗎籃球跟地球一樣大

45、嗎如何比較?如何比較?使用使用關(guān)系運(yùn)算符關(guān)系運(yùn)算符可以比較高低、大小、長(zhǎng)短可以比較高低、大小、長(zhǎng)短為什么使用關(guān)系運(yùn)算符為什么使用關(guān)系運(yùn)算符Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.3 關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式常用的關(guān)系運(yùn)算符有哪些:常用的關(guān)系運(yùn)算符有哪些:,=,=大象的壽命大象的壽命 李四的成績(jī)李四的成績(jī) 假假令狐沖每次考試成績(jī)令狐沖每次考試成績(jī) = 90分分 真真籃球的大小籃球的大小 = 地球的大小地球的大小 假假由此看出由此看出關(guān)系運(yùn)算符關(guān)系運(yùn)算符的作用:的作用:用來(lái)做比較運(yùn)算用來(lái)做比較運(yùn)算比較后結(jié)果:比較后結(jié)果:boolean類型類型優(yōu)先級(jí)

46、(、=、 (=、!=)關(guān)系運(yùn)算符低于算術(shù)運(yùn)算符Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)59關(guān)系運(yùn)算符關(guān)系運(yùn)算符(Relational Operators)2.4.3 關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式class Test public static void main(String args) int w=25, x=3;boolean y = w = w * 2 x * 9;boolean cc = b a;System.out.println(“w b; a+bb-c; (a=3)(b=5); ba;返回結(jié)果為一個(gè)布爾類型的值例若 int a=3, b=2,

47、 c=1; boolean d, f;d=ab;f=(a+b)(b+5);2.4.3 關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)61邏輯運(yùn)算符邏輯運(yùn)算符(Logical Operators)操作數(shù)的邏輯關(guān)系,計(jì)算結(jié)果“true”或“false”邏輯與 & “op1 & op2”操作數(shù)都為真“true”,結(jié)果為真“true”否則結(jié)果為假“false”邏輯或 | “op1 | op2”有一個(gè)操作數(shù)為真“true”,結(jié)果為真“true”否則結(jié)果為假“false”邏輯非 ! “! op”取反,操作數(shù)為真“true”,結(jié)果為

48、假“false”,反之例: 0 = index & index (&) (|)1.(!)算術(shù)運(yùn)算符關(guān)系運(yùn)算符(&) (|)2.4.4 邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)62邏輯表達(dá)式邏輯表達(dá)式用邏輯運(yùn)算符將用邏輯運(yùn)算符將關(guān)系表達(dá)式關(guān)系表達(dá)式和和布爾值布爾值連接連接起來(lái)的式子起來(lái)的式子例例int x=23, y=98;boolean a = true, b=false, c, d;c=(xy)&a;d=!a&(x=y);2.4.4 邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式Java程

49、序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)63邏輯表達(dá)式邏輯表達(dá)式例: 閏年(leap year) A year in the Gregorian calendar having 366 days, with the extra day, February 29, intercalated to compensate for the quarter-day difference between an ordinary year and the astronomical year.條件符合下例兩者之一能被4整除,但不能被100整除能被4整除,又能被400整除(year%4=0 &

50、; year%100!=0) | year%400=02.4.4 邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.5 位運(yùn)算符位運(yùn)算符位運(yùn)算符位運(yùn)算符(Bitwise Operators)按位取反 “op2”按位與 & “op1 & op2” 按位或 | “op1 | op2”按位異或 “op1 op2”通常: 操作數(shù)為整數(shù)Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.5 位運(yùn)算符位運(yùn)算符按位取反按位取反 “op2”對(duì)操作數(shù)的每一個(gè)二進(jìn)制位進(jìn)行“取反”操作int a = 42;int aa

51、 = a;System.out.println(“aa=” + aa);42 00000000 00000000 00000000 00101010 -43 11111111 11111111 11111111 11010101Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.5 位運(yùn)算符位運(yùn)算符按位與按位與 & “op1 & op2”將操作數(shù)的對(duì)應(yīng)位逐位進(jìn)行位邏輯與運(yùn)算1 1 1,其余為0用途取某一整數(shù)中指定的幾個(gè)二進(jìn)制位42 & 15 00101010 & 00001111 00001010 取后四位Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章

52、Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.5 位運(yùn)算符位運(yùn)算符按位與按位與 & “op1 & op2”用途將某一整數(shù)的最后一位置0 00101011 & 11111110 0010101043 & 1Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.5 位運(yùn)算符位運(yùn)算符按位或按位或 | “op1 | op2”將操作數(shù)的對(duì)應(yīng)位逐位進(jìn)行位邏輯或運(yùn)算有有1 1,其余為,其余為042 | 15 00101010 | 00001111 00101111用途: 將一個(gè)整數(shù)的某一位或幾位置1Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.5 位

53、運(yùn)算符位運(yùn)算符按位異或按位異或 “op1 op2”將操作數(shù)的對(duì)應(yīng)位逐位進(jìn)行位異或運(yùn)算對(duì)應(yīng)位不同對(duì)應(yīng)位不同1,其余為,其余為042 15 00101010 00001111 00100101用途: 將一個(gè)整數(shù)的某一位或幾位取反 用同一個(gè)數(shù)b對(duì)數(shù)a進(jìn)行兩次“異或”運(yùn)算的結(jié)果仍是a。Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)70異或運(yùn)算示例異或運(yùn)算示例class Example2_3 public static void main(String args) char a1=十十,a2=點(diǎn)點(diǎn),a3=進(jìn)進(jìn),a4=攻攻; char secret=8; a1=(char)(a1secre

54、t); a2=(char)(a2secret); a3=(char)(a3secret); a4=(char)(a4secret); System.out.println(密文密文:+a1+a2+a3+a4); a1=(char)(a1secret); a2=(char)(a2secret); a3=(char)(a3secret); a4=(char)(a4secret); System.out.println(原文原文:+a1+a2+a3+a4); Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.6 移位運(yùn)算符移位運(yùn)算符移位運(yùn)算符移位運(yùn)算符(Shift Operato

55、rs)左移 “op1 “op1 op2”無(wú)符號(hào)右移 “op1 op2”Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.6 移位運(yùn)算符移位運(yùn)算符左移左移 “op1 op2”將操作數(shù)op1的二進(jìn)制位向左移op2(正整數(shù))位低位補(bǔ)零低位補(bǔ)零int a = 42;int aa = a 2;System.out.println(“aa=” + aa);42 00101010 2168 10101000 相當(dāng)于 42*22 = 168運(yùn)算速度比乘法快注意: 溢出溢出Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.6 移位運(yùn)算符移位運(yùn)算符左移左移 “op1 op2

56、”溢出溢出byte j = 42;byte j1 = (byte) (j 1); /84byte j2 = (byte) (j 2); /168 byte j3 = (byte) (j “op1 op2”將操作數(shù)op1的二進(jìn)制位向右移op2(正整數(shù))位高位補(bǔ)零(原為正數(shù))、高位補(bǔ)1(原為負(fù)數(shù))int a = 42;int aa = a 2;System.out.println(“aa=” + aa);42 00101010 210 00001010 相當(dāng)于 42/22 = 10.5運(yùn)算速度比除法快Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.6 移位運(yùn)算符移位運(yùn)算符無(wú)符

57、號(hào)右移無(wú)符號(hào)右移 “op1 op2”將操作數(shù)op1的二進(jìn)制位向右移op2(正整數(shù))位高位補(bǔ)零,零擴(kuò)展(zero-extension)int a = 42;int aa = a 2;System.out.println(“aa=” + aa);42 00101010 210 00001010 相當(dāng)于 42/22 = 10.5運(yùn)算速度比除法快實(shí)現(xiàn)數(shù)的拼接Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.7 條件運(yùn)算符條件運(yùn)算符條件運(yùn)算符條件運(yùn)算符op1 ? op2 : op3若op1為真,則運(yùn)算結(jié)果為op2,否則為op3例z = a 0 ? a : -a;z = a b ? a

58、 : b;Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)instanceof 運(yùn)算符運(yùn)算符 該運(yùn)算符是雙目運(yùn)算符,左面的操作元是一個(gè)對(duì)象;該運(yùn)算符是雙目運(yùn)算符,左面的操作元是一個(gè)對(duì)象;右面是一個(gè)類。當(dāng)左面的對(duì)象是右面的類創(chuàng)建的右面是一個(gè)類。當(dāng)左面的對(duì)象是右面的類創(chuàng)建的對(duì)象時(shí),該運(yùn)算符運(yùn)算的結(jié)果是對(duì)象時(shí),該運(yùn)算符運(yùn)算的結(jié)果是true ,否則是,否則是false。 Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.4.8 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性運(yùn)算符的優(yōu)先級(jí)與結(jié)合性優(yōu)先級(jí)優(yōu)先級(jí)描述描述運(yùn)算符運(yùn)算符結(jié)合性結(jié)合性1234567891011121314括號(hào)運(yùn)算符括號(hào)運(yùn)算符

59、一元運(yùn)算符一元運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符移位運(yùn)算符移位運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符位邏輯運(yùn)算符位邏輯運(yùn)算符位邏輯運(yùn)算符位邏輯運(yùn)算符位邏輯運(yùn)算符位邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符條件運(yùn)算符條件運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符 () 、+、- -、!、!*、/、%+、-、 = =、!=&|&|? :=、+=、-=、*=、/=、%=自左至右自左至右自右至左自右至左自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至

60、右自右至左自右至左Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.5 控制語(yǔ)句控制語(yǔ)句方法調(diào)用語(yǔ)句方法調(diào)用語(yǔ)句System.out.println(“hello”);表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句表達(dá)式表達(dá)式 + 分號(hào)分號(hào)“;”x = 25; y += a*b+c; a+b; ;復(fù)合復(fù)合語(yǔ)句語(yǔ)句:用:用 括起來(lái)的語(yǔ)句組。括起來(lái)的語(yǔ)句組。 z=23+x; System.out.println(“hello”); 聲明語(yǔ)句聲明語(yǔ)句int a,b,c; package語(yǔ)句和語(yǔ)句和import語(yǔ)句語(yǔ)句控制語(yǔ)句控制語(yǔ)句Java程序設(shè)計(jì)程序設(shè)計(jì) 第第2章章 Java語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2.5 控制語(yǔ)句控制語(yǔ)句流程控制的形式:流程控制的形式:順序順序分支分支循環(huán)循環(huán)異常捕獲異常捕獲 如果一個(gè)邏輯塊包含兩條或兩條以上的語(yǔ)句序如果一個(gè)邏輯塊包含兩條或兩條以上的語(yǔ)句序列,必須使用大括號(hào)列,必須使用大括

溫馨提示

  • 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)論