第02章java語言基礎(chǔ)改2 4程序流程控制_第1頁
第02章java語言基礎(chǔ)改2 4程序流程控制_第2頁
第02章java語言基礎(chǔ)改2 4程序流程控制_第3頁
第02章java語言基礎(chǔ)改2 4程序流程控制_第4頁
第02章java語言基礎(chǔ)改2 4程序流程控制_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

標(biāo)識 數(shù)據(jù)類 常量和變 表達(dá) 語 概 分支語 循環(huán)語 跳轉(zhuǎn)語 數(shù) 一維數(shù) 二維數(shù) 字符串類 字符串常 字符串及初始 字符串處 習(xí)題 實驗二Java語言基 1JavaJava的標(biāo)識符、基本數(shù)據(jù)類型、運算字符串處理技術(shù):主要包括字符串常量與字符串變量;字符串處理的常用類(denfierJava語言中,標(biāo)識符由字母、數(shù)字、下 //為標(biāo)識注意:包含符號($)的關(guān)鍵字通常用得較少,盡管它在BASIC和VAX/VMS系統(tǒng)例 byvalveconst 型)表2-1了這8中基本數(shù)據(jù)類型可以表示數(shù)的范圍。2-1Java1102040 87482Java語言有三種復(fù)合類型:類(class)、接口(interface)和數(shù)組(array)。復(fù)合類型地址的方式進(jìn)行的。Java中的數(shù)據(jù)類型如圖2-1所示。類2-Java按照位的不同,Java語言的整型數(shù)據(jù)可分為byte、short、int、long四種,分別表示數(shù)據(jù)中,比如網(wǎng)絡(luò)傳輸數(shù)據(jù)或進(jìn)行二進(jìn)制數(shù)據(jù)的輸入/short類型在使用時要求JavaO打頭,數(shù)字字符intlong1L。注意:Java編程語言中的整數(shù)類型都是帶符號的數(shù)字。inta; //定義a為整型longb; //b為long型整數(shù)shortc; //c為short型整數(shù)byted; //d為byte型整數(shù)位),double則表示雙精度(64位)float型數(shù)運算的結(jié)果仍是float型,若有其中之一為double型,則結(jié)果為double型。doublefloat型的數(shù)時,就需要顯示說明,即在該數(shù)發(fā)生(上溢Overflow);而在遇到被零除時,會發(fā)生下溢(Underflow)。float double Java中,布爾型數(shù)據(jù)是獨立的數(shù)據(jù)類型,所以既不能將整數(shù)值賦給布爾變量,也不能將布爾類型的數(shù)轉(zhuǎn)換成整型或其它類型。布爾型數(shù)據(jù)在機(jī)器中位長為8位。booleanafalse;//afalsebooleanb=ture;//btureJavacharcharchar代表一個16-bit無符號的(不分正負(fù)的)Unicodechar16位的無符號整數(shù)。一個char文字必須包含在單引號內(nèi)(''。 JavaJava沒有無符號整型類型,因而字符型數(shù)據(jù)不能用作整數(shù),但可以通例:char 2-2轉(zhuǎn)義字 1~3 1~4 變量是一個保存數(shù)據(jù)的內(nèi)存區(qū)域的名稱。變量使用前必須先,然后才能對其賦值。變量的是指編輯器為特定數(shù)據(jù)類型的數(shù)值在內(nèi)存中分配合適的內(nèi)存空間,變量名必須符合2.1節(jié)的標(biāo)識符的規(guī)定,變量的說明可在使用位置之前的任何地方進(jìn)行。><例:inta=10; //整型變量a并賦值為10charb; //字符型變量b例:inti=0;//i是int類型的變量,并且i的初值為intx, char floatz=3.414f; doublew=3.1415;//雙精度浮點數(shù)并賦值booleantruth=true;//布爾型并賦值x= //xy c 常量是在程序運行的整個過程中保持值不變的量。Java語言中常量也是有類型的,包Java約定常量全部用大寫表示,常量只允許在定義時給出其值,并不允許在其后的程序中改finalintA=10; //整型常量A并賦值為10finalfloatB=1.23; //浮點型常量B并賦值為1.23單目運算符++、--可以位于操作數(shù)的前面,如++x或--x,也可以位于操作數(shù)的后面,x++、x--;無論單目運算符位于操作數(shù)的前面或后面,操作數(shù)完成單元運算后,并把結(jié)果例:int intb=1; 例:intint則 >=(大于等)instanceof(對象運算符)七種,主要用來比較兩個值,整型和實型可以混類型為布爾型,即返回布爾類型的值true或false。例: 5 和結(jié)果值都是布爾型,即返回布爾類型的值true或false。例:(3>5)&&(5>3)(3>5)||(5>3)//結(jié)果為按位或運算符(|)、按位異或運算符(^)、按位取反運算符(~)、左移位運算符(<<) 該位的結(jié)果為1。也就是說如果兩個相應(yīng)位相同,輸出位為0,否則為1。例:若a=1;b=2;則a^b=3。入位相反的值,若輸入0,則輸出1;輸入1,則輸出0。數(shù)據(jù)左移1位相當(dāng)于乘以2。例:int 例:inta=16,b; 運算符>>>0填充的右移,它執(zhí)行的是不帶符號的移位。即對以補碼表示的二進(jìn)制數(shù)操作時,在帶符號的右移中,右移后左邊留下的空位中添入的是原數(shù)的符號位(0,負(fù)數(shù)為1);在不帶符號的右移中,右移后左邊留下的空位中添入的一律是0。變量= <表達(dá)式>?<表達(dá)式1>:<表達(dá)式2>?例:inta=0; //a賦值為0int “new”,強制類型轉(zhuǎn)換運算符“(類型)”,方法調(diào)用運算符“()”等。2-1程 2-1: publicclassExample2_1publicstaticvoidmain(Stringargs[])inta=7+2;//intb=a*2;//intc=b/9;//intd=-a;//d=-inte=d%2;//e=-1doublef=17.5%4;//f=1.5inti=2;intj=i++;//intk=++i;//i=4,k=4System.out.println("a="+a);System.out.println("b="+b);System.out.println("c="+c);System.out.println("d="+d);System.out.println("e="+e);System.out.println("f="+f);System.out.println("i="+i);System.out.println("j="+j);System.out.println("k="+k);intx,y,z,w,v;xa&b二進(jìn)制數(shù)1001,也就是十進(jìn)制數(shù)ya|b二進(jìn)制數(shù)1111,也就是十進(jìn)制數(shù)za^b;二進(jìn)制數(shù)0110,也就是十進(jìn)制數(shù)6w=a<<2;//9*4=36v=c>>1;//8/2=4;System.out.println("x="+x);System.out.println("y="+y);System.out.println("z="+z);System.out.println("w="+w);System.out.println("v="+}}序。表2-3列出了Java中運算符的優(yōu)先級與結(jié)合性。2-3Java ·[]() !~++--+(一元)-(一元 */% <<>> <<=>=> 7=8&9^|=+=-/=|=^=程程 2-2:publicclassExample2_2publicstaticvoidmain(Stringargs[]){inta=10,b=3,sum,product;}}JavaJava在表達(dá)式后邊加上分號";"就是一個表達(dá)式語句。經(jīng)常使用的表達(dá)式語句有賦值語句和復(fù)合語句也稱為塊(block)程程 2-3:publicclassExample2_3publicstaticvoidmain(Stringargs[]){inta,i=3,j=4;a=i+j;{floatf;}}}流程控制語句提供了控制程序執(zhí)行步驟的基本,可以說是程序的部分,是任何一種程序語言都要提供的。Java同其它結(jié)構(gòu)化程序設(shè)計一樣,提供了許多流程控制語句。本②分支語句if-else語句;switch③循環(huán)語句:whiledo-while語句;forfor-eachif-else語句控制條件的轉(zhuǎn)移,if-else語句根據(jù)判定條件的真假來執(zhí)行兩種操作中的一種。if語句對給定的條件加以判斷,根據(jù)判定結(jié)果執(zhí)行相應(yīng)操作;如果表達(dá)式為真,執(zhí)行if語句體,如果為假,則執(zhí)行else后面的語句體。if語句分為簡單條件語句和復(fù)合條件語句,其語(單分支/雙分支if if(condition ②復(fù)合條件語句(多分支/if嵌套 elseif(condition2) elseif(condition3) if嵌套語句中,ifelseelse總是與離它最近的尚未匹配的if相匹配。程 2-4: importpublicclasspublicstaticvoidmain(String{System.out.println("inputthescore");Scannerinputscan=newScanner((System.in));intscore=inputscan.nextInt();charif(score90如果score大于90則grade為Agrade='A';}elseif(score80)如果score大于80則grade為Bgrade='B';}elseif(score70)如果score大于70則grade為Cgrade='C';}elseif(score60)如果score大于60則grade為Dgrade='D';}else如果其它則grade為Fgrade='F';}System.out.println("grade="+}}inputthescoreGrade=其功能是根據(jù)某個表達(dá)式的值在多個case引導(dǎo)的多個分支語句中選擇一個來執(zhí)行。switch表達(dá)式 case<常量N>: <語句N>; }breakcaseswitchswitch語句breakcase語句,直到結(jié)束。default子句是程序2-5:publicclassExample2_5publicstaticvoidmain(Stringargs[])floata=1;floatb=5;floatresult=0;charop='*';switch(op){case case'-':case'*':case'/':}}

while語句、do-while語句和for語句。}while語句執(zhí)行的過程為:執(zhí)行while語句時,首先判斷表達(dá)式的值,當(dāng)表達(dá)式程程 2-6:importpublicclasspublicstaticvoidmain(Stringargs[])intintfloatwhile(gradeCounter<5{System.out.println("inputthegrade");Scannerinputscan=newScanner((System.in));intgrade=inputscan.nextInt();total=total+grade;gradeCounter=gradeCounter+1;}averagefloat)total5System.out.println("averageaverage}}inputthegradeinputthegradeinputthegradeinputthegradeinputthegradeaveragedo-whileJavawhile語句類似的語句——do-while語句。如果需要循環(huán)執(zhí)行的語句至少執(zhí)行一次,可使用do-while語句,。do-while的基本格式為:dowhile條件表達(dá)式do-while語句先執(zhí)行一次循環(huán)體中的語句,然后測試表達(dá)式的值,如果布表達(dá)式的值為真,那就繼續(xù)執(zhí)行循環(huán)體,do-while語句將不斷地測試表達(dá)式的值并執(zhí)行循環(huán)體中的內(nèi)容,直到表達(dá)式的值為假為止。所以do-while語句的循環(huán)體至少執(zhí)行一次。另外do-while語句是可以與while語句互換的。程序2-7:publicclassExample2_7publicstaticvoidmain(Stringargs[])intcounter=doSystem.out.println("countercounter輸出whilecounter10} countercountercountercountercountercountercountercountercountercountercounterforfor語句是三個循環(huán)語句能最強,使用最廣泛的一個。for語句是Java語言中最靈活的一種控制結(jié)構(gòu),它有多種變形,可實現(xiàn)不同的循環(huán)功能。for語句的一般格式為:{}12for語句中循環(huán)控制變量必須是有序類型,常用的有整型、字符型、型。循環(huán)控制變和終值決定。for語句的執(zhí)行過程如下:程程 2-8:publicclassExample2_8 publicstaticvoidmain(String intsum=for(intnumber=2;number<=100;number+=2){sum+=number;}System.out.println("sum="+} sum5.0新增的,它表示收集一個集合中的各元素,并針對各個元素執(zhí)行內(nèi)嵌語for-each循環(huán)中,可以指定需要遍歷的對象集合以及用來接 }其中類型(type)和標(biāo)識符(identifier)用來循環(huán)變量,表達(dá)式(expression)對應(yīng)量是一個只讀型局部變量如果試圖改變它的值或?qū)⑺鳛橐粋€ref或out類型的參數(shù)傳遞,都將編譯時錯誤。foreach語句中的expression必須是集合類型如果該集合的元素程程 2-9:publicclassExample2_9publicstaticvoidmain(Stringintintfor(intSystem.out.println("valueis"+x);}System.out.println("summationis} valueisvalueisvalueisvalueisvalueissummationis從而執(zhí)行該結(jié)構(gòu)后面的第一條語句。break語句常用于提前從循環(huán)退出或跳過switch結(jié)構(gòu)的break標(biāo)號其中,用“”括起的標(biāo)號部分是可選的。breakcontinue語句都有兩種使用的形帶標(biāo)號的break語句,在執(zhí)行時有兩個特點:一是在有多重循環(huán)時,它只能使循環(huán)從本層下所示:標(biāo)號:語句程程 2-10:publicclasspublicstaticvoidmain(Stringargs[])intfor(x=1;x<=10;x++)if(x==5 //break當(dāng)x=5System.out.println("xx);}}}xxxxbreakswitch、for、whiledo-while,breakbreak語句中所帶的標(biāo)號來實現(xiàn)。C然Java不支持goto語句,但其保留了標(biāo)號語句的使用。continuecontinuewhile、fordo/while結(jié)構(gòu)中執(zhí)行時跳過該結(jié)構(gòu)體的其余語句,進(jìn)入下whiledo-whilecontinue語句之后立即求值。for結(jié)構(gòu)中,執(zhí)行遞增表達(dá)式,然后進(jìn)行循環(huán)條件測試。前面曾介紹過.while結(jié)構(gòu)可以在forwhilecontinue語句之后,則會出whilefor的執(zhí)行方式是不同的。[程程 2-11:importpublicclassExample2_11publicstaticvoidmain(String{System.out.println("inputthestring");Scannerinputscan=newScanner((System.in));Stringstr1=inputscan.next();StringBufferstr2=newStringBuffer(str1);//字符串intcount=for(inti=0;i<str2.length();i++)if(str2.charAt(i)!=continue;//}

System.out.println("count="+count); inputthestring此時,continue語句跳過標(biāo)號所指語句塊中的所有余下部分語句,回到標(biāo)號所指語句塊程程 2-12:importpublicclassExample2_12publicstaticvoidmain(String{System.out.println("inputthestringSourceStr:");Scannerinputscan=newScanner((System.in));StringSourceStr=inputscan.next();System.out.println("inputthestringMatchStr:");Scannerinputscan2=newScanner((System.in));Stringbooleanfound=false;for(inti=0;i<=SourceStr.length()-MatchStr.length();intn=intj=intk=while(n--!=0)if(SourceStr.charAt(j++)!=continue}found=true;breakMatch;}

System.out.println("TheMatchresultis:"+(found?"Foundit":"Didn'tfind}inputthestringinputthestringTheMatchresultis:Didn'tfind。當(dāng)建立一個數(shù)組后,就不能輕易地改變它的大小。當(dāng)你試圖對數(shù)組邊界外的任何一個元素進(jìn)行時,程序運行就會中止,但編譯的時候可以通過。數(shù)組作為一種特殊的數(shù)數(shù)據(jù)類 數(shù)組名[ 數(shù)據(jù)類型[]數(shù)組名“[]”部分指明該變量是一個數(shù)組類型變量。例:intArray1[]; //定義整型數(shù)組Array1[]floatArray2[]; //定義浮點型數(shù)組Array2[]例:int a=new //數(shù)組初始化就是為數(shù)組元素指定初始值。通常在構(gòu)造數(shù)組時,Java會使每個數(shù)組元素初例:int length。企圖使用小于零或大于數(shù)組長度的下標(biāo)都會引起越界異常(例如,數(shù)組的最大下標(biāo)為5,但是在程序中存取了下標(biāo)為8或-4的元素。程程 2-13:importpublicclasspublicstaticvoidmain(Stringintfor(inti=0;i<a.length;i++)System.out.print(a[i]+"");for(inti=0;i<a.length;i++)System.out.print(a[i]+"");}}3431260701233467程 2-14: publicclassExample2_14publicstaticvoidmain(Stringargs[])intinttln(""+a[i]);}}System.out.println("\nthemaxis:}}1234themaxis:程序2-15:publicclassExample2_15publicstaticvoidmain(Stringargs[])intfor(i=0;i<5;i++)}}} *制,來加深我們對數(shù)組的認(rèn)識。我們使用冒泡排序(BubbleSort)方法,較少的數(shù)值慢慢從程 2-16: publicclassExample2_16publicstaticvoidmain(Stringintinta[]={2,6,4,8,10,12,89,68,45,37inti,System.out.println("Dataitemsinoriginalfor(i=0;i<arraysize;i++{System.out.print("}for(intpass=0;pass<arraysize-1;pass++)for(i=0;i<arraysize-1;i++if(a[i]>a[i+1]{hold=a[ia[i]=a[i+1];a[i+1]=hold;}}}System.out.println("\nDataitemsinascendingfor(i=0;i<i++){System.out.print(" }}Dataitemsinoriginal26481012896845Dataitemsinascending24681012374568a[9]109次比較。由于連續(xù)進(jìn)行比較,因此一次即可能將大值向22a[8]99a[1]a[0],因hold=a[i];a[i]=a[i+1];a[i+1]=的:a[i]=a[i+1];a[i+l]=a[因此要先用變量ho1d臨時保存要交換的兩個值之一。數(shù)據(jù)類型數(shù)組名[][];數(shù)據(jù)類型[]數(shù)組名例:inta[][ 例:intanewint[33];例:inta[][]=newint[3][ a[0]=newint[3]; //最高維第一個元素是一個長度為3的整型數(shù)組a[1]=newint[5]; //最高維第二個元素是一個長度為5的整型數(shù)組a[2]=new //最高維第二個元素是一個長度為2的整型數(shù)數(shù)組名[下標(biāo)1][下標(biāo)2]如:a[1][2]、b[i][j]等程程 2-17:publicclassExample2_17publicstaticvoidmain(Stringintarrayl12345,6;//數(shù)組arrary1intarray2[][]=newint[2][3];inti,j;;//}}for(i=0;i<2;i++)//}}for(i=0;i<2;i++) }}}}程程 2-18:publicclassExample2_18publicstaticvoidmain(Stringargs[])intintrow=0,colum=0,i,j,min;for(i=0;i<=1;i++){}}System.out.println("row="+row);//輸出最小值所在行System.out.println("columcolum);//輸出最小值所在列} colum=2【例程程 2-19:publicclassExample2_19publicstaticvoidmain(StringStringintclassSize=intMarknewint[classSize][4定義Mark ("\}for for(j=0;j<4;j++)Mark[i][j]=(int)(70*Math.random());//由隨機(jī)函數(shù)取得成績System.out.print("\t }}} 8754轉(zhuǎn)義字符:\。字符變量:Charch=‘s’; oWorld!"是一個長度為12的字符串。則為空串。Java允許在字符串中出現(xiàn)轉(zhuǎn)義字符。如:"oJava允許使用+號把兩個字串連接起來。連接一個字串和一個非字串值時,后者被轉(zhuǎn)換("Stringa; //字符串a(chǎn)StringBufferb; //可變字符串bStringc=newStringd="oStringString類是字符串常量類,該類對象在建立后不能修改。Java編譯器保證每個字符串常量都是String類對象。用雙引號括住的一串字符即為字符串常量,比如“ etoJava!",在通過編譯器編譯后成為String對象。因而,實例化一個String類對象既可以通過字符串常①StringString類可用字符串常量對其初始化,也可調(diào)用其構(gòu)造方法來進(jìn)行。例:Strings=" etoJava!";Stringstr="thisisa2-4String String(charString(charvalue[],intoffset,int

String(charvalue[],inthibyte,intoffset,int 及得到某個字符或子串在字符串中的索引位置等。String類的功能很強,幾乎覆蓋了所有的的方法主要有l(wèi)ength()、charAt()、indexOf()、lastIndexOf()、getChars()、getBytes()、toCharArray()等方法。表2-5給出了一些常用的字符串運算方法。2-5String方 charAt(int substring(intbeginindex) beginindex位置(包括該位置)開始到結(jié)尾的所有字符beginindex位置(包括)endindex(不包括)

compareTo(String ooffset,int endWith(String indexOf(int rece(charoldChar,charnewChar) 將字符串中oldChar字符替換成newChar字符valueOf(Objectobj) ①publicStringconcat(String例:StringString 例:Stringage=“9”;Strings=“Heis”+age+”yearsSystem.out.println(s);//將三個字符串連起來,結(jié)果為“Heis9years例:intage=9;Strings=“Heis”+age+”years 例:charchars[]={‘a(chǎn)’,’b’,’c’};Strings=newString(chars);System.out.println(s.length()); publiccharcharAt(int的索引是length()-1。例:char ①publicint 比較過程中,沒有發(fā)現(xiàn)不同的地方,則表明兩個字符串是完全相等的,compareTo方法返回compareTo方法返回一個大于0的整數(shù),否則返回一個小于0的整數(shù)。②publicbooleanequals(Object類的方法。該方法比較當(dāng)前字符串和參數(shù)字符串,在兩個字符串相等的時候返回true,否則返回false。例:Strings=“Abcd”;Strings1=“abcd”;booleani=s.equals(s1);boolean ①publicStringsubstring(intStringStrings1=s.substring(0);Strings2=s.substring(2);Strings3=s.substring(8);②publicStringsubstring(intbeginIndex,int子串返的長度為endIndex-beginIndex。例:Strings=“abcdefgh”;Strings1=s.substring(0,3);Strings2=s.substring(2,4);Strings1返回的值為“abc”;s2返回的值為“cd”;s3返回的值為“defg”①publicintindexOf(intchch在字符串中第一次出現(xiàn)的位置;如果在整個字符串中沒有找到字符ch,則返回-1。例:Stringinta=s.indexOf(‘e’);//a4②publicintindexOf(intch,int字符ch在字符串第一次出現(xiàn)的位置。例:Stringinta=s.indexOf(‘e’);//a4intb=s.indexOf(‘e’,3);//b4intc=s.indexOf(‘e’,5);//c的值為-是字符ch在字符串第一次出現(xiàn)的位置。④publicintlastIndexOf(intch,int字符ch在字符串第一次出現(xiàn)的位置。①publicintindexOf(String②publicintindexOf(Stringstr,int④publicintlastIndexOf(Stringstr,int①publicString②publicStringpublicString①publicStringrece(charoldChar,char②publicStringre regex,Stringre該方法用字符串recement的內(nèi)容替換當(dāng)前字符串中遇到的第一個和字符串regex相③publicStringreceAll(Stringregex,Stringre該方法用字符串recement的內(nèi)容替換當(dāng)前字符串中遇到的所有和字符串regex相一致注意:String中對字符串的操作不是對源操作串對象本身進(jìn)行的,而是對新生成的一個程程 2-20:publicclassExample2_20publicstaticvoidmain(String{Stringa=" Strings1=newString();Strings2=newString("Stringcharchars[]={'h','e','l','l','o'};Strings3=newString(chars);System.out.println("TheStringNo.1is"+s1);System.out.println("TheStringNo.2is"+s2);System.out.println("TheStringNo.3is"+s3);} TheStringNo.1TheStringNo.2isString2TheStringNo.3is 程程 2-21:publicclassExample2_21publicstaticvoidmain(String{Strings1=" Strings2="Wold";for(inti=0;i<s1.length();i++){} if(s1.indexOf(s2)!=-{System.out.println("s2是s1的子串");} }} 或部分字符創(chuàng)建字符串對象。String類也提供了將字符串保存到數(shù)組中的方法:PublicvoidgetChars(intstrart,intend,charc[],int字符中從位置start到end-1位置的字符到數(shù)組c中,并從數(shù)組c的offset處開始存放。Public程程 2-22:publicclassExample2_22publicstaticvoidmain(String[]Strings="哈哈charfor(int{}Stringsecret=newString(a);for(inti=0;i<a.length;i++) } Stringcode=new }}StringStringBuffer類是字符串緩沖Java中,StringBuffer類是一個可以修改的字符串對象,使用起來比String類更加靈活、方便。與String類類似,StringBuffer類方法很多,下面我們也從初始化與方法兩個方面StringBuffers="2-6StringBuffer函 2-7StringBuffer類的方法方 charAt(int setCharAt(intindex,char append(Object insert(intoffset,Object appendStringBuffer對象所包含的字符,該方法將指定的參數(shù)對象轉(zhuǎn)化為StringBufferStringBuffer對象。附加的的參數(shù)對象可以是各種數(shù)據(jù)類型的,如int、char、String、double等。②.publicStringBufferinsert(int插入位置,參數(shù)對象類型,參數(shù)對象名的位置,并返回新的StringBuffer對象。StringBuffer類對象的長度指的是它包含的字符個數(shù);容量指的是被分配的字符空①publicint②publicintStringBufferpublicvoidsetCharAt(intindex,char例:stringBuffera=newStringBuffer(" //a="o"a.setCharAt(0,'h'); //a="oWorld!" //a=" oWorld!value" //a=" a.insert(15,"="); oWorld!value=true"程程 2-23:publicclassExample2_23publicstaticvoidmain(String{Strings="465xixihaha";inti=s.length();StringBufferbuffer=newfor(intj=i-1;j>=0;j--{}}}StringBuffer類中的方法stringBufferappend(charstr[])用于將字符數(shù)組添加到StringBufferappend(charstr[],intoffset,intlen)Str[]中從Offset開始的len個字符添加到StringBuffer中。java.util包中的StringTokenizer類,StringTokenizer類的主要用途就是將字符串以定界符為界,分析為一個個的token(可理解為單詞),定界符可以自己指定。例:StringTokenlizerfenxi=newStringTokenizer(“Wearestudent”);StringTokenlizerfenxi=newStringTokenizer(“We,are;student”,”,:”);我們把一個StringTokenzier對象作一個字符串分析器。一個分析器可以使用nextToken()方法逐個獲取字符串中的語言符號(單詞),每當(dāng)調(diào)用nextToken()時,都將在字符串中while用StringTokenizer類中的hasMoreTokens()方法,只要字符串中還有語言符號,該方法就參數(shù):str-NullPointerException。參數(shù):str-要解析的字符串。delim-拋出:NullPointerException-strnull為指定字符串構(gòu)造一個stringtokenizer。delim參數(shù)中的所有字符都是分隔標(biāo)記的分隔符。如果returnDelims標(biāo)志為true,則分隔符字符也作為標(biāo)記返回。每個分隔符都作為1false,參數(shù):str-要解析的字符串。returnDelims-指示是否將分隔符作為標(biāo)記返回的標(biāo)志。拋出:NullPointerException-如果str為null。程程 2-24:importpublicclassExample2_24publicstaticvoidmain(String[]args)StringTokenizerst=newStringTokenizer("thisisatest","e",true);while(st.hasMoreTokens()) }}}thisisatJava中的+運算符的特殊功能方便地將許多其它的Java數(shù)據(jù)類型的字符串表示法添加到字符串,例:System.out.println("Averageis"+a);程程 2-25:publicclassExample2_25publicstaticvoidmain(Stringintfloatdouble IntegerA=newInteger(a);//生成integer類FloatB=newFloat(b); DoubleC=newDouble(c);//生成double類Stringx=A.toString();Stringy=B.toString();Stringz=C.toString();}}1.已知:inta=8,b=6; 2.已知:booleanb1=true,b2; 則:表達(dá)式!b1&&b2||b2的值為( 3.已知:doublex=8.5,y=5.8; 則:表達(dá)式x++>y—值為( 已知:inta[ 執(zhí)行intx,a=2,b=3,c=4;x=++a+b+++c++;后結(jié)果是 )Java中的顯式類型轉(zhuǎn)換既能( 在Java中,字符串和數(shù)組是作為 )出現(xiàn)的 inta=10; inti,j; i=++a; j=a--;System.out.printf("%d,%d,%d",a,i,j);booleanx=falsebooleany=truebooleanz=(x&&y)&&(!yint D.instanceofF.end-下列 B.- 已知inti=2147483647;++i;則i的值等于 A.-2147483 B.2147483 C.2147483若x=5,y=8,則表達(dá)式x|y的值為 若定義有變量floatf1,f2=8.0F,則下列說法正確的是 變量f1,f2均被初始化為8.0 B.變量f1沒有被初始化,f2被初始化為8.0C.變量f1,f2均未被初始 D.變量f2沒有被初始化,f1被初始化為基本數(shù)據(jù)類型short的取值范圍是 A(- B( C(- D.0~65下列 doubled= B.chara1= C.inti= D.floatf1若定義有shorts;byteb;charc;則表達(dá)式s*b+c的類型為 C.int intdo ( publicvoidmodify()intI,j,I=while(I>0)j=I*System.out.println("Thevalueofjis"+k=k+ A.line4 B.line6 C.line7 D.line8 A.int[]c=new B.int[][3]=newint[2][C.int[]a;a=newint; D.charb[];b=newchar[80];12.執(zhí)行String[]s=newString[10];語句后,哪些結(jié)論是正確的( A.s[0]為未定義 B.s.length為10C.s[9]為null D.s[10]為"" 14.下面的表達(dá)式哪些是正確的?( Strings="你好";inti=3;Strings="你好";inti=3;if(i==sStrings="你好";inti=3;Strings="你好";inti=3;Strings=null;inti=(s!=null)&&(s.length()>0)?s.length():0; A. B.long publicclassT18staticintarr[]=newint[10];publicstaticvoidmain(Stringa[]){} 若Strings=" o";Stringt=" charc[]={'h','e','l','l','o'};則下列哪些表達(dá)式返回true?( case0:System.out.println("casecase1:System.out.println("case1");casedefault:} A.00000100000000000000000000000000<<51000000000000000000000000000B.00000100000000000000000000000000<<51111110000000000000000000000C.11000000000000000000000000000000>>51111111000000000000000000000D.11000000000000000000000000000000>>50000011000000000000000000000Java語言使用的是Unicode字符集,每個字符在內(nèi)存中占8位 已知bytei= i=i+1;這兩個語句能被成功編譯

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論