




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
項目2Java語法概述項目1中,學習了一些Java有關的基本概念,本章將學習Java程序語言設計基礎語法,主要介紹Java語言的語法規(guī)則,規(guī)則一方面是程序員編寫程序的約束;另一方面,規(guī)則又可以幫助檢查出程序錯誤的地方,并可讓程序員充分應用規(guī)則,進行程序代碼的各種編寫嘗試。下一頁2.1項目概述2.2項目目的2.3項目支撐知識2.4項目實施2.5項目總結2.6擴展演練項目2Java語法概述2.1項目概述在本項目中學習基本符號、變量和常量的概念,Java基本數(shù)據(jù)類型、運算符、表達式以及幾種常用的程序控制語句,還要學習數(shù)組的定義和使用。返回2.2項目目的掌握Java語言中的基本符號、數(shù)據(jù)類型的定義及使用方法。掌握Java語言中的運算符和表達式、程序流程控制的使用方法。掌握Java語言中數(shù)據(jù)和字符串的使用方法。返回2.3項目支撐知識(1)標識符必須以字母、下劃線(_)或美元符號($)開頭,后面可以是字母、下劃線、美元符號、數(shù)字(n~9)。(2)標識符不能是關鍵字。關鍵字是編譯程序本身所使用的標識符,如上面例子中的int,double均是關鍵字。(3)標識符可有任意長度。標識符不宜過短,過短的標識符會導致程序的可讀性差;標識符不宜過長,過長將增加錄入工作量和出錯的可能性。(4)標識符區(qū)分大小寫,如Mybook與mybook是完全不同的兩個標識符。上一頁下一頁返回2.3項目支撐知識例如,i1,i2,count,valueadd等都是合法的標識符,而關鍵字不能當做標識符使用,所以2count,high#,null等都是非法的標識符。Java語言區(qū)分字母大小寫,所以VALUE,Value,value表示不同的標識符。二、關鍵字關鍵字具有專門的意義和用途,不能當做一般的標識符使用。Java語言中的關鍵字均用小寫字母表示。主要可以分為如下幾類。(1)訪問控制:private,protected,public上一頁下一頁返回2.3項目支撐知識(2)類,方法和變量修飾符:abstract,class,extends,final,implements,interface,native,new,static,strictfp,synchronized,transient,volatile。程序控制語句:break,continue,return,do,while,if,else,for,instanceof,switch,case,default。錯誤處理:catch,finally,throw,throws,try。包相關:import,package?;揪湫停篵oolean,byte,char,double,float,int,long,short。上一頁下一頁返回2.3項目支撐知識變量引用:super,this,void。語法保留字:null,false,true。注意:關鍵字goto和const是C++保留的關鍵字,在Java中不能使用。sizeof,String,大寫的NULL也不是關鍵字。三、注釋Java允許在源程序文件中添加注釋(comment),以增加程序的可讀性,系統(tǒng)不會對注釋的內(nèi)容進行編譯。Java有3種形式的注釋。上一頁下一頁返回2.3項目支撐知識(1)單行注釋。單行注釋以“//”開頭,至該行行尾。其格式如下:(2)多行注釋。多行注釋以“/*”開頭,以“*/”結束。其格式如下:
(3)文件注釋。文件注釋用來產(chǎn)生一個HTML文件,從而為程序提供文檔說明。文件注釋以“/**”開頭,以“*/”結束。其格式如下:上一頁下一頁返回2.3項目支撐知識四、分隔符Java使用一些特殊字符作為分隔符(separator)表2-1列出了Java定義的分隔符及功能。2.3.2項目開發(fā)背景知識2Java數(shù)據(jù)類型計算機處理的對象是數(shù)據(jù),可以是數(shù)值數(shù)據(jù),如34.5,也可以是非數(shù)值數(shù)據(jù),如字符串"Hello等。上一頁下一頁返回2.3項目支撐知識通常算法語言將數(shù)據(jù)按其性質(zhì)進行分類,每一類稱為一種數(shù)據(jù)類型(datatype)。數(shù)據(jù)類型定義了數(shù)據(jù)的性質(zhì)、取值范圍、存儲方式以及對數(shù)據(jù)所能進行的運算和操作。程序中的每一個數(shù)據(jù)都屬于一種類型,決定了數(shù)據(jù)的類型也就相應決定了數(shù)據(jù)的性質(zhì)以及對數(shù)據(jù)進行的操作,同時數(shù)據(jù)也受到類型的保護,確保對數(shù)據(jù)不進行非法操作。在Java語言中,數(shù)據(jù)類型分為簡單類型(primitivetype)和引用類型(referencetype)。簡單類型有整型(integral}、浮點型(floating)、邏輯型(logical)和字符型(textual)。引用類型包括類(class)、數(shù)組(array)和接口(interface)。上一頁下一頁返回2.3項目支撐知識Java語言的數(shù)據(jù)類型實際上都是用類實現(xiàn)的,即引用對象的使用方式,同時Java也提供了類似C語言中簡單類型的使用方式,即聲明類型的變量。一、整型整數(shù)有正整數(shù)、零、負整數(shù),含義同數(shù)學中一樣。Java的整數(shù)有3種進制的形式表示。十進制:用多個0~9之間的數(shù)字表示,如123和-100,其首位不能為0。八進制:以0打頭,后跟多個0~7之間的數(shù)字,如0123。上一頁下一頁返回2.3項目支撐知識十六進制:以Ox或OX打頭,后跟多個0~9之間的數(shù)字或a~f之間的小寫字母或A~F之間的大寫字母,a~f或A~F分別表示值10~15,0X123E。Java定義了4種表示整數(shù)的整型:字節(jié)型(byte),短整型(short),整型(int),長整型(long)。每種整型的數(shù)據(jù)都是帶符號位的。它們的特性如表2-2所示。一個整數(shù)隱含為整型。當要將一個整數(shù)強制表示為長整數(shù)時,需在后面加L或1【例2-1】4種整數(shù)類型的常量的最大值。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-1所示?!境绦蚍治觥康?~8句:Java中每種數(shù)據(jù)類型都封裝為一個類,如Long,Integer,Short,Byte,F(xiàn)loat,Double,通過類型類的MAXVALUE常量找到各種數(shù)值數(shù)據(jù)類型的取值最大值。對應將MAXVALUE替換為MINVALUE,可以輸出各種整型類型的最小值。第7~8句:Java.lang這個類庫實在是太常用了,默認的Java程序會將它加載,省略類庫Java.lang,程序仍然可以正確運行。上一頁下一頁返回2.3項目支撐知識二、浮點型Java用浮點型表示數(shù)學中的實數(shù),即整數(shù)部分和小數(shù)部分。浮點數(shù)有兩種表示方式。(1)標準計數(shù)法:由整數(shù)部分、小數(shù)點和小數(shù)部分構成,如1.0,123.45等。(2)科學計數(shù)法:由十進制整數(shù)、小數(shù)點、小數(shù)和指數(shù)部分構成,指數(shù)部分由字母E或P跟上帶正負號的整數(shù)表示,如123.45可表示為1.2345E+2。浮點數(shù)用于需要小數(shù)位精確度的計算。例如,計算平方根或三角函數(shù)等,都會產(chǎn)生浮點型的值。Java的浮點格式完全遵循IEEE
-754標準。Java的浮點型有單精度浮點(float)和雙精度浮點(double)兩種。它們的寬度和范圍如表2-3所示。上一頁下一頁返回2.3項目支撐知識一個浮點數(shù)默認為double型。在一個浮點數(shù)后加字母F或f,將其強制轉換為float型。例如:floatf=3.0f?!纠?-2】浮點型的常量值。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-2所示?!境绦蚍治觥康?~8句:Java中每種數(shù)據(jù)類型都封裝為一個類,如Long,Integer,Short,Byte,F(xiàn)loat,Double,通過類型類的MAXVALUE常量找到各種浮點數(shù)據(jù)類型的最大值。也可以省略Java.lang類。三、布爾型布爾型(Boolean)用來表示邏輯值,也稱為邏輯型。它只有真(true)和假(false)兩個值。true和false不能轉換成數(shù)字表示形式。上一頁下一頁返回2.3項目支撐知識所有關系運算(如a<b)的返回值都是布爾型的值。布爾型也用于控制語句中的條件表達式,如if,while,for等語句。四、字符型字符型(char)用來存儲字符。一個字符用一個16位的Unicode碼表示。所有可見的ASCII字符都可以用單引號括起來成為字符,如’a','A','#'等。一些控制字符不能直接顯示,可以利用轉義序列來表示,如表2-4所示。上一頁下一頁返回2.3項目支撐知識字符串是用雙引號括起來的字符序列,如“hello!”轉義序列、八進制、十六進制也可以用在字符串中。字符串只能在同一行,不能換行?!纠?-3】輸出轉義字符。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-3所示?!境绦蚍治觥康?句:將一個轉義字符\”賦值給一個字符變量。第6句:+起到連接字符串的作用。第7句:要區(qū)分開轉義字符\”和”。2.3.3項目開發(fā)背景知識3常量和變量一、常量上一頁下一頁返回2.3項目支撐知識當一個數(shù)值在程序中多處重復出現(xiàn)時,可以考慮使用常量來簡化該數(shù)值的表示,這對程序的日后維護、修改都是極其有益的。因為當這些程序引用到的數(shù)值需要進行修改時,程序員不必逐個數(shù)值進行修改,只需要把表示該數(shù)值的常量變量的值一次性修改完畢就可以了,如以下語句:上一頁下一頁返回2.3項目支撐知識以上語句定義了常量LEFTARROW,RIGHTARROW,BASICSALARY,可以看到,聲明一個Java常量,必須在其前面使用final關鍵字。這里,常量名均是大寫命名的,這是一個編程風格,使得變量與常量很容易被區(qū)分。Java類庫中的常量也是大寫命名的。常量是一種特殊的變量,也是占用內(nèi)存空間的,不同于C語言預編譯所定義的宏。常變量在聲明的同時,就必須被初始化,而且在程序中不能再重新被賦值給常量。上一頁下一頁返回2.3項目支撐知識二、變量變量是在程序運行過程中其值可以被改變的量,通常用來記錄運算中間結果或保存數(shù)據(jù)。變量包括變量名、變量值兩部分。變量名就是用戶自己為變量定義的標識符,而變量值則是存儲在變量名中的數(shù)據(jù),修改變量的值僅僅是改變存儲單元中存儲的數(shù)據(jù),而不是改變存儲數(shù)據(jù)的位置,即存儲數(shù)據(jù)的位置沒有改變。例如:int=10,改為a=5;等號左邊的標識符a是一個int型的變量名,標識整數(shù)10的存儲位置,改變的只是a的存儲的內(nèi)容,由整數(shù)10變?yōu)檎麛?shù)5。上一頁下一頁返回2.3項目支撐知識變量必須先聲明后使用。變量聲明是要告訴編譯器根據(jù)數(shù)據(jù)類型為變量分配合適的存儲空間。變量聲明包括為變量命名,指定變量的數(shù)據(jù)類型,如果需要還可以為變量指定初始數(shù)值。聲明變量的格式如下:其中Type表示Java的某種數(shù)據(jù)類型,可以是基本數(shù)據(jù)類型也可以是類類型。varlist則為變量的標志符列表,可以同時寫上多個變量,變量之間必須以逗號分隔,也可以在定義時為變量賦初值。如:上一頁下一頁返回2.3項目支撐知識【例2-4】源程序名“ComputeArea.Java",計算半徑為10的圓的面積,并顯示結果。通過此案例來學習常量和變量的使用。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-4所示?!境绦蚍治觥康?句:常量在使用前予以說明和初始化。常量PI不能改變它的值。第6句:變量的使用,定義變量area是雙精度類型。變量area在計算過程中是可以隨半徑的改變而改變。第7句:在程序運行時,給變量area賦值。上一頁下一頁返回2.3項目支撐知識2.3.4項目開發(fā)背景知識4運算符和表達式一、賦值1.賦值運算賦值運算的作用是使變量獲得值。賦值的格式如下:<變量名>=<表達式>其中,“=”是賦值運算符,<變量名>獲得計算出的<表達式>的值。賦值的運算次序是從右向左的,即先計算<表達式>的值,再將表達式的結果值賦給<變量名>。上一頁下一頁返回2.3項目支撐知識例如:2.賦值運算的語法錯誤賦值中的變量名必須已聲明,而且表達式必須能計算出確定值,否則將產(chǎn)生編譯錯誤。例如,k=10;當k聲明時,系統(tǒng)將產(chǎn)生“不能解析符號”的編譯錯誤。再有,上一頁下一頁返回2.3項目支撐知識系統(tǒng)將產(chǎn)生“變量1可能還未被初始化”的編譯錯誤。改成如下的程序才正確:3.賦值相容如果參加運算的變量類型和表達式的類型是相同的,就可以賦值,稱為類型相同。上一頁下一頁返回2.3項目支撐知識如果兩者類型不相同,并且變量類型比表達式類型長時,系統(tǒng)會自動將表達式轉化為較長的類型,如int轉化為long,這時也可以賦值,稱為賦值相容(assignmentcompatible)。例如,上一頁下一頁返回2.3項目支撐知識如果變量類型比表達式類型短,則賦值不相容,編譯時產(chǎn)生“可能存在的精度損失”的錯誤。例如:賦值不相容時,需要使用強制類型轉換,其格式如下:(<目標類型>)<表達式>例如,上一頁下一頁返回2.3項目支撐知識將long轉換為int后,可以賦值?!纠?-5】簡單的賦值運算。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-5所示【程序分析】第5句:定義整型變量age,并賦初值。第6句:輸出整型變量age的初值。第7句:修改整型變量age的初值。第8句:輸出修改后整型變量age的值。上一頁下一頁返回2.3項目支撐知識二、運算符Java提供了十分豐富的運算符,Java的運算符主要分為4類:算術運算符、位運算符、關系運算符和布爾運算符。1.算術運算符Java的算術運算符分為一元運算符和二元運算符。一元運算符只有一個操作數(shù),而二元運算符有兩個操作數(shù)參加運算。(1)一元運算符:一元正(+),一元負(-),加1(++)和減(--)加1減1運算符既可放在操作數(shù)之前(如++1),也可放在操作數(shù)之后(如1+),兩者的運算方式不同。上一頁下一頁返回2.3項目支撐知識如果放在操作數(shù)之前(如++1),操作數(shù)先加1或減1,然后將結果用于表達式的運算;如果放在操作數(shù)之后(如i++)則操作數(shù)先參加其他的運算,然后再進行加1或減1。例如:上一頁下一頁返回2.3項目支撐知識一元運算符與操作數(shù)之間不允許有空格。加1或減1運算符不能用于表達式,只能用于簡單變量。例如,++(x+1)有語法錯誤?!纠?-6】一元運算符的使用。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-6所示【程序分析】第6句:先輸出變量a的值。第7句:先引用變量a的值計算表達式a++的值并輸出,之后變量a的值加1再輸出變量a的值。第8句:先引用變量a的值計算表達式a--的值并輸出,之后變量a的值減1再輸出變量a的值。第9句:先輸出變量b的值。第10句:先引用變量b的值計算表達式++b的值并輸出,之后變量b的值加1再輸出變量b的值。上一頁下一頁返回2.3項目支撐知識第11句:先引用變量b的值計算表達式--b的值并輸出,之后變量b的值減1再輸出變量b的值。注意:從這一個程序中一定要明自,前綴和后綴的區(qū)別。(2)二元運算符:加(+),減(-),乘(*),除(/)和取余(%)。其中,+,一,*,/完成加、減、乘、除四則運算,%則是求兩個操作數(shù)相除的余數(shù)。這5種運算符均適用于整型和浮點型。當在不同數(shù)據(jù)類型的操作數(shù)之間進行算術運算時,所得結果的類型與精度最高的那種類型一致。例如,上一頁下一頁返回2.3項目支撐知識例如,用w表示今天的星期天,如w=1表示星期一,則明天、昨天分別用下式表示:上一頁下一頁返回2.3項目支撐知識思考題:怎樣用%表示月份的上一個月和下一個月?2.位運算符位運算是對整數(shù)中的位進行測試、置位或移位處理,是對數(shù)據(jù)進行按位操作的手段,Java的位操作數(shù)只限于整型。Java的位運算符有:非(~)、與(&)、或(|)、異或(八)、右移(>>)、左移(<<)、0填充的右移(>>>)。運算符的真值表如表2-5所示。上一頁下一頁返回2.3項目支撐知識例如:上一頁下一頁返回2.3項目支撐知識3.關系運算符關系運算符用于比較兩個值之間的大小,結果返回布爾值。關系運算符有6種:等于(==)、不等于(!=)、大于(>)、大于等于(>=)、小于(<)和小于等于(<=)。例如:4.布爾運算符布爾運算符只能處理布爾值,所得結果都是布爾值。Java的布爾運算符有:上一頁下一頁返回2.3項目支撐知識邏輯與(&)、邏輯或(|)、邏輯非(!)、邏輯異或(八)、條件與(&&)和條件或()布爾運算符的真值表如表2-6所示。例如,條件與(&&)的運算規(guī)則與運算符(&)相同,條件或(||)的運算規(guī)則與運算符(|)相同。區(qū)別在于:&&和||具有短路計算功能,而&和|運算符沒有短路計算功能例如:上一頁下一頁返回2.3項目支撐知識所謂短路計算(short-circuit)功能,即從左向右依次逐個計算條件是否成立,一旦發(fā)現(xiàn)有一個條件不成立(如n<100),就立即終止計算并且得到復合條件的結果值為false,實際上不用再去計算余下的條件(如n<=999)是否成立。上一頁下一頁返回2.3項目支撐知識5.其他運算符(1)賦值運算符與其他運算符的簡捷使用方式。賦值運算符可以與二元、布爾和位運算符組合成簡捷使用方式,從而簡化一些常用的表達式,如表2-7所示。上一頁下一頁返回2.3項目支撐知識(2)運算符!〕和()。方括號[〕是數(shù)組運算符,方括號[〕中的數(shù)值是數(shù)組的下標,整個表達式就代表數(shù)組中該下標所在位置的元素值。括號()用于改變表達式中運算符的優(yōu)先級。(3)字符串合并運算符。Java用“+”運算符來合并兩個字符串。當“+”合并一個字符串與一個操作數(shù)時,Java會自動將操作數(shù)轉化為字符串。例如:上一頁下一頁返回2.3項目支撐知識這種轉化對于基本數(shù)據(jù)類型是自動的,而對于引用類型則需通過調(diào)用toString()方法轉換。(4)三元條件運算符(?:)。Java語言提供廠高效簡便的三元條件運算符。該運算符的格式如下:<表達式1>?<表達式2>:<表達式3>該運算符的作用是:先計算<表達式1>的值,當<表達式1>的值為true時,則將<表達式2>的值作為整個表達式的值;當<表達式1>的值為false時,則將<表達式3>的值作為整個表達式的值。上一頁下一頁返回2.3項目支撐知識例如:
(5)對象運算符instanceof。對象運算符instanceof用來測試一個指定對象是指定類(或它的子類)的實例,若是則返回true,否則返回false.(6)強制類型轉換符。Java強制類型轉換符能將一個表達式的類型強制轉換為某一指定類型,格式如下:上一頁下一頁返回2.3項目支撐知識(<類型>)<表達式>(7)點運算符。點運算符“.”的作用有兩個;一是引用類中成員,二是分隔包(package)的各個域?!纠?-7]】int類型的溢出上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-7所示上一頁下一頁返回2.3項目支撐知識【程序分析】第5句:將整形類型的最大值賦值給變量i。第6句:輸出變量i的值。第7句:i的值加1變成整數(shù)類型表示范圍的最小值。第8句:i的值加2變成整數(shù)類型表示范圍的次小值,這就是數(shù)據(jù)類型的“溢i出”。第9句:為了避免溢出,在表達式i+2的常量部分2之后加上2L,執(zhí)行結果會自動變成Long整數(shù)類型。上一頁下一頁返回2.3項目支撐知識注意:這里用到了數(shù)據(jù)類型的自動轉換,轉換的規(guī)則是在數(shù)據(jù)類型兼容的情況下由表示范圍小的向表示范圍大的轉換。第10句:為了避免溢出,應用強制類型轉換,執(zhí)行結果會強制變成long整數(shù)類型?!纠?-8】整數(shù)和浮點數(shù)的轉換。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-8所示【程序分析】第9句:當2個整數(shù)相除時,小數(shù)點以后的數(shù)字會被截斷,即155/9=17,當把155/9的結果賦值給f1oat類型的變量g時,會發(fā)生數(shù)據(jù)自動類型換,即g=17.0.第10句:這里注意轉義字符\n,表示換行。第12句:強制數(shù)據(jù)類型轉換。上一頁下一頁返回2.3項目支撐知識6.運算符的優(yōu)先級表2-8按優(yōu)先級從高到低的次序列出Java定義的所有運算符,分隔符的優(yōu)先級最高,表中“左右”表示從左向右的運算順序。三、表達式表達式是算法語言的基本組成部分,它表示一種求值規(guī)則,通常由操作數(shù)、運算符和圓括號組成。操作數(shù)是參加運算的數(shù)據(jù),可以是常數(shù)、常量、變量或方法引用。表達式中出現(xiàn)的變量名必須已經(jīng)被初始化。上一頁下一頁返回2.3項目支撐知識表達式按照運算符的優(yōu)先級進行計算,求得一個表達式的值。運算符中圓括號的優(yōu)先級最高,運算次序是“先內(nèi)層后外層”,因此先計算由圓括號括起來的子表達式,圓括號還可以多級嵌套。大多運算符按照從左向右的次序進行計算,少數(shù)運算符的運算次序是從右向左的,如賦值運算符、三元條件運算符等。
Java規(guī)定了表達式的運算規(guī)則,對操作數(shù)類型、運算符性質(zhì)、運算結果類型及運算次序都做了嚴格的規(guī)定,程序員使用時必須嚴格遵循系統(tǒng)的規(guī)定,不得自定義。由于操作數(shù)和運算符都是有類型的,因而表達式也是有類型的,表達式的類型不一定和操作數(shù)相同,它取決于其中的運算結果。上一頁下一頁返回2.3項目支撐知識例如,Java表達式既可以單獨組成語句,也可出現(xiàn)在循環(huán)條件、變量說明、方法的參數(shù)調(diào)用等場合。【例2-9】表達式的綜合應用。首先求得這個三位數(shù)的個、十、百位上的數(shù)字,將各位數(shù)字相加就是該三位數(shù)的數(shù)字之和。程序如下:上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-9所示【程序分析】第6句:求出這個三位數(shù)的個位;第7句:求出這個三位數(shù)的十位;第8句:求出這個三位數(shù)的百位。2.3.5項目開發(fā)背景知識5由鍵盤輸入數(shù)據(jù)上一頁下一頁返回2.3項目支撐知識在程序語言中,通過用戶從鍵盤輸入數(shù)據(jù),不僅僅是程序的需求,更可以增加與用戶之間的互動。下面的格式即為輸入數(shù)據(jù)時所需要編寫的基本架構。上一頁下一頁返回2.3項目支撐知識由鍵盤輸入的數(shù)據(jù),不管是文字還是數(shù)字,Java皆視為字符串,因此若是鍵盤輸入的數(shù)字,則必須再經(jīng)過轉化,接下來看幾個例子?!纠?-10】由鍵盤輸入字符串上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-10所示?!境绦蚍治觥康?句:import是加載Java.Io.*類庫里的所有的類,供以后的代碼程序使用。第4句:throwsIOException屬于Java異常的內(nèi)容,將在項目4學習。上一頁下一頁返回2.3項目支撐知識第12句:會等待用戶輸入數(shù)據(jù),輸入完畢后按下【Enter】鍵,所輸入的文字都會被設給字符串變量str,根據(jù)用戶輸入的不同,輸出的內(nèi)容也不同?!纠?-11】由鍵盤輸入整數(shù)。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-11所示【程序分析】第12句:由于從鍵盤輸入的數(shù)據(jù),Java皆視為字符串,因此想要取得數(shù)值,必須做一個轉換的操作,這條語句就是將輸入的字符串轉換成int類型的數(shù)值。若是想輸入其他類型的數(shù)值,可以利用表2-9中的轉換的方法。2.3.6項目開發(fā)背景知識6程序流程控制上一頁下一頁返回2.3項目支撐知識按程序的執(zhí)行流程,程序的控制結構可分為3種:順序結構、分支結構和循環(huán)結構。這3種結構的流程圖如圖2-12所示。一、順序結構一般情況下,程序按語句的書寫次序依次順序執(zhí)行(sequentialexecution},如圖2-12(a)所示。先執(zhí)行<語句1>,再執(zhí)行<語句2>。順序結構是最簡單的一種基本結構。二、分支結構程序中有些語句的執(zhí)行是有條件的。當某種條件成立時,執(zhí)行一段程序;條件不成立時,執(zhí)行另一段程序,或不執(zhí)行,這種情況稱為“二路分支結構”,如圖2-12(b)所示。上一頁下一頁返回2.3項目支撐知識在此結構中有一個菱形的判斷框,它有兩個分支,根據(jù)條件<布爾表達式>是否成立(true/false)而分別執(zhí)行<語句1>或<語句2>。除此之外還有多路分支結構。1.簡單的if條件語句簡單if條件語句只在條件為真時執(zhí)行,如圖2-13,if語句流程圖所示。其語法如下。上一頁下一頁返回2.3項目支撐知識若布爾表達式的值為真,則執(zhí)行塊內(nèi)語句?!纠?-12】簡單的if條件語句。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-14所示【程序分析】第6,8句:在if子句末不能加分號(;),在if語句中,布爾表達式總應該用括號括住。第10句:如果塊中只有一條語句,花括號可以省略。但建議使用花括號以避免編程錯誤。2.簡單if-else條件語句當指定條件為真時簡單if語句執(zhí)行一個操作,當條件為假時什么也不做。那么,如果需要在條件為假時選擇一個操作,則可以使用if-else語句來指定不同的操作,如圖2-15if-else語句流程圖所示。下面是這種語句的語法。上一頁下一頁返回2.3項目支撐知識If(布爾表達式){布爾表達式為真時執(zhí)行的語句1(塊)}else{布爾表達式為假時執(zhí)行的語句2(塊)}上一頁下一頁返回2.3項目支撐知識若布爾表達式計算為真,執(zhí)行語句2(塊)(true時執(zhí)行),否則,執(zhí)行語句1(塊)(false時執(zhí)行)?!纠?-13】簡單if-else條件語句。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-16所示。【程序分析】第6句:在if語句中,布爾表達式總應該用括號括住;第7~9句:語句1(塊),如果塊中只有一條語句,花括號可以省略。但建議使用花括號以避免編程錯誤;第11~13句:語句2(塊)。3.if語句的嵌套if或if-else語句中的語句可以是任意合法的Java語句,包括其他if或if-else語句。內(nèi)層的if語句稱為嵌套在外層if語句中。內(nèi)層if語句又可以包含另一個if語句,事實上,嵌套的深度沒有限制。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識這個if語句的執(zhí)行過程如下:測試第一個條件(Score<60),若真,顯示”不及格”;若假,測試第二個條件(Score<80),若第二個條件為真,顯示”及格”;若假,繼續(xù)測試第三個條件(Score<90),若第三個條件為真,顯示”良好”,否則顯示”優(yōu)秀”。注意,只有在前面的所有條件都為假時才進行測試下一個條件。前面的if語句與下述語句等價:上一頁下一頁返回2.3項目支撐知識事實上,這是多重選擇if語句比較好的書寫風格。這個風格可以避免深層縮并使程序容易閱讀。注意:else子句與同一塊中離得最近的if子句相匹配?!纠?-14】
if語句的嵌套上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-17所示。上一頁下一頁返回2.3項目支撐知識【程序分析】第7~13句:if與else的嵌套問題4.switch語句在編程的過程中還經(jīng)常會碰到需要測試指定的變量是否等于某一個值的現(xiàn)象,如果不匹配,則對其他的值進行再匹配,這一點很像if-else-if-else的形式。但是當值很多的時候,用這種形式將變得非常麻煩,而且使程序變得很難懂。例如分別判斷5分制成績的時候,用if-else-if-else的形式會是以下的情況。上一頁下一頁返回2.3項目支撐知識代碼不簡練,如果有塊語句的時候或者是條件不是5個而是10個甚至更多個的時候,代碼會更加的不清晰。上一頁下一頁返回2.3項目支撐知識為了避免if-else語句嵌套引起閱讀和運行上的錯誤,可以使用switch語句,switch語句根據(jù)表達式的結果來執(zhí)行多個可能操作中的一個。語法形式如下:上一頁下一頁返回2.3項目支撐知識Switch語句中的每個“case常量”:成為一個case語句,代表一個case分置的入口。Switch語句的流程圖如圖2-18所示。
Switch語句遵從下述規(guī)則:(1)switch語句先計算括號中表達式的值。
(2)常量1……常量N必須與switch表達式的值具有相同的數(shù)據(jù)類型。當表達式的值與case語句的值相匹配時,執(zhí)行該case分支語句。直到碰到break或}跳出switch語句。(3)關鍵字break是可選的。break語句終止整個switch語句。若break語句不存在,下一個case語句將被執(zhí)行。上一頁下一頁返回2.3項目支撐知識(4)默認情況(default)是可選的,它用來執(zhí)行指定情況都不為真時的操作。默認情況總是出現(xiàn)在switch語句塊的最后?!纠?-15】switch語句的使用。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-19所示【程序分析】第9~10句:當成績?yōu)?0~100的時候,成績的等級均為優(yōu)秀,也是說case10和case9這2個分支具有相同的動作,因此可以只在最后一個分支上寫上執(zhí)行語句。第18~23句:道理同第9~10句的分析。第14句:因為a的值為7,執(zhí)行case7之后的分支語句,輸出結果為良好,之后,碰到break語句,結束switch語句的執(zhí)行。第15句:如果之后缺少第15句的break語句,結果會怎樣?自己修改程序并運行,領會break語句的作用。上一頁下一頁返回2.3項目支撐知識三、循環(huán)結構有些程序段在某種條件下需要重復執(zhí)行多次,從而形成循環(huán)結構,如圖2-12(c)所示。當條件滿足(即<布爾表達式>為true)時,反復執(zhí)行<語句>,一旦條件不滿足(即<布爾表達式>為false)時就不再執(zhí)行<語句>,循環(huán)結束,執(zhí)行下一個基本結構。它的特點是“先判斷,后執(zhí)行”。如果在開始時條件就不滿足,循環(huán)就不執(zhí)行。Java的3種循環(huán)語句有while,do-while和for循環(huán)語句。上一頁下一頁返回2.3項目支撐知識1.while循環(huán)它的執(zhí)行過程如圖2-20所示,其語法如下。While(條件){循環(huán)體}說明:循環(huán)條件是一個布爾表達式,它必須放在括號中。在循環(huán)體執(zhí)行前一定先計算循環(huán)條件,若條件為真,執(zhí)行循環(huán)體,若條件為假,整個循環(huán)中斷并且程序控制轉移到while循環(huán)后的語句。上一頁下一頁返回2.3項目支撐知識【例2-16】While循環(huán)的使用上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-21所示【程序分析】第6行:進人while循環(huán)的判斷條件i<-10,第一次進入循環(huán)時,由于i的值為1,所以判斷條件為真,進入循環(huán)主體。第7~10行:為循環(huán)主體,sum+i的值再指定給sum存放,i的值加1,再回到循環(huán)起始處,繼續(xù)判斷1的值是否仍在限定的范圍內(nèi),直到1大于10即會跳出循環(huán),表示累加的操作已經(jīng)完成,最后將結果sum的值輸出即可。上一頁下一頁返回2.3項目支撐知識2.do-while循環(huán)語句do循環(huán)其實就是while循環(huán)的變體。它的執(zhí)行過程如圖2-22所示,其的語法如下。Do{循環(huán)體}while(條件);注意:在do循環(huán)中while條件判斷之后需要添加一個分號。上一頁下一頁返回2.3項目支撐知識
do-while的循環(huán)流程是和while循環(huán)不一樣的,二者的主要差別在于循環(huán)條件和循環(huán)體的執(zhí)行順序不同。另外,當循環(huán)初始條件滿足時,二者沒有區(qū)別,功能結果一樣,但是當循環(huán)初始條件不滿足時,while循環(huán)的循環(huán)主體一次也不執(zhí)行,但do-while循環(huán)的循環(huán)主體至少要執(zhí)行一次?!纠?-17】do-while循環(huán)語句的使用。上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-23所示。【程序分析】第10~14行:利用,do-while循環(huán)判斷所輸入的值n小于0時,會重復輸入直到n大于0。第15~17行:再次利用do-while循環(huán)計算累加1到n的結果。do-while循環(huán)語句的判斷條件是循環(huán)控制變量i小于等于n時,就執(zhí)行循環(huán)主體-程序的第16行。3.for循環(huán)語句上一頁下一頁返回2.3項目支撐知識for循環(huán)的執(zhí)行過程如圖2-24所示,一般地,它的語法如下。for(循環(huán)變量初始化;循環(huán)條件;調(diào)整語句){循環(huán)體}for循環(huán)語句以關鍵字for開始,然后是由括號括住的三個控制元素,循環(huán)體括在大括號內(nèi)??刂圃赜煞痔柗珠_,控制循環(huán)體的執(zhí)行次數(shù)和終止條件。下面的for循環(huán)可以打印“Welcome!”100次。上一頁下一頁返回2.3項目支撐知識第一個元素為i=0,初始化循環(huán)變量。循環(huán)變量跟蹤循環(huán)體的執(zhí)行次數(shù),調(diào)整語句修改它的值。第二個元素為1<100,是布爾表達式,用作循環(huán)條件。第三個元素是調(diào)整控制變量的語句,循環(huán)變量的值最終必須使循環(huán)條件變?yōu)榧?。另外,循環(huán)變量也可以在for循環(huán)中進行說明和初始化。上例還可寫成下列語句:上一頁下一頁返回2.3項目支撐知識【例2-18】源程序TestSum.Java,使用for循環(huán)計算從1到100的數(shù)列的和。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-25所示。上一頁下一頁返回2.3項目支撐知識【程序分析】第7~10句組成的for循環(huán),變量i從1開始,每次增加1,當i大于100時循環(huán)終止。四、轉向語句break和continue語句用于分支語句和循環(huán)語句中,使得程序員更方便地控制程序執(zhí)行的流程。1.break語句break有兩種形式,一種是不帶語句標號的break,用于立刻終止包含它的最內(nèi)層循環(huán)。如在switch語中,break語句用來終止switch語句的執(zhí)行。上一頁下一頁返回2.3項目支撐知識另一種是帶標號的break,用于多重循環(huán)中,跳出它所指定的塊(在Java中,每個代碼塊可以加一個括號和語句標號),并從緊跟該塊的第一條語句處執(zhí)行。例如:下面break語句中斷內(nèi)層循環(huán)并把控制立即轉移到外層循環(huán)后的語句。上一頁下一頁返回2.3項目支撐知識如果把上述語句中的breakouter換成break,則break語句終止內(nèi)層循環(huán),仍然留在外層循環(huán)中。如果想退出外循環(huán),就要使用帶標號的?!纠?-19】源程序TestBreak.Java,測試break語句對程序結果的影響。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-26所示。上一頁下一頁返回2.3項目支撐知識【程序分析】第8~13句的while循環(huán)中,如果不用12行的if語句,本程序計算從1到5的和。如果有了if語句,總和大于等于6時循環(huán)終止。2.continue語句continue語句用來結束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進行終止條件的判斷,以決定是否繼續(xù)循環(huán)?!纠?-20】源程序“TestContinue.Java",測試continue語句)上一頁下一頁返回2.3項目支撐知識上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-27所示。【程序分析】第8~13句的while循環(huán)中,continue語句終止當前迭代,當i變?yōu)?時不再執(zhí)行循環(huán)體的剩余語句,即不加到sum中。如果沒有if語句,所有的項都加到sum中,包括i=20。3.return語句return語句用來使程序從方法中返回,并為方法返回一個值。return語句的格式如下。return返回值。上一頁下一頁返回2.3項目支撐知識如果return語句未出現(xiàn)在子方法中,則執(zhí)行子方法的最后一條語句后自動返回到主方法注意:return語句的用法詳見2.3.8小節(jié)。2.3.7項目開發(fā)背景知識7數(shù)組和字符串Java語言中,數(shù)組是一種最簡單的復合數(shù)據(jù)類型。數(shù)組是有序數(shù)據(jù)的集合,要求數(shù)組中的每個元素具有相同的數(shù)據(jù)類型,可以用一個統(tǒng)一的數(shù)組名和下標來唯一地確定數(shù)組中的元素,下標用[〕封裝,數(shù)組的元素數(shù)目稱為數(shù)組長度。數(shù)組有一維數(shù)組和多維數(shù)組。上一頁下一頁返回2.3項目支撐知識一、一維數(shù)組數(shù)組的定義和創(chuàng)建是有區(qū)別的,定義只需聲明數(shù)組類型,沒有數(shù)組長度的要求。創(chuàng)建是給數(shù)組分配空間,可用new運算符,也可用枚舉初始化來創(chuàng)建。1.一維數(shù)組的定義1)數(shù)據(jù)類型[〕數(shù)組名;2)數(shù)據(jù)類型數(shù)組名[〕;數(shù)據(jù)類型可以為Java中任意的數(shù)據(jù)類型,包括簡單類型和復合類型。例如:上一頁下一頁返回2.3項目支撐知識2.一維數(shù)組的創(chuàng)建當一個數(shù)組被定義以后,就可以通過下面的語法用new操作符創(chuàng)建它。數(shù)組名=new數(shù)據(jù)類型!數(shù)組大小;另外,定義和創(chuàng)建數(shù)組可以被合并在一個語句里,如下所示。(1)數(shù)據(jù)類型[〕數(shù)組名=new數(shù)據(jù)類型!數(shù)組大;(2)數(shù)據(jù)類型數(shù)組名[〕=new數(shù)據(jù)類型!數(shù)組大;例如:int!〕myArray=newint}1;上一頁下一頁返回2.3項目支撐知識這條語句能夠創(chuàng)建一個由10個int型元素構成的數(shù)組,為了指定數(shù)組中能夠儲存多少元素,給數(shù)組分配內(nèi)存空間時,數(shù)組的大小必須事先給定。當一個數(shù)組創(chuàng)建完畢,不能再改變它的大小。3.一維數(shù)組的初始化(1)靜態(tài)初始化上一頁下一頁返回2.3項目支撐知識(2)動態(tài)初始化.簡單類型的數(shù)組。.復合類型的數(shù)組。上一頁下一頁返回返回2.3項目支撐知識4.一維數(shù)組元素的引用數(shù)組元素的引用方式為:數(shù)組名!下標〕數(shù)組下標,可以為整型常數(shù)或表達式,下標從0開始。每個數(shù)組都有一個屬性length指明它的長度,數(shù)組下標從0到length-1。例如:intArray.length指明數(shù)組intArray的長度。數(shù)組元素分別是intArray}、intArray}1、……intArray[inlArray.length上一頁下一頁2.3項目支撐知識一維數(shù)組長度的獲取是數(shù)組名.length?!纠?-21】源程序ArrayDemo.Java,創(chuàng)建一個整型數(shù)組。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-28所示?!境绦蚍治觥吭诘?~13句先創(chuàng)建了一個整型數(shù)組,然后輸出其中元素的值。二、二維數(shù)組Java語言中,多維數(shù)組被看作數(shù)組的數(shù)組。1.二維數(shù)組的定義上一頁下一頁返回2.3項目支撐知識(1)數(shù)組類型數(shù)組名[〕[〕;(2)數(shù)組類型[〕[〕數(shù)組名;2.二維數(shù)組的初始化(1)靜態(tài)初始化Java語言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連續(xù)分配的,所以不要求二維數(shù)組每一維的大小相同。上一頁下一頁返回2.3項目支撐知識(2)動態(tài)初始化。.直接為每一維分配空間,格式如下。.從最高維開始,分別為每一維分配空間。上一頁下一頁返回2.3項目支撐知識.例如,二維簡單數(shù)據(jù)類型數(shù)組的動態(tài)初始化如下。對二維復合數(shù)據(jù)類型的數(shù)組,必須首先為最高維分配引用空間,然后再順次為低維分配空間。而且,必須為每個數(shù)組元素單獨分配空間,例如:上一頁下一頁返回2.3項目支撐知識3.二維數(shù)組元素的引用對二維數(shù)組中的每個元素,引用方式為:上一頁下一頁返回2.3項目支撐知識【例2–22】從二維不規(guī)則數(shù)組中查找最大值,并指明最大值所在的行號和列號。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-29所示?!境绦蚍治觥康?,8行:是一個for循環(huán)的嵌套,循環(huán)變量i,j分別控制二維數(shù)組的行下標,及每一行元素的個數(shù)。在二維數(shù)組中,可以利用同一維數(shù)組相同的方法.length來獲取整個數(shù)組的行數(shù),即數(shù)組名.length,或是某行元素的個數(shù),即數(shù)組名
行下標〕.length。第9,10行:比較判斷m「i)「!)和max的大小。上一頁下一頁返回2.3項目支撐知識三、字符串Java的字符串用關鍵字String標記,但String不是一個簡單類型,而是Java定義的一個類(class),屬于引用類型。在此將String當做一個數(shù)據(jù)類型使用,有關類的概念將在項目3中介紹。聲明字符串變量聲明字符串變量的格式與其他變量一樣,如下式聲明了一個String類的變量str。上一頁下一頁返回2.3項目支撐知識同樣也可以在聲明時初始化變量,使變量str獲得字符串常量值:還可以用另外一種的聲明形式:上一頁下一頁返回2.3項目支撐知識注意:字符串的聲明形式還有其他的,由于篇幅限制,不再一一介紹。字符串是引用類型,其存儲方式與簡單類型變量不同,兩者的存儲方式如圖2-30所示。2.字符串運算程序中可以用賦值運算為字符串變量賦值,除此之外,Java定義“+”可用于兩個字符串的連接運算。例如。上一頁下一頁返回2.3項目支撐知識如果字符串與其他類型變量進行“+”運算,系統(tǒng)自動將其他類型轉換為字符串。例如:3.String類的常用方法Java為String類定義了許多方法。表2-9列出了String類的常用方法。可以通過下述格式調(diào)用Java定義的方法<字符串變量>.<方法名>上一頁下一頁返回2.3項目支撐知識比較兩個字符串有兩種方法:equals()和compareTo()。方法equals()比較兩個字符串是否相等,返回booleam類型的值。當兩串相等時,返回true,否則返回false。方法compareTo()比較兩個字符串,返回兩者之間的差值(int型)。返回值分3種情況。(1)若兩個字符串st1,st2相等,則pareTo(st2)返回0。(2)若兩個字符串st1,st2不等,則從頭開始依次將兩串中的每個字符進行比較,當遇到第1個不同字符時,pareTo(st2)返回這兩個不同字符的差值,即:上一頁下一頁返回2.3項目支撐知識例如,設st1=“a1c”,st2=“a3c”,則pareTo(st2)返回st1.charAt(1)
-st2.charAt(1)的值為-2。(3)若兩個字符串st1,st2僅長度不等,則pareTo(st2)返回兩者長度的差值,即:例如:st1=“abcdef”,st2=“ab”,則st1compareTo(st2)的返回值為4。上一頁下一頁返回2.3項目支撐知識注意:String類的其他常用方法請參見Java相關書籍類庫附錄。2.3.8項目開發(fā)背景知識8函數(shù)函數(shù)可以簡化程序的結構,精簡重復的程序流程,把特定功能的程序代碼獨立出來,達到程序模塊化的目的。在Java里,函數(shù)稱為method,對于method應該不陌生,在每一個類里出現(xiàn)的main()即是method。method可用如下的語法來定義:上一頁下一頁返回2.3項目支撐知識返回值類型method名稱(類型參數(shù)1,類型參數(shù)2,……){程序語句Return表達式}【例2–23】沒有參數(shù)、沒有返回值的method的使用。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-31所示上一頁下一頁返回2.3項目支撐知識【程序分析】第3~8行:程序定義main(),main()是程序執(zhí)行的起點。第9~14行:程序定義star()。第5行:main()調(diào)用star(),此時程序的運行流程便會進到第9~14行的star()里執(zhí)行,執(zhí)行完畢后,程序返回到main(),繼續(xù)運行第7行。第8行:main()再次調(diào)用star(),調(diào)用完畢后返回,接下來main()已經(jīng)沒有程序代碼可供執(zhí)行,于是結束程序。上一頁下一頁返回2.3項目支撐知識注意:star()并沒有返回值,所以star()前面加上一個void關鍵字,即使star()沒有參數(shù)傳遞,star()后面的()必須保留。至于star()前面的static關鍵字的作用將在3.3.6小節(jié)里詳細介紹。【例2–24】有參數(shù)、有返回值的method的使用。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-32所示。上一頁下一頁返回2.3項目支撐知識【例2一25】計算長方形的面積。上一頁下一頁返回2.3項目支撐知識【運行結果】如圖2-33所示【程序分析】第6行:main()調(diào)用showarea(7,3),并把7與3兩個參數(shù)分別給showarea()里的參數(shù)嗎m,n。第11行:將show
area()的計算結果,通過return語句帶回到main()并賦值給變量area。上一頁返回2.4項目實施【項目1】源程序TestWhile.Java,讀入一系列整數(shù)并計算其和,輸入0則表示輸入結束。下一頁返回2.4項目實施【運行結果】如圖2-34所示。上一頁下一頁返回2.4項目實施【程序分析】第6句:執(zhí)行readInt時,計算機開始等待鍵盤輸入,直到按下回車鍵為止。第9~14句:是while語句的應用。其中第11~13句是循環(huán)體語句。第12句:while循環(huán)中,若data非0,則將它加到總和上并讀取下一個輸入數(shù)據(jù)。若data為0,不執(zhí)行循環(huán)體并且while循環(huán)終止。特別地,若第一個輸入值為0,則不執(zhí)行循環(huán)體,結果sum為0。注意:要保證循環(huán)條件最終可以變?yōu)榧?,以便程序能夠結束。上一頁下一頁返回2.4項目實施[項目2】源程序TestMulTable.Java,使用嵌套的for循環(huán)打印九九乘法表。上一頁下一頁返回2.4項目實施上一頁下一頁返回2.4項目實施【運行結果】如圖2-35所示。【程序分析】第7~9句組成的第一個循環(huán)顯示數(shù)1到9;第10~21句是一個嵌套的for循環(huán),對每個外循環(huán)的循環(huán)變量i,內(nèi)循環(huán)的循環(huán)變量j都要逐個取1,2,…,9,并顯示出i*j的值。第15~18句的if語句使結果右對齊?!卷椖?】一個簡單的計算器,完成兩個整數(shù)的加、減、乘、除運算,參與運算的兩個整數(shù)及運算符從命令行參數(shù)傳入。例如,要計算100+200,則在命令行輸入:上一頁下一頁返回2.4項目實施程序實現(xiàn)如下:上一頁下一頁返回2.4項目實施上一頁下一頁返回2.4項目實施【運行結果】如圖2-36所示?!卷椖?】判斷回文字符串?;匚氖且环N“從前向后讀”和“從后向前讀”都相同的字符串,如“rolor”是一個回文字符串。程序中使用了兩種算法來判斷回文字符串。算法一:分別從前向
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 10的認識(教學設計)-2024-2025學年一年級上冊數(shù)學人教版
- 8《匆匆》教學設計-2023-2024學年統(tǒng)編版語文六年級下冊
- 電梯出租服務合同范本
- 鋼模板加工合同范本
- 人參買賣合同范本
- 6 傳統(tǒng)游戲我會玩2023-2024學年二年級下冊道德與法治同步教學設計(統(tǒng)編版)
- Module 5 Unit 2 Can I come in (教學設計)-2024-2025學年外研版(一起)英語三年級上冊
- 3《桂花雨》教學設計 第二課時(教學設計)2024-2025學年統(tǒng)編版語文五年級上冊
- 承裝合同范本
- 6《工具幫助我》 教學設計-2024-2025學年科學一年級上冊冀人版
- 滬科版(2024新版)數(shù)學七年級下冊第6章 實數(shù) 單元測試卷(含答案)
- 電子物料基礎知識
- 外科疝氣的個案護理
- 2025屆江蘇省南京市鹽城市高三一??荚囌Z文試題 課件
- 幼兒園保育教育質(zhì)量自評指導手冊(試行)
- 駕考科目一最完整考試題庫(完整版)包過關
- 青島版(六三制)小學數(shù)學二年級下冊全冊教學設計、教案
- 電力安全工作規(guī)程考試試題題庫
- 2024年糖尿病足診治指南解讀課件
- 兩個人合伙買攪拌車的合同
- 《商務溝通-策略、方法與案例》課件 第一章 商務溝通概論
評論
0/150
提交評論