




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第二章Java語言編程根底2.1 了解Java的標識符與關鍵字2.2 了解Java的數(shù)據(jù)類型2.3 了解Java的變量和常量2.4 了解Java的運算符與表達式2.5 熟悉Java的程序的流程限制2.6 掌握Java程序的注釋用法2.1 了解Java的標識符與關鍵字下面我們通過一個簡單的程序來學習java中的標識符與關鍵字.Example2_1.javapackageChapter2;/聲明程序所在包importjava.util.Scanner;publicclassExample2_1publicstaticvoidmain(String口args)intx,y,z;聲明三個變量Syste
2、m.out.println("請輸入兩個整數(shù):");/Scanner類表示一個文本掃描器,/它可以掃描從鍵盤上輸入的字符Scannerin=newScanner(System.in);方法nextInt()返回鍵盤上輸入的一個整數(shù)x=in.nextInt();y=in.nextInt();z=x+y;System.out.println(x+"+"+y+"="+z);)上例中,類名Example2_1,變量名x、y和z,對象名in等均屬于用戶定義的標識符,而public、class、static、void、int等均屬于Java語言本
3、身定義的關鍵字.一、Java標識符的命名規(guī)那么Java的標識符命名規(guī)那么如下:(1)標識符由字母、數(shù)字、下劃線、美元符號組成,沒有長度限制.(2)標識符的首字符必須是字母、下劃線(_)或美元符號($).(3)標識符中的字母是區(qū)分大小寫的,比方Dog和dog是不同的標識符.(4)常量通常以大寫字母英文單詞命名,變量通常以小寫字母英文單詞命名.如果一個變量名由多個單詞構成,第一個單詞為小寫,第二個單詞首字母大寫,如anInto(5)類的標識符通常以大寫英文字母開始.(6)Java關鍵字、保存字等不能作為用戶自定義標識符使用.關鍵字(keyword)是指編程語言預先定義的標識符,在程序中有其特殊的含
4、義,用戶不能將其作為自定義標識符.二、Java關鍵字與保存字abstract;抽象assent斷言boolean布爾break中斷byte(字節(jié))catch捕獲char字符class類continue繼續(xù)default默認do做double(雙精度)else否那么enum(枚舉)extends繼承false假final最終finally最終float單精度浮點for當時候if如果implements實現(xiàn)import引入instanceof是一的實例int整數(shù)interface接口long長整數(shù)native本地new新建null空package打包private私有protected受保護pub
5、lic公共return返回short短整數(shù)static靜態(tài)strictfp精確浮點super超級的switch轉(zhuǎn)換synchronized同步this這個throw拋出throws拋出transient暫時的true真try嘗試void空的volatile易變的while當時候保存字reservedword是指Java語言預留的但暫時沒有使用的關鍵字.對于保存字,用戶也不能將其作為標識符使用.byValue按值case情形const常量future將來generic類屬goto跳轉(zhuǎn)到inner內(nèi)部outer外部operator運算符rest余數(shù)var變量?log?琰苣?U2.2 了解Java的
6、數(shù)據(jù)類型一、Java的數(shù)據(jù)類型Java的數(shù)據(jù)類型分為簡單數(shù)據(jù)類型和復合數(shù)據(jù)類型.數(shù)據(jù)類型關鍵字所占位數(shù)默認值取值范圍布爾型boolean8falsetrue,false字節(jié)型1byte80-2727-1-128127短整型short160-215215-1-3276832767整型int320-231231-1-21474836482147483647長整型long640-263263-1單精度型float320.03.4e0383.4e+038雙精度型double640.01.7e-3081.7e+308字符型char16'u0000''u0000''
7、uFFFF'1byte、short、int、10ng均用于表示整數(shù),只不過它們的取值范圍不同.2float和double均用于表示浮點型數(shù)值,其區(qū)別在于它們所能表示的數(shù)值范圍和精度不同.其中,double型比float型可以存儲范圍更大,精度更高的數(shù)值.(3)字符型(char)用來表示Unicode字符集中的符號,如各種限制字符、字母、數(shù)字和漢字.Unicode字符集采用十六進制數(shù)表示每一個字符,如u0061'表示小寫字母a.(4)布爾型(boolean)只有"真"(true)和"假"(false)兩個值.packageChapter2;
8、publicclassDataTypeConvertpublicstaticvoidmain(Stringargs)charc1='a',c2='b',c3;/聲明三個字符變量intx1=10,x2,x3;聲明三個整型變量floaty1=20.56F,y2;/聲明兩個浮點型變量c3=(char)(c1+c2);/兩個字符相加,結果為整型.由于c3為字符型,/故必須將整型強制轉(zhuǎn)換為字符型x2=x1+c1;/整型加字符型(實際上是字符的ASCII碼值),結果為整型x3=(int)(x1+y1);整型加浮點型,結果為浮點型.由于x3為整型,/其級別低于浮點型,故必須進
9、行強制轉(zhuǎn)換y2=x1*y1;/整型與浮點型相乘,結果為浮點型System.out.println("c3="+c3+"x2="+x2+"x3="+x3);System.out.println("y2="+y2);)二、數(shù)據(jù)類型轉(zhuǎn)換在編寫程序時,由于參與運算的變量或常量的數(shù)據(jù)類型不同,或者表達式結果與目標變量的數(shù)據(jù)類型不同,我們會經(jīng)常碰到數(shù)據(jù)類型的轉(zhuǎn)換問題.程序的運行結果:c3=?x2=107x3=30y2=205.599991 .簡單數(shù)據(jù)類型的優(yōu)先級在Java中,為了標準簡單數(shù)據(jù)類型的轉(zhuǎn)換,系統(tǒng)基于各種簡單數(shù)據(jù)類型
10、取值精度的不同,為各種簡單數(shù)據(jù)類型規(guī)定了不同的優(yōu)先級,具體如下:(byte、short、char)-intflongffloatfdouble2 .數(shù)據(jù)類型的自動轉(zhuǎn)換與強制轉(zhuǎn)換在參與運算的數(shù)據(jù)包含多種數(shù)據(jù)類型,或者賦值語句中左側(cè)賦值變量和右側(cè)表達式結果類型不同時,有如下幾個原那么:如果賦值變量的數(shù)據(jù)類型優(yōu)先級高于表達式結果數(shù)據(jù)類型的優(yōu)先級,那么表達式結果的數(shù)據(jù)類型將被自動轉(zhuǎn)換為賦值變量的數(shù)據(jù)類型.如果賦值變量的數(shù)據(jù)類型優(yōu)先級低于表達式結果數(shù)據(jù)類型的優(yōu)先級,或者兩者同級,那么表達式結果的數(shù)據(jù)類型必須強制轉(zhuǎn)換為賦值變量的數(shù)據(jù)類型.三、各種數(shù)據(jù)類型數(shù)據(jù)的表示方式1 .整型數(shù)值整型數(shù)值有三種表示形式:
11、十進制整數(shù)、八進制整數(shù)和十六進制整數(shù),其特點如下:十進制表示方法:由正、負號和數(shù)字09組成,但數(shù)字局部不能以0開頭.例如:intx=10,y=-24;八進制表示方法:由正、負號和數(shù)字07組成,數(shù)字局部以0開頭.例如:shortx=010,y=-024;十六進制表示方法:由正、負號,數(shù)字09,字母AF或af表示數(shù)值10-15組成,數(shù)字局部以0X或0x開頭.例如:intx=0xffff,y=-0X3D4;提示:對于長整型變量來說,數(shù)值后必須添加后綴字母L或I.同時,由于小寫字母“I很容易與阿拉伯數(shù)字“1混淆,建議使用“L.2 .浮點型數(shù)值浮點型數(shù)值有如下兩種表示方式:1小數(shù)表示法,它由整數(shù)局部和小
12、數(shù)局部組成,例如:4.0,5.32.2科學表示法,它常用來表示很大或很小的數(shù),表示方法是在小數(shù)表示法后加“E或"e及指數(shù)局部.但要注意,“E或"e前面必須有數(shù)字,指數(shù)局部可正可負,但必須都是整數(shù).例如:4.2E-5,3E6.3 .字符值字符值有普通字符表示法和轉(zhuǎn)義字符表示法兩種.例如:charc1='a',c2='n',c3='人';普通字符表示法是用單引號括起來的一個字符,而且區(qū)分大小寫,例如:A'和'a'是兩個不同的字符,而VC'是不合法的.轉(zhuǎn)義字符表示法的格式為“字符,主要用來表示一些無法
13、顯示的字符,如回車符、換行符、制表符等.字符形式ASCII值功能a'0x07響鈴b'0x08退格t'0x09橫向制表符n'0x0a換行r'0x0d回車'0x5c反斜杠''0x27單引號"'0x22雙引號常用的轉(zhuǎn)義字符及其功能:4,字符串值字符串值是使用雙引號括起來的零個或多個字符,且字符串中可以包含轉(zhuǎn)義字符.例如:Stringc1="IamJava!"Stringc2="n換行";5 .布爾型值布型爾數(shù)據(jù)只有兩個值:true和false,分別表示真和假.例如:boolean
14、cond1=true,cond2=false;6 .3了解Java的變量和常量一、聲明變量的方法變量是指在程序運行過程中可以發(fā)生變化的量,它用于在程序運行時臨時存放數(shù)據(jù).聲明變量的語法格式如下:datatypevariablename1,variablename2,variablename3.;datatype表示Java中任意的數(shù)據(jù)類型;variablename1表示任意合法的變量名.我們可以同時聲明多個變量,各變量之間用逗號分隔.例如:chara;inti1,i2;Java變量又分為成員變量位于類中方法體以外的變量和方法變量位于方法體內(nèi)的變量,又稱局部變量).對于成員變量而言,我們還可以為
15、其增加訪問限制修飾符(如public>private等)和“static字樣,以限制訪問變量的權限和變量的創(chuàng)立方式.例如:publicintvar2;publicstaticintvar3;二、聲明常量的方法常量是指在程序運行過程中不能改變的量,它用來記憶一個固定的數(shù)值.也就是說,常量只能被賦值一次.在Java中,常量用力nal來聲明,而且常量名全部用大寫字母,以便與變量名有所區(qū)別.定義常量的的一般格式如下:finaldatatypeCONSTANTNAME=值或表達式;datatype表示Java中的任意數(shù)據(jù)類型,CONSTANTNAME是用戶自定義的合法的常量名,例如:finaldo
16、ublePI=3.14,RADIUS=20;finaldoubleCIRCUMFERENCE=2*PI*RADIUS;7 .4了解Java的運算符與表達式運算符是指具有運算功能的符號.參與運算的數(shù)據(jù)稱為操作數(shù),運算符和操作數(shù)根據(jù)一定規(guī)那么組成的式子稱為表達式.根據(jù)操作數(shù)個數(shù)不同,可以將運算符分為三種:單目運算符(又稱一元運算符)、雙目運算符(又稱二元運算符)和三目運算符(又稱三元運算符).根據(jù)運算符的性質(zhì)或用途不同,Java中的根本運算符分為以下幾類:(1)算術運算符:+,-,*,/,%,+,-(2)關系運算符:>,<,>=,<=,=,!=(3)邏輯運算符:!,&
17、;&,|(4)位運算符:>>,<<,>>>,&,|,A,(5)賦值運算符:=,+=,-=,*=,/=,%=等(6)條件運算符:?和:成對使用一、算術運算符及其表達式算術表達式由算術運算符和操作數(shù)組成,用于完成根本的算術運算.算術表達式的操作數(shù)包括常量、變量等.根據(jù)操作數(shù)個數(shù)的不同,算術運算符可以分為雙目運算符和單目運算符兩種.分類運算符名稱例如例如描述雙目運算符+加法A+BA加B減法A-BA減B*乘法A*BA乘B/除法A/BA除以B%取余運算A%BA除B取余數(shù)單目運算符+正號+A正A負號-A負A4十自增+A,A+A自加1自減A,A-A自
18、減1二、關系運算符及其表達式關系表達式由關系運算符和操作數(shù)組成,用來比擬兩個操作數(shù)的大小,比擬的結果是一個布爾值True或False.操作數(shù)可以是算數(shù)表達式、布爾表達式、整數(shù)、浮點數(shù)和字符等.運算符名稱例如例如描述=等于A=BA等于B嗎?!=不等于A!=BA不等于B嗎?>大于A>BA大于B嗎?<小于A<BA小于B嗎?>=大于等于A>=BA大于等于B嗎?<=小于等于A<=BA小于等于B嗎?三、邏輯運算符及其表達式邏輯表達式由邏輯運算符和操作數(shù)組成.操作數(shù)為布爾值或布爾表達式,運算結果是布爾值.運算符名稱例如例如描述A為true時結果為false,A
19、為false!邏輯非!A時結果為trueA、B同為true時結果為true,否&&邏輯與A&&B那么為falseA、B同為false時結果為false,否|邏輯或A|B那么為trueA、B同為true時或同為false時結邏輯異或AAB果為false,否那么為true提示:“&&和“運算符又分別稱“短路與和“短路或.如果“短路與左邊的表達式值為false,那么整個邏輯表達式的值為false,編譯器不再運算右邊的表達式.同樣,如果“短路或左邊的表達式值為true,那么整個邏輯表達式的值為true,右邊的表達式也不會再運算.四、賦值運算符及其表達式賦
20、值表達式由賦值運算符和操作數(shù)組成.賦值運算符用于將其右側(cè)表達式的值賦給左側(cè)變量.在Java中,使用“=作為賦值運算符,它不同于數(shù)學中的等號運算符例如本例表達式等價于+=A+=BA=A+B兩數(shù)相加A-=BA=A-B兩數(shù)相減*=A*=BA=A*B兩數(shù)相乘/=A/=BA=A/B兩數(shù)相除%=A%=BA=A%B兩數(shù)求余&=A&=BA=A&B兩數(shù)按位與|=A|=BA=A|B兩數(shù)按位或八二AA=BA=A八B兩數(shù)按位異或<<=A<<=BA=A<<BA左移B位>>=A>>=BA=A>>BA帶符號右移B位>>
21、;>=A>>>=BA=A>>>BA無符號右移B位五、條件運算符及其表達式條件運算符屬于三目運算符,即包含3個操作對象,其語法格式如下:expressionl?expression2:expression3;表達式expressionl的值必須為布爾型,表達式expression2與表達式expression3的值可以為任意類型,且類型可以不同.條件表達式的值取決于expressionl的判斷結果.如果expressionl的值為true,那么執(zhí)行表達式expression2,否那么執(zhí)行表達式expression?.編寫程序時,對于一些簡單的選擇結構,使
22、用三目運算符來實現(xiàn)會更簡捷.例如:intx=20;inty=10;intmax=x>=y?x:y;六、位運算符及其表達式Java提供了可以直接對二進制數(shù)進行操作的位運算符.分類運算符名稱例如運算符說明按位運算按位取反A這是一個單目運算符,用來對操作數(shù)中的位取反,即1變成0,0變成1&按位與A&B對操作數(shù)中對應的位進行與運算.如果相對應的位都是1,結果位就是1,否那么就是0|按位或A|B對操作數(shù)中對應的位進行或運算.如果兩個對應的位都是0,結果位為0,否那么為1A按位異或AAB對操作數(shù)中對應的位進行異或運算.如果對應的位各不相同,例如一個位是1,另一個位是0,結果位為1.如
23、果對應的位相同,結果位為0<<左移A<<a將一個數(shù)的各二進制位全部左移a位,移出的高位被舍棄,低位補0.例如:6<<2=(00000110)<<2=(00011000)=18移位運算>>帶符號右移A>>a將一個數(shù)的各二進制位全部右移a位,移出低位被舍棄,符號位不變,且逐次右移(稱為符號位擴展)例如:9>>2=(00001001)>>2=(00000010)=2-9>>2=(11110111)>>2=(11111101)=-3其中0,1表示符號位>>>無符號右
24、移A>>>a與帶符號右移根本相同,其區(qū)別是符號位右移,最高位補0.例如:-9>>>2=(11110111)>>>2=(00111101)=0x3d七、運算符的優(yōu)先級運算符的優(yōu)先級決定了表達式中運算符執(zhí)行的先后順序,而通過改變運算符的結合方向和使用括號可以改變執(zhí)行的順序.優(yōu)先級匚運算符結合方向1(),(下標運算符,引用數(shù)組兀素),.(分量運算用于引用對象屬性和方法)從左向右2,+(正),-(負),+,-從右向左3*,/,%從左向右4+(加),-(減)從左向右5<<,>>,>>>從左向右6<,&l
25、t;=,>,>=,instanceof從左向右7=,!=從左向右8&按位與從左向右9八接位異或從左向右10|按位或從左向右11&&邏輯與從左向右12|邏輯或從左向右13?:從右向左14=,+=,-=,*=,/=,%=,&=,|=,人=,=,<<=,>>=,>>>=從右向左8 .5熟悉Java程序的流程限制語句Java的程序流程限制分為順序結構、選擇結構、循環(huán)結構和跳轉(zhuǎn)語句.一、順序結構順序結構就是根據(jù)程序代碼先后順序自上而下地執(zhí)行,直到程序結束,中間沒有任何判斷和跳轉(zhuǎn).二、選擇結構選擇結構又稱分支結構用于判斷
26、給定的條件,根據(jù)判斷的結果來限制程序的流程.選擇語句包括if語句和switch語句,它們用來解決實際應用中按不同情況進行不同處理的問題.1. if語句if語句是通過判斷給定表達式的值來決定程序流程的.if語句有多種形式,最常見的有如下三種:第一種形式:ifexpressionstatement;第二種形式:ifexpressionstatement;elsestatement;表達式expression的結果只能是布爾型,即此表達式的結果只能是true或false.當表達式expression為true時執(zhí)行if所對應的代碼塊,否那么,如果有else那么執(zhí)行else對應的代碼塊.第二種形式和第
27、三種形式是相通的,如果第三種形式中elseif代碼塊不出現(xiàn),那么變成第二種形式.else語句必須和if或elseif配對使用,else總是與離它最近的if或elseif配對,可以通過大括號來改變配對關系.第三種形式:if(expression)statement;elseif(expression)statement;/可以有零個或多個elseif語句else/最后的else語句也可以視情況省略statement;實例2-1計算稅款在我國,個人所得稅是基于納稅人的情況和應征收入計算的.納稅人情況共分為三種:單身納稅人、已婚納稅人和家庭納稅人.另外,對于不同情況的納稅人,其稅率是分檔計算的,中國
28、2021年的稅率如下表所示.例如:如果是單身納稅人,可征稅收入為10000元,那么前6000元的稅率為10%,后4000元的稅率為15%,那么需要繳納的稅額為1200元.稅率單身納稅人已婚納稅人家庭納稅人10%低于6000Y低于等于12000Y低于等于10000Y15%6001¥-2795012001¥¥-46700Y10001Y-37450Y27%27951¥-67700¥467001Y-112850Y37451Y-96700Y30%67701Y-141250Y112851Y-171950Y96701Y-156600Y35%14251
29、5;及以171951Y及以上上156601Y及以上【技術要點】程序定義兩個變量分別表示納稅人的情況和可征稅收入,其中用0表示單身納稅人,1表本已婚納稅人,2表小家庭納稅人.對每一種納稅人的情況,有五種稅率,每種稅率對應特定的可征稅收入.例如:一個單身納稅人的收入是100000元,那么6000元局部的稅率為10%,6000-27950局部為15%,27950-67700局部為27%,67700-100000局部為30%.步驟1:啟動Eclipse,在Chapter2包中創(chuàng)立類ComputeTax,并編寫如下代碼./ComputeTax.javapackageChapter2;importjava
30、.util.Scanner;publicclassComputeTaxpublicstaticvoidmain(Stringargs)doubleincome=0.0;定義可征稅收入intstatus=0;定義納稅人的情況doubletax=0;定義稅額提示用戶輸入納稅人的類型System.out.println("請輸入納稅人的類型:0-單身,1-已婚,2-家庭)ScannerinStatus=newScanner(System.in);if(inStatus.hasNextInt()status=inStatus.nextInt();輸入納稅人的類型System.out.prin
31、tln("請輸入可征稅收入:");Scannerin=newScanner(System.in);if(in.hasNextDouble()income=in.nextDouble();輸入可征稅收入if(status=0)計算單身納稅人的繳納稅額if(income<=6000)tax=income*0.10;elseif(income<=27950)tax=6000*0.10+(income-6000)*0.15;elseif(income<=67700)tax=6000*0.10+(27950-6000)*0.15+(income-27950)*0.2
32、7;elseif(income<=141250)tax=6000*0.10+(27950-6000)*0.15+(67700-27950)*0.27+(income-67700)*0.30;elsetax=6000*0.10+(27950-6000)*0.15+(67700-27950)*0.27+(141250-67700)*0.30+(income-141250)*0.35;elseif(status=1)/計算已婚納稅人的繳納稅額elseif(status=2)/計算家庭納稅人的繳納稅額System.out.println("納稅人需要繳納的稅額為"+tax+&
33、quot;¥");步驟2:保存文件并運行程序,程序的運行結果如下所示.2. switch語句switch語句(多分支語句)是通過數(shù)據(jù)匹配的方式實現(xiàn)程序的多分支限制.switch(expression)casevalue1:statement1;break;casevalue2:statement2;break;).可以有多個case代碼塊casevalueN:statementN;break;)default:defaultstatement;)表達式expression的返回值類型只能是char、byte、short或int型.switch語句先取得表達式expressi
34、on的返回值,然后根據(jù)返回值依次與每個case語句所對應的value1,value2,valueN值匹配,如果匹配成功那么執(zhí)行對應的代碼塊.case語句所對應的value值必須為常量,而且各value值應當不同.break語句用來在執(zhí)行完相應的case分支語句后跳出switch語句,否那么將順序執(zhí)行后面的語句.default是可選的,當表達式的值與任何的value值都不匹配時,那么執(zhí)行default代碼塊.如果沒有default語句時,那么程序不做任何操作,直接跳出switch代碼塊.實例2-2輸出某年某個月的天數(shù)【實例描述】本程序運行時,將在屏幕上輸出指定年份中指定月份的天數(shù).讀者可通過此實
35、例進一步熟悉多分支語句switch的語法格式及其用法.【技術要點】一年有12個月,其中1、3、5、7、8、10、12月的天數(shù)為31天;4、6、9、11月的天數(shù)為30天;閏年時,2月份的天數(shù)為29天,其他年份為28天.判斷當前年份是否為閏年,如果為閏年,那么該年份應能被4整除,但不能被100整除,或者該年份能被400整除.步驟1:啟動Eclipse,在Chapter2包中創(chuàng)立類ShowDays,并編寫如下代碼.packageChapter2;importjava.util.Scanner;publicclassShowDayspublicstaticvoidmain(Stringargs)Sys
36、tem.out.println("請輸入年份:");ScannerinYear=newScanner(System.in);intyear=inYear.nextInt();輸入年System.out.println("請輸入月份:");ScannerinMonth=newScanner(System.in);intmonth=inMonth.nextInt();輸入月份intnumDays=0;switch(month)/以月份作為分支條件case1:case3:case5:case 7:case 8:case10:case12:numDays=31;
37、/1、3、5、7、8、10、12月天數(shù)為31break;/跳出switch語句case4:case6:case9:case11:numDays=30;/4、6、9、11月天數(shù)為30break;case2:對于2月,根據(jù)是否為閏年判斷當月天數(shù)if(year%4=0)&&!(year%100=0)|(year%400=0)numDays=29;elsenumDays=28;break;System.out.println(year+"年"+month+"月份"+"有"+numDays+"天");步驟2:
38、保存并運行程序,查看程序的運行結果.三、循環(huán)結構利用循環(huán)結構可以重復執(zhí)行某一段代碼,直到不滿足循環(huán)條件為止.循環(huán)結構主要有for、while和do-while三種循環(huán)語句.1. for語句for語句通常適用于明確知道循環(huán)次數(shù)的情況,其語法格式如下:for(initialization;condition;iteration)statement;循環(huán)的初始化(initialization):只在循環(huán)開始前執(zhí)行一次,通常在此進行迭代變量的定義.條件(condition)表達式:這是一個布爾類型表達式,如果其值為真,執(zhí)行循環(huán)體內(nèi)的語句(statement),如果為假那么結束循環(huán).迭代(iterati
39、on)表達式:通常是迭代變量的自增或自減運算表達式,在循環(huán)體執(zhí)行完畢時執(zhí)行.2. while語句3. do-while語句while語句通常用于重復執(zhí)行次數(shù)不確定的循環(huán),其語法格式如下:while(expression)statement;)expression是一個布爾表達式;while語句首先取得expression的返回值,當返回值為true時,執(zhí)行循環(huán)體中的語句statement:,否那么,循環(huán)結束.do-while語句與while語句的區(qū)別在于第一次循環(huán)時,while語句是先判斷循環(huán)條件,再循環(huán),如果條件為假,那么循環(huán)體不會被執(zhí)行.而do-while語句那么是先執(zhí)行循環(huán)體后判斷.do
40、-while語句的語法格式如下:dostatement;while(expression);實例2-3游戲中生命力購置問題【實例描述】在一場名為Game的游戲中,作為玩家的你手頭擁有假設干個金幣.為增加生命力,你需要購置仙女草和銀河梭兩件寶物.其中仙女草每件售價20個金幣,可增加玩家30個單位的生命力;銀河梭每件售價16個金幣,能夠增加玩家20個單位的生命力.編程求出一種最正確購置方案,使得用你的金幣購置的寶物能夠最大限度地增加你的生命力(不一定要用完所有金幣),并輸出最正確方案中每件寶物的購置數(shù)量.【技術要點】首先輸入金幣的數(shù)量,然后計算出這些金幣所能購置的仙女草和銀河梭的最大與最小數(shù)量;隨
41、后構造雙層嵌套的循環(huán)結構,外層循環(huán)以仙女草的數(shù)目為循環(huán)變量,內(nèi)層循環(huán)以銀河梭的數(shù)目為循環(huán)變量;循環(huán)體中找出能夠得到最大生命力的購置方案,并記錄下購置方案中各變量值,最后輸出結果.packageChapter2;importjava.util.Scanner;定義仙女草的售價定義銀河梭的售價定義仙女草增加的生命力定義銀河梭增加的生命力publicclassGamestaticfinalintFGVALUE=20;staticfinalintGSVALUE=16;staticfinalintFGLIFE=30;staticfinalintGSLIFE=20;publicstaticvoidmain
42、(Stringargs)intgoldcoin=100;定義金幣的數(shù)量intfg_num=0,gs_num=0;定義仙女草與銀河梭的數(shù)量intmax_life=0;定義最大生命力值System.out.println("請輸入金幣的數(shù)量為:");Scannerin=newScanner(System.in);goldcoin=in.nextInt();for(intfg_loop=0;fg_loop<=(goldcoin/FGVALUE);fg_loop+)for(intgs_loop=0;gs_loop<=(goldcoin/GSVALUE);gs_loop+)if(fg_l00P*FGVALUE+gs_loop*GSVALUE)<=goldcoin)&&(FGLIFE*fg_loop+GSLIFE*gs_loop)>max_life)fg_num=fg_loop;記錄仙女草的數(shù)量gs_num=gs_loop;記錄銀河梭的數(shù)量max_life=FGLIFE*fg_loop+GSLIFE*gs_loop;)System.out.println("購置的寶物最多能增加你"+
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省二級造價工程師之建設工程造價管理基礎知識高分通關題型題庫附解析答案
- 企業(yè)團隊拓展培訓
- 醫(yī)療培訓總結
- 重癥科進修匯報護理
- 提升安全意識教育培訓
- 腫瘤藥師臨床實踐
- 2025屆天津市九校高三下學期聯(lián)考歷史試題(含答案)
- 幼兒園小班社會端午節(jié)活動教案
- 途牛java開發(fā)面試題及答案一年
- 木樁素描試題及答案
- 荊州中學2024-2025學年高二下學期6月月考歷史試卷
- 2025-2030年中國婚慶產(chǎn)業(yè)行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2024-2025學年蘇教版四年級下學期期末測試數(shù)學試卷(含答案)
- 2025年新高考2卷(新課標Ⅱ卷)英語試卷
- 2025年中考化學必考要點知識歸納
- 三年級語文下冊全冊重點知識點歸納
- 公路養(yǎng)護材料管理制度
- JG/T 330-2011建筑工程用索
- 單位消防培訓課件教學
- 2024年湖北省初中學業(yè)水平考試地理試卷含答案
- 2024年認證行業(yè)法律法規(guī)及認證基礎知識 CCAA年度確認 試題與答案
評論
0/150
提交評論