版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
JAVA語言程序設(shè)計(jì)6.1數(shù)組的基本概念6.2多維數(shù)組6.3String類6.4數(shù)組案例本章小結(jié)第6章
數(shù)組和字符串教學(xué)目標(biāo):數(shù)組和字符串是Java當(dāng)中最常用的類類型。本章主要介紹一維數(shù)組和二維數(shù)組的基本概念及常用方法,幾種常用的字符串類的基本概念和常用方法。并結(jié)合實(shí)例說明數(shù)組和字符串的在工程中的應(yīng)用。教學(xué)重點(diǎn):掌握J(rèn)ava中數(shù)組和字符串的概念。掌握數(shù)組和字符串中常用方法。了解幾種字符串類的區(qū)別。第6章
數(shù)組和字符串6.1.1基本概念有時(shí)候,我們需要定義多個(gè)同類型的變量,表示一組相同意義的值。如一個(gè)班有30名學(xué)生,該班級(jí)學(xué)生的數(shù)學(xué)成績需要定義30個(gè)變量來表示。這是很繁雜的工作,在操作中也十分不方便。為了解決這樣的問題,Java提供了一種數(shù)據(jù)類型——數(shù)組。數(shù)組允許用戶使用同一個(gè)名字存放一組相同類型的數(shù)據(jù)。但需要注意,數(shù)組是一個(gè)類,該類的作用是存放一組相同類型的變量。1.聲明為了使計(jì)算機(jī)操作系統(tǒng)具有更好的并發(fā)性,減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,在操作系統(tǒng)中引入了線程的概念。線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)調(diào)度和分配的基本單元,每個(gè)程序至少包含一個(gè)線程,就是“主線程”。6.1數(shù)組的基本概念6.1.1基本概念1.聲明數(shù)組聲明的格式:類型數(shù)組名[];如inta[];
chars[];上面兩行分別是聲明了一個(gè)整型的數(shù)組和一個(gè)字符型的數(shù)組,數(shù)組的名字分別是a和s。但因?yàn)閿?shù)組是類,所以a和s是數(shù)組類的引用。就算數(shù)組中存儲(chǔ)的數(shù)據(jù)是基本數(shù)據(jù)類型,一個(gè)數(shù)組也是一個(gè)對象。在Java中也允許將[]放到數(shù)組名字的前面。如:int[]a;
char[]s;這種方法更容易理解,聲明一個(gè)整形數(shù)組,數(shù)組名字為a。這與聲明一個(gè)基本類型的格式是一致的。6.1數(shù)組的基本概念6.1.1基本概念2.初始化聲明一個(gè)類的引用并沒有在內(nèi)存中為數(shù)據(jù)開辟空間,需要初始化后才能使用。數(shù)組有兩種初始化的方法:靜態(tài)初始化和動(dòng)態(tài)初始化。(1)靜態(tài)初始化:數(shù)組在聲明的同時(shí)進(jìn)行賦值初始化。如要定義一個(gè)有5個(gè)元素的整型數(shù)組方法如下:inta[]={1,2,3,4,5};6.1數(shù)組的基本概念6.1.1基本概念2.初始化聲明一個(gè)類的引用并沒有在內(nèi)存中為數(shù)據(jù)開辟空間,需要初始化后才能使用。數(shù)組有兩種初始化的方法:靜態(tài)初始化和動(dòng)態(tài)初始化。(2)動(dòng)態(tài)初始化:數(shù)組在聲明時(shí),使用new運(yùn)算符開辟空間,指定數(shù)組長度。同樣要定義一個(gè)有5個(gè)元素的整型數(shù)組的動(dòng)態(tài)初始化方法如下:inta[]=newint[5];或者是:inta[];a=newint[5];然后再對數(shù)組a的5個(gè)元素賦值。a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;6.1數(shù)組的基本概念6.1.1基本概念3.數(shù)組的邊界當(dāng)定義完數(shù)組并為其分配了內(nèi)存空間后,就可以引用數(shù)組中的每一個(gè)元素了。數(shù)組的邊界下標(biāo)是從0開始的,一直到數(shù)組的長度減1。index為數(shù)組下標(biāo),可以是整型常數(shù)或表達(dá)式,如上面提到的整形數(shù)組a的5個(gè)元素分別是a[0],a[1],a[2],a[3],a[4]。數(shù)組的下標(biāo)也可以用表達(dá)式來計(jì)算,如a[i*2]等。在Java中,數(shù)組有一個(gè)length屬性是專門用于存儲(chǔ)數(shù)組長度的。a.length代表數(shù)組a的長度,它的值就是5。6.1數(shù)組的基本概念publicclassExample6_1{ publicstaticvoidmain(Stringargs[]){ int[]a=newint[6];//定義數(shù)組a inti; for(i=0;i<6;i++){ a[i]=i*2;//數(shù)組a每個(gè)元素賦值 System.out.println("a["+i+"]="+a[i]); }//打印結(jié)果 }}【例6-1】定義一個(gè)長度為6的數(shù)組,并為其賦值,每個(gè)元素的值就是它的下標(biāo)的二倍,然后將數(shù)組打印出來。6.1.2數(shù)組的拷貝3.數(shù)組的邊界數(shù)組是一個(gè)類的對象,當(dāng)需要將一個(gè)數(shù)組里面的元素復(fù)制給另外一個(gè)數(shù)組時(shí),直接賦值是行不通的。下面的例子說明了這個(gè)問題?!纠?-2】定義兩個(gè)數(shù)組a,b,將數(shù)組a賦值后,要求將數(shù)組a的值一一對應(yīng)賦給數(shù)組b。改變a元素的值,查看數(shù)組b的值是否發(fā)生變化。6.1數(shù)組的基本概念publicclassExample6_2{ publicstaticvoidmain(Stringargs[]){ inta[]={1,2,3,4,5};//定義數(shù)組a,b intb[]; b=a;//將a的值賦給b a[3]=100;//改變a[3]的值; for(inti=0;i<5;i++){ System.out.println(b[i]);//打印數(shù)組b} }}【例6-2】定義兩個(gè)數(shù)組a,b,將數(shù)組a賦值后,要求將數(shù)組a的值一一對應(yīng)賦給數(shù)組b。改變a元素的值,查看數(shù)組b的值是否發(fā)生變化。publicclassExample6_3{ publicstaticvoidmain(Stringargs[]){ inta[]={1,2,3,4,5};//定義數(shù)組a,b intb[]=newint[5]; System.arraycopy(a,0,b,0,5);//將a的值賦給b a[3]=100;//改變a[3]的值; for(inti=0;i<5;i++){ System.out.println(b[i]);//打印數(shù)組b} }}【例6-3】定義兩個(gè)數(shù)組a,b,將數(shù)組a賦值后,要求將數(shù)組a的值一一對應(yīng)賦給數(shù)組b。改變a元素的值,查看數(shù)組b的值是否發(fā)生變化。publicclassExample6_4{ publicstaticvoidmain(String[]args){ Pointp[]=newPoint[10];//聲明10個(gè)元素的數(shù)組; inti; for(i=0;i<10;i++){ p[i]=newPoint(i); //從原點(diǎn)起為數(shù)組賦值; } System.out.println("函數(shù)上的10個(gè)坐標(biāo)點(diǎn)為:"); for(i=0;i<10;i++){ System.out.print("第"+(i+1)+"個(gè)坐標(biāo)點(diǎn)為:"); System.out.println("x="+p[i].x+",y="+p[i].y); }//打印坐標(biāo)點(diǎn);}}classPoint{//坐標(biāo)點(diǎn)類 floatx; floaty; publicPoint(floatx){ this.x=x; this.y=3*x;//坐標(biāo)點(diǎn)賦值;}}【例6-4】要求打印出函數(shù)y=3x在坐標(biāo)軸上的10個(gè)坐標(biāo)點(diǎn)。多維數(shù)組被看作是存儲(chǔ)數(shù)組的數(shù)組。比如二維數(shù)組是一個(gè)特殊的一維數(shù)組,其每一個(gè)元素又是一個(gè)一維數(shù)組,如下圖所示。三維數(shù)組是一個(gè)特殊的一維數(shù)組,其存儲(chǔ)的每一個(gè)元素是一個(gè)二維數(shù)組。以此類推,高維數(shù)組都可以看做是一個(gè)一維數(shù)組,每個(gè)元素都是一個(gè)數(shù)組。本節(jié)主要以二維數(shù)組為例來說明。6.2多維數(shù)組6.2.1基本知識(shí)1.聲明二維數(shù)組聲明的格式:類型數(shù)組名[][];例如:inta[][];chars[][];也可以采用另一種聲明方式:int[][]a;char[][]s;6.2多維數(shù)組6.2.1基本知識(shí)2.初始化同一維數(shù)組一樣,二維數(shù)組在聲明后也需要初始化才能使用。二維數(shù)組的初始化也分為靜態(tài)初始化和動(dòng)態(tài)初始化。(1)靜態(tài)初始化:數(shù)組在聲明的同時(shí)進(jìn)行賦值初始化。如初始化一個(gè)二維的整型數(shù)組方法如下:inta[][]={{1,2},{3,4},{5,6}};這時(shí)不用指出數(shù)組每一維的大小,系統(tǒng)會(huì)根據(jù)初始化的值,自動(dòng)計(jì)算每一維的大小是多少。數(shù)組a有3個(gè)大元素,因此最高維的大小是3。每個(gè)大元素里又有2個(gè)小元素,因此低維的大小是2。也可以說這是一個(gè)3行2列的數(shù)組。6.2多維數(shù)組6.2.1基本知識(shí)2.初始化同一維數(shù)組一樣,二維數(shù)組在聲明后也需要初始化才能使用。二維數(shù)組的初始化也分為靜態(tài)初始化和動(dòng)態(tài)初始化。(2)動(dòng)態(tài)初始化:數(shù)組在聲明時(shí),使用new運(yùn)算符開辟空間,指定數(shù)組長度。同樣要定義一個(gè)3行2列的數(shù)組動(dòng)態(tài)初始化方法如下:inta[][]=newint[3][2];或者是:inta[][];a=newint[3][2];然后再對數(shù)組a的每一個(gè)元素賦值。a[0][0]=1;a[0][1]=2;a[1][0]=3;a[1][1]=4;a[2][0]=5;a[2][1]=6;6.2多維數(shù)組6.2.1基本知識(shí)2.初始化同一維數(shù)組一樣,二維數(shù)組在聲明后也需要初始化才能使用。二維數(shù)組的初始化也分為靜態(tài)初始化和動(dòng)態(tài)初始化。需要特殊注意的是,Java的高維數(shù)組允許里面每一個(gè)數(shù)組元素的長度是不同的。如下面是一個(gè)二維字符型數(shù)組的聲明和初始化。charc[][]=newchar[3][];c[0]=newchar[3];c[1]=newchar[5];c[2]=newchar[4];c[0][0]=’e’;c[0][1]=’g’;c[0][2]=’g’;c[1][0]=’t’;c[1][1]=’o’;c[1][2]=’u’;c[1][3]=’c’;c[1][4]=’h’;c[2][0]=’m’;c[2][1]=’o’;c[2][2]=’o’;c[2][3]=’n’;6.2多維數(shù)組6.2.1基本知識(shí)3.下標(biāo)引用多維數(shù)組的每一維的數(shù)組邊界下標(biāo)都是從0開始的。也是用length屬性存儲(chǔ)數(shù)組長度。a.length代表數(shù)組a的最高維的長度,它的值就是3。對于二維字符型數(shù)組c來說,定義變量獲取它每一維的長度。intx=c.length;intx1=c[0].length;intx2=c[1].length;intx3=c[2].length;這時(shí),x的值是3,x1的值是3,x2的值是5,x3的值是4。6.2多維數(shù)組6.2.2異類集合前面介紹的數(shù)組內(nèi)容都是相同類型的對象,這種對象集合稱為同類集合。Java中也允許不同類的對象放到一個(gè)數(shù)組中,這種對象集合稱之為異類集合。在前面第三章介紹過Empoloyee是員工類,Manager是經(jīng)理類,Empoloyee是Manager類的父類。可以定義一個(gè)數(shù)組,將父類的Empoloyee類的對象和子類的Manager類的對象都存儲(chǔ)在一起。ObjectA[]=newObject[5];A[0]=newObject();A[1]=newEmpoloyee();A[2]=newManager();需要注意的是,這樣的異類集合在聲明時(shí),一定要聲明為父類的類型。如上面涉及到三個(gè)類,A聲明為Object類型的對象。這樣才能存放子類的對象。這是符合第三章中介紹的多態(tài)的賦值規(guī)則的。6.2多維數(shù)組publicclassExample6_5{ publicstaticvoidmain(String[]args){ floatscore[][]=newfloat[10][4];//存放成績的數(shù)組; inti,j; floatsum,ave;//第一個(gè)學(xué)生的成績; score[0][0]=78;score[0][1]=69;score[0][2]=84; score[1][0]=69; score[1][1]=67; score[1][2]=88; score[2][0]=85; score[2][1]=98; score[2][2]=71; score[3][0]=66; score[3][1]=73; score[3][2]=65; score[4][0]=88; score[4][1]=64; score[4][2]=62; System.out.println("學(xué)生\t數(shù)學(xué)\t英語\t語文\t平均分"); for(i=0;i<5;i++){ sum=0; System.out.print("第"+(i+1)+"個(gè):"); for(j=0;j<3;j++){ System.out.print(score[i][j]+"\t"); sum=sum+score[i][j];//三科成績的和; } ave=sum/3; score[i][3]=ave;//平均值放到數(shù)組中; System.out.println(score[i][3]);}}}【例6-5】用數(shù)組存儲(chǔ)10個(gè)學(xué)生的數(shù)學(xué)英語語文三科成績,并計(jì)算每個(gè)學(xué)生的平均成績。在Java中有兩種類型的字符串,一種是創(chuàng)建以后不能改變的字符串常量,另一種是創(chuàng)建后可以進(jìn)行各種修改操作的字符串變量。String類用于存儲(chǔ)和處理不能改變的字符串常量;StringBuffer類和StringBuilder類都可以用于存儲(chǔ)和操作字符串變量。6.3String類6.3.1基本知識(shí)String類是Java語言中提供的系統(tǒng)類,用于表示字符串,類中已定義了字符串的構(gòu)造器和常用方法。String對象是不變的unicode字符序列。String類表示的字符串其內(nèi)容不能修改,長度也是確定,相當(dāng)于字符串常量。他的最基本元素是字符,一個(gè)字符可以是字母、數(shù)字、標(biāo)點(diǎn)符號(hào)或其他的符號(hào)。6.3String類6.3.1基本知識(shí)1.字符串的實(shí)例化字符串對象的實(shí)例化有兩種方式,一種是直接創(chuàng)建字符串,另一種是調(diào)用String類的構(gòu)造方法來創(chuàng)建。下面分別說明如下:(1)直接賦值
字符串常量是可以是用雙引號(hào)括住的一串字符串,例如"Hello",從形式上看于其他語言沒有什么差別,而實(shí)際上用雙引號(hào)括起來的字符串常量是被Java默認(rèn)為創(chuàng)建了一個(gè)String類的無名對象。也可以通過直接賦值的形式來對字符串進(jìn)行實(shí)例化。Strings="HelloWorld!";Stringname="王琳";這些方式都是給字符串直接賦值。6.3String類6.3.1基本知識(shí)1.字符串的實(shí)例化字符串對象的實(shí)例化有兩種方式,一種是直接創(chuàng)建字符串,另一種是調(diào)用String類的構(gòu)造方法來創(chuàng)建。下面分別說明如下:(2)調(diào)用構(gòu)造方法
String類的構(gòu)造方法很多。下面將舉例說明我們常用的構(gòu)造方法和使用每一種構(gòu)造方法創(chuàng)建String對象的過程。①String();無參的構(gòu)建器,用來創(chuàng)建一個(gè)空字符串。例如:Strings=newString();②String(字符串參數(shù));用一個(gè)現(xiàn)有的字符串來創(chuàng)建新對象。例如:Strings=newString("abc");Strings1=newString(s);6.3String類6.3.1基本知識(shí)1.字符串的實(shí)例化字符串對象的實(shí)例化有兩種方式,一種是直接創(chuàng)建字符串,另一種是調(diào)用String類的構(gòu)造方法來創(chuàng)建。下面分別說明如下:(2)調(diào)用構(gòu)造方法
String類的構(gòu)造方法很多。下面將舉例說明我們常用的構(gòu)造方法和使用每一種構(gòu)造方法創(chuàng)建String對象的過程。③String(char[]);用字符型數(shù)組作為參數(shù)來創(chuàng)建新對象。charcharArray[]={'H','e','l','l','o'};Strings1=newString(charArray);6.3String類6.3.1基本知識(shí)1.字符串的實(shí)例化字符串對象的實(shí)例化有兩種方式,一種是直接創(chuàng)建字符串,另一種是調(diào)用String類的構(gòu)造方法來創(chuàng)建。下面分別說明如下:(2)調(diào)用構(gòu)造方法
String類的構(gòu)造方法很多。下面將舉例說明我們常用的構(gòu)造方法和使用每一種構(gòu)造方法創(chuàng)建String對象的過程。④String(char[],intoffset,intlength);其中參數(shù)offset表示起始位置length表示字符個(gè)數(shù)。例如:Strings2=newString({'H','e','l','l','o'});char[]Array={'H','e','l','l','o','J','a','v','a'};Strings3=newString(Array,5,4);//生成串"Java"6.3String類6.3.1基本知識(shí)2.字符串的比較String的比較有兩種方式,一種是使用”==”符號(hào),進(jìn)行字符串地址值的比較,另一種是使用equals(Strings)方法進(jìn)行字符串內(nèi)容的比較。(1)使用“==”進(jìn)行比較:==是進(jìn)行字符串地址的比較,當(dāng)符號(hào)兩邊的字符串地址相同時(shí),返回值為真,否則返回值為假。例如:Stringstr1="hello";Stringstr2=newString("hello");Stringstr3=str2;字符串在內(nèi)存中的存儲(chǔ)情況簡單表示如下:6.3String類6.3.1基本知識(shí)2.字符串的比較String的比較有兩種方式,一種是使用”==”符號(hào),進(jìn)行字符串地址值的比較,另一種是使用equals(Strings)方法進(jìn)行字符串內(nèi)容的比較。(2)equals(ObjectanObject)方法:該方法是String類覆蓋了Object類中的publicbooleanequals(ObjectanObject)方法。表示將此字符串與指定的對象比較。當(dāng)且僅當(dāng)該參數(shù)不為null,并且是與此對象表示相同字符序列的String對象時(shí),結(jié)果才為true。也就是對字符串的值進(jìn)行比較,當(dāng)值相同時(shí),返回值為真,否則返回值為假。例如Stringstr1="hello";Stringstr2=newString("hello");Stringstr3=str2;那么表達(dá)式str1.equals(str2);str1.equals(str3);str3.equals(str2);的返回值都為真。因?yàn)樗麄兌即鎯?chǔ)了"hello"這個(gè)字符串的值。6.3String類publicclassExample6_6{publicstaticvoidmain(String[]args) {Strings=newString("hello"); Strings2=newString("hello"); Strings3=s2; if(s==s2) {System.out.println("s==s2的值為真,字符串地址相同");} else {System.out.println("s==s2的值為假,字符串地址不同");} if(s3==s2) {System.out.println("s3==s2的值為真,字符串地址相同");} else {System.out.println("s3==s2的值為假,字符串地址不同");} }}【例6-6】創(chuàng)建字符串對象,并使用==符號(hào)來進(jìn)行字符串的比較。6.3.1基本知識(shí)3.String類對象兩種實(shí)例化方式的區(qū)別(1)使用直接賦值的方式創(chuàng)建對象,當(dāng)對象的值相同時(shí),地址一定相同,即表示同一個(gè)字符串對象。例如:Stringstr1="hello";
Stringstr2="hello";
Stringstr3="hello";這三個(gè)字符串的值相同,代表了同一個(gè)字符串對象,所以不論使用==還是equals方法進(jìn)行比較,返回值都為真。(2)通過new關(guān)鍵字調(diào)用構(gòu)造方法來創(chuàng)建對象,每創(chuàng)建一個(gè)對象都開辟了新的內(nèi)存空間,所以對象的地址不相同。但是對象可以存儲(chǔ)相同的字符串值。
Stringstr=newString("hello");表示關(guān)鍵字new調(diào)用了String類的有一個(gè)字符串型參數(shù)的構(gòu)造器方法創(chuàng)建了一個(gè)對象,并把對象的地址放到了String類的引用str中。當(dāng)我們再次寫出代碼str=newString("hello");表示再次在內(nèi)存中開辟一段空間,存儲(chǔ)新的對象。6.3String類publicclassExample6_7{publicstaticvoidmain(String[]args){ Stringstr1="hello"; Stringstr2="hello"; Stringstr3=newString("hello"); Stringstr4=newString("hello");System.out.println("(str1==str2)="+(str1==str2));System.out.println("(str2==str3)="+(str2==str3));System.out.println("(str3==str4)="+(str3==str4));System.out.println("str1.equals(str2)="+(str1.equals(str2)));System.out.println("str2.equals(str3)="+(str2.equals(str3)));System.out.println("str3.equals(str4)="+(str3.equals(str4)));}}【例6-7】調(diào)用構(gòu)造方法創(chuàng)建String類的對象,使用==和equals方法進(jìn)行字符串比較。6.3.2String類常用方法String類中提供了很多方法,下面簡單列出字符串的常用方法。(1)常見的字符串方法6.3String類6.3.2String類常用方法String類中提供了很多方法,下面簡單列出字符串的常用方法。(1)常見的字符串方法6.3String類6.3.2String類常用方法String類中提供了很多方法,下面簡單列出字符串的常用方法。(2)+運(yùn)算符:可以用于字符串與其他數(shù)據(jù)類型數(shù)據(jù)的連接。例如Strings="Result="+3;s的值為字符串Result=3;字符串與其他數(shù)據(jù)類型的數(shù)據(jù)使用+運(yùn)算符進(jìn)行連接的時(shí)候,其他的數(shù)據(jù)直接轉(zhuǎn)換為字符串,例如System.out.println("輸出為:"+5+6);結(jié)果為字符串輸出為:56,而并不是字符串輸出為:11。6.3String類6.3.2String類常用方法String類中提供了很多方法,下面簡單列出字符串的常用方法。(3)字符串的不變性:字符串的內(nèi)容一旦聲明則不可改變。改變的只是字符串的引用。例如:Stringstr="hello";//創(chuàng)建字符串str=str+"world!";//str與字符串world!進(jìn)行連接,然后賦值給str
6.3String類publicclassExample6_8{ publicstaticvoidmain(Stringargs[]) {Strings1="welcomeyou"; Strings2="JAVAWORLD."; ptr("Lengthofs1is"+s1.length()); Strings=s1.concat(s2); ptr(s); Stringsub1=s1.substring(7); System.out.println(sub1.trim().equals("you")); ptr(s1.toUpperCase()); ptr(s2.toLowerCase()); } publicstaticvoidptr(Objecto){ System.out.println(o);} }【例6-8】字符串的常用方法的調(diào)用與字符串不變性的測試。6.3.3字符串類型與基本數(shù)據(jù)類型的相互轉(zhuǎn)換1.將字符串轉(zhuǎn)換成基本類型數(shù)據(jù)是指把字符串類型的數(shù)值,轉(zhuǎn)換成其他的基本數(shù)據(jù)類型的數(shù)據(jù)。例如把字符串“3.14”轉(zhuǎn)換成真正的數(shù)值3.14。在Java語言中各個(gè)數(shù)據(jù)類型有相應(yīng)的Wrapper類(在第3章中有詳細(xì)的介紹),通過各個(gè)基本類型的類方法parseXXX來實(shí)現(xiàn)的。該方法的格式是:類名.parse類名(String類數(shù)值),如果字符串表示的不是合法的數(shù)字,會(huì)出錯(cuò)。下面列舉將字符串轉(zhuǎn)換成基本類型數(shù)據(jù)的語句:byteresult=Byte.parseByte("24");shortresult=Short.parseShort("-234");intresult=Integer.parseInt("456");longresult=Long.parseLong("123456");floatresult=Float.parseFloat("2.15");doubleresult=Double.parseDouble("3.14159265");都可以字符串轉(zhuǎn)換成基本的數(shù)值。6.3String類6.3.3字符串類型與基本數(shù)據(jù)類型的相互轉(zhuǎn)換2.將基本類型數(shù)據(jù)轉(zhuǎn)換成字符串是指把基本數(shù)據(jù)類型的數(shù)據(jù),直接轉(zhuǎn)換成字符串類型的值。例如把數(shù)值3.14,轉(zhuǎn)換成字符串類型的”3.14”。這個(gè)轉(zhuǎn)換需要通過String類的方法valueOf來實(shí)現(xiàn),該方法有多個(gè)重載,一般形式為:s.valueOf(parament);其中參數(shù)parament可以是各種基本類型,也包括boolean類型。例如:Strings=String.valueOf(3.14);語句。6.3String類publicclassExample6_9{ publicstaticvoidmain(Stringargs[]){ bytea=Byte.parseByte("24"); shortb=Short.parseShort("-234"); intc=Integer.parseInt("456"); longd=Long.parseLong("123456"); floate=Float.parseFloat("2.15"); doublef=Double.parseDouble("3.14159265"); System.out.println("Result="+a+""+b+""+c+""); System.out.println("Result="+d+""+e+""+f); } }【例6-9】將基本數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換成字符串。importjava.io.IOException;//引入流需要的包;publicclassExample6_10{ publicstaticvoidmain(String[]args)throwsIOException{ Stringpwda,pwdb;//定義兩個(gè)字符串型變量接收密碼。 bytebuffer[]=newbyte[512]; pwdb="1234";//假設(shè)已經(jīng)取到正確密碼存儲(chǔ)到變量中。 System.out.println("pleaseInputpassword:"); System.in.read(buffer);//接收用戶的輸入; pwda=newString(buffer);//將輸入存到字符串變量中; pwda=pwda.trim();//去掉輸入的回車;
if(pwdb.equals(pwda)){//比較輸入密碼和正確密碼 System.out.print("成功登錄!"); } else{ System.out.print("密碼錯(cuò)誤!"); } }}【
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康系列活動(dòng)策劃方案(3篇)
- 直播相伴活動(dòng)策劃方案(3篇)
- 財(cái)務(wù)管理制度制定依據(jù)(3篇)
- 2026廣東廣州國家實(shí)驗(yàn)室中國數(shù)字肺項(xiàng)目工程技術(shù)中心招聘2人備考考試題庫及答案解析
- 2026河北廊坊師范學(xué)院選聘26人參考考試題庫及答案解析
- 2026山東德州市事業(yè)單位招聘初級(jí)綜合類崗位人員備考考試題庫及答案解析
- 2026云南省人力資源和社會(huì)保障廳所屬事業(yè)單位招聘12人備考考試試題及答案解析
- 2026廣東廣州市華南理工大學(xué)醫(yī)院合同制人員招聘2人備考考試題庫及答案解析
- 2026廣東惠州市博羅縣村級(jí)經(jīng)濟(jì)聯(lián)盟有限公司招聘1人備考考試試題及答案解析
- 入校物品消毒管理制度(3篇)
- 廣東省領(lǐng)航高中聯(lián)盟2024-2025學(xué)年高一下學(xué)期第一次聯(lián)合考試語文試卷(含答案)
- 社區(qū)健康服務(wù)與管理課件
- QGDW1512-2014電力電纜及通道運(yùn)維規(guī)程
- 投資車行合同協(xié)議書
- 國際消防安全系統(tǒng)規(guī)則
- 靜脈治療新理念
- 高中研究性學(xué)習(xí)指導(dǎo)課課件系列總結(jié)階段-學(xué)生如何開展研究活動(dòng)
- 心內(nèi)介入治療護(hù)理
- 民辦職業(yè)培訓(xùn)方案模板
- 04S519小型排水構(gòu)筑物(含隔油池)圖集
- 旅居養(yǎng)老可行性方案
評論
0/150
提交評論