<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java心路

    Java、Eclipse、Ajax......一個(gè)都不能少

     

    Java語(yǔ)言基礎(chǔ)知識(shí)


    2.1簡(jiǎn)單數(shù)據(jù)類(lèi)型

    2.1.1 標(biāo)識(shí)符和保留字

     1.標(biāo)識(shí)符
      程序員對(duì)程序中的各個(gè)元素加以命名時(shí)使用的命名記號(hào)稱(chēng)為標(biāo)識(shí)符(identifier)。Java語(yǔ)言中,標(biāo)識(shí)符是以字母,下劃線(xiàn)(_),美元符($)開(kāi)始的一個(gè)字符序列,后面可以跟字母,下劃線(xiàn),美元符,數(shù)字。例如,identifier,userName,User_Name,_sys_val, $change為合法的標(biāo)識(shí)符,而2mail room#,class 為非法的標(biāo)識(shí)符。

     2.保留字

      具有專(zhuān)門(mén)的意義和用途,不能當(dāng)作一般的標(biāo)識(shí)符使用,這些標(biāo)識(shí)符稱(chēng)為保留字(reserved word),也稱(chēng)為關(guān)鍵字,下面列出了java語(yǔ)言中的所有保留字:

    bstract, break,byte,boolean,catch,case,class,char,continue,default,double,do, else,extends,false,final,float,for,finally,if,import,implements,int, interface,instanceof,long,length,native,new,null,package,private, protected,public,return,switch,synchronized,short,static,super,try,true, this,throw,throws,threadsafe,transient,void,while 。

      java語(yǔ)言中的保留字均用小寫(xiě)字母表示

    2.1.2 數(shù)據(jù)類(lèi)型概

    ? 1. java中的數(shù)據(jù)類(lèi)型劃分
      java語(yǔ)言的數(shù)據(jù)類(lèi)型有簡(jiǎn)單類(lèi)型和復(fù)合類(lèi)型:
      簡(jiǎn)單數(shù)據(jù)類(lèi)型包括:
         整數(shù)類(lèi)型(Integer):byte, short, int, long
         浮點(diǎn)類(lèi)型(Floating):float,double
         字符類(lèi)型(Textual):char
         布爾類(lèi)型(Logical):boolean

      復(fù)合數(shù)據(jù)類(lèi)型包括:
         class
         interface
         數(shù)組

     
    2.常量和變量
      常量:用保留字final來(lái)實(shí)現(xiàn)
         final typeSpecifier varName=value[,varName[=value]…];
                         如:final int NUM=100;

      變量:是java 程序中的基本存儲(chǔ)單元,它的定義包括變量名、變量類(lèi)型和作用域幾個(gè)部分。其定義格式如下:
         typeSpecifier varName[=value[,varName[=value]…];
                     如:int count; char c='a';

       變量的作用域指明可訪(fǎng)問(wèn)該變量的一段代碼,聲明一個(gè)變量的同時(shí)也就指明了變量的作用域。按作用域來(lái)分,變量可以有下面幾種:局部變量、類(lèi)變量、方法參數(shù) 和例外處理參數(shù)。在一個(gè)確定的域中,變量名應(yīng)該是唯一的。局部變量在方法或方法的一個(gè)塊代碼中聲明,它的作用域?yàn)樗诘拇a塊(整個(gè)方法或方法中的某塊 代碼)。類(lèi)變量在類(lèi)中聲明,而不是在類(lèi)的某個(gè)方法中聲明,它的作用域是整個(gè)類(lèi)。方法參數(shù)傳遞給方法,它的作用域就是這個(gè)方法。例外處理參數(shù)傳遞給例外處理 代碼,它的作用域就是例外處理部分。

    2.1.3 簡(jiǎn)單數(shù)據(jù)類(lèi)型

     1.布爾類(lèi)型--boolean

      布爾型數(shù)據(jù)只有兩個(gè)值true和false,且它們不對(duì)應(yīng)于任何整數(shù)值。布爾型變量的定義如:
       boolean b=true;

     
    2.字符類(lèi)型--char

      字符常量:
      字符常量是用單引號(hào)括起來(lái)的一個(gè)字符,如'a','A';

      字符型變量:
      類(lèi)型為char,它在機(jī)器中占16位,其范圍為0~65535。字符型變量的定義如:
       char c='a'; /*指定變量c為char型,且賦初值為'a'*/

     
    3.整型數(shù)據(jù)
      
      整型常量:
      ◇ 十進(jìn)制整數(shù)
        如123,-456,0
      ◇ 八進(jìn)制整數(shù)
        以0開(kāi)頭,如0123表示十進(jìn)制數(shù)83,-011表示十進(jìn)制數(shù)-9。
      ◇ 十六進(jìn)制整數(shù)
        以0x或0X開(kāi)頭,如0x123表示十進(jìn)制數(shù)291,-0X12表示十進(jìn)制數(shù)-18。

      整型變量:

    數(shù)據(jù)類(lèi)型
    所占位數(shù)
    數(shù)的范圍
    byte
    8
    -27~27-1
    bhort
    16
    -215~215-1
    int
    32
    -231~231-1
    long
    64
    -263~263-1


     
    4.浮點(diǎn)型(實(shí)型)數(shù)據(jù)

      實(shí)型常量:
      ◇ 十進(jìn)制數(shù)形式
        由數(shù)字和小數(shù)點(diǎn)組成,且必須有小數(shù)點(diǎn),如0.123, 1.23, 123.0
      ◇ 科學(xué)計(jì)數(shù)法形式
        如:123e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。
      ◇ float型的值,必須在數(shù)字后加f或F,如1.23f。

      實(shí)型變量:

    數(shù)據(jù)類(lèi)型
    所占位數(shù)
    數(shù)的范圍
    float
    32
    3.4e-038 ~3.4e+038
    double
    64
    1.7e-038 ~1.7e+038

      5.簡(jiǎn)單數(shù)據(jù)類(lèi)型的例子:

    【例2.1】
      public class Assign {
       public static void main (String args [ ] ) {
       int x , y ; //定義x,y兩個(gè)整型變量
       float z = 1.234f ; //指定變量z為float型,且賦初值為1.234
       double w = 1.234 ; //指定變量w為double型,且賦初值為1.234
       boolean flag = true ; //指定變量flag為boolean型,且賦初值為true
       char c ; //定義字符型變量c

       String str ; //定義字符串變量str
       String str1 = " Hi " ; //指定變量str1為String型,且賦初值為Hi
       c = ' A ' ; //給字符型變量c賦值'A'
       str = " bye " ; //給字符串變量str賦值"bye"
       x = 12 ; //給整型變量x賦值為12
       y = 300; //給整型變量y賦值為300
       }
      }

    2.1.4 簡(jiǎn)單數(shù)據(jù)類(lèi)型中各類(lèi)型數(shù)據(jù)間的優(yōu)先關(guān)系和相互轉(zhuǎn)換

     1.不同類(lèi)型數(shù)據(jù)間的優(yōu)先關(guān)系如下:

       低------------------------------------------->高
       byte,short,char-> int -> long -> float -> double

     
    2.自動(dòng)類(lèi)型轉(zhuǎn)換規(guī)則

      整型,實(shí)型,字符型數(shù)據(jù)可以混合運(yùn)算。運(yùn)算中,不同類(lèi)型的數(shù)據(jù)先轉(zhuǎn)化為同一類(lèi)型,然后進(jìn)行運(yùn)算,轉(zhuǎn)換從低級(jí)到高級(jí);

    操作數(shù)1類(lèi)型
    操作數(shù)2類(lèi)型
    轉(zhuǎn)換后的類(lèi)型
    byte、short、char    int     int
    byte、short、char、int    long     long
    byte、short、char、int、long    float     float
    byte、short、char、int、long、float    double     double

      
     
    3.強(qiáng)制類(lèi)型轉(zhuǎn)換
     
      高級(jí)數(shù)據(jù)要轉(zhuǎn)換成低級(jí)數(shù)據(jù),需用到強(qiáng)制類(lèi)型轉(zhuǎn)換,如:
      int i;
      byte b=(byte)i; /*把int型變量i強(qiáng)制轉(zhuǎn)換為byte型*/

    2.2 運(yùn)算符和表達(dá)式

    2.2.1 運(yùn)算符

    ??? 對(duì)各種類(lèi)型的數(shù)據(jù)進(jìn)行加工的過(guò)程成為運(yùn)算,表示各種不同運(yùn)算的符號(hào)稱(chēng)為運(yùn)算符,參與運(yùn)算的數(shù)據(jù)稱(chēng)為操作數(shù),按操作數(shù)的數(shù)目來(lái)分,可有:
      ◇ 一元運(yùn)算符:++,--,+,-
      ◇ 二元運(yùn)算符:+,-,>
      ◇ 三元運(yùn)算符:?:

      基本的運(yùn)算符按功能劃分,有下面幾類(lèi):

      1 算術(shù)運(yùn)算符: +,―,*,/,%,++,――。
      
    例如:
        3+2;
        a-b;
        i++;
        --i;

      
    2 關(guān)系運(yùn)算符: >,<,>=,<=,==,!=。
       例如:
        count>3;
        I==0;
        n!=-1;

      
    3 布爾邏輯運(yùn)算符: !,&&,|| 。
      
    例如:
       flag=true;
       !(flag);
       flag&&false;

      
    4 位運(yùn)算符: >>,<<,>>>,&,|,^,~。
      
    例如:
       a=10011101; b=00111001;則有如下結(jié)果:
       a<<3 =11101000;
       a>>3 =11110011 a>>>3=00010011;
       a&b=00011001; a|b=10111101;
       ~a=01100010; a^b=10100100;

      
    5 賦值運(yùn)算符 =,及其擴(kuò)展賦值運(yùn)算符如+=,―=,*=,/=等。
      
    例如:
       i=3;
       i+=3;     //等效于i=i+3;

      
    6 條件運(yùn)算符 ? :
       例如:result=(sum= =0 ? 1 : num/sum);

      
    7 其它:
       
    包括分量運(yùn)算符· ,下標(biāo)運(yùn)算符 [],實(shí)例運(yùn)算符instanceof,內(nèi)存分配運(yùn)算符new,強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符 (類(lèi)型),方法調(diào)用運(yùn)算符 () 等。例如:
      System.out.println("hello world");
      int array1[]=new int[4];

    2.2.2 表達(dá)式

      表達(dá)式是由操作數(shù)和運(yùn)算符按一定的語(yǔ)法形式組成的符號(hào)序列。一個(gè)常量或一個(gè)變量名字是最簡(jiǎn)單的表達(dá)式,其值即該常量或變量的值;表達(dá)式的值還可以用作其他運(yùn)算的操作數(shù),形成更復(fù)雜的表達(dá)式。

      
    1.表達(dá)式的類(lèi)型

      表達(dá)式的類(lèi)型由運(yùn)算以及參與運(yùn)算的操作數(shù)的類(lèi)型決定,可以是簡(jiǎn)單類(lèi)型,也可以是復(fù)合類(lèi)型:
      布爾型表達(dá)式: x&&y||z;
      整型表達(dá)式: num1+num2;


      2.運(yùn)算符的優(yōu)先次序

       表達(dá)式的運(yùn)算按照運(yùn)算符的優(yōu)先順序從高到低進(jìn)行,同級(jí)運(yùn)算符從左到右進(jìn)行:

    優(yōu)先次序
    運(yùn)算符
    1
    . [] ()
    2
    ++ -- ! ~ instanceof
    3
    new (type)
    4
    * / %
    5
    + -
    6
    >> >>> <<
    7
    > < >= <=
    8
    = = !=
    9
    &
    10
    ^
    11
    |
    12
    &&
    13
    ||
    14
    ?:
    15
    = += -= *= /= %= ^=
    16
    &= |= <<= >>= >>>=


      例如,下述條件語(yǔ)句分四步完成:
      Result=sum==0?1:num/sum;
      第1步:result=sum==0?1:(num/sum)
      第2步:result=(sum==0)?1:(num/sum)
      第3步:result=((sum==0)?1:(num/sum))
      第4步:result=

    2.3控制語(yǔ)句

      Java程序通過(guò)控制語(yǔ)句來(lái)執(zhí)行程序流,完成一定的任務(wù)。程序流是由若干個(gè)語(yǔ)句組成的,語(yǔ)句可以是單一的一條語(yǔ)句,如c=a+b,也可以是用大括號(hào){}括起來(lái)的一個(gè)復(fù)合語(yǔ)句。Java中的控制語(yǔ)句有以下幾類(lèi):
      ◇ 分支語(yǔ)句:if-else, switch
      ◇ 循環(huán)語(yǔ)句:while, do-while, for
      ◇ 與程序轉(zhuǎn)移有關(guān)的跳轉(zhuǎn)語(yǔ)句:break, continue, return
      ◇ 例外處理語(yǔ)句:try-catch-finally, throw
      ◇ 注釋語(yǔ)句://,/* */, /** */

    2.3.1 分支語(yǔ)句

      分支語(yǔ)句提供了一種控制機(jī)制,使得程序的執(zhí)行可以跳過(guò)某些語(yǔ)句不執(zhí)行,而轉(zhuǎn)去執(zhí)行特定的語(yǔ)句。

      
    1.條件語(yǔ)句 if-else

       if(boolean-expression)
        statement1;
       [else statement2;]

      
    2.多分支語(yǔ)句 switch

       switch (expression){
        case value1 : statement1;
       break;
        case value2 : statement2;
       break;
       …………
        case valueN : statemendN;
       break;
        [default : defaultStatement; ]
       }

      表達(dá)式expression的返回值類(lèi)型必須是這幾種類(lèi)型之一:int,byte,char,short。
       case子句中的值valueN必須是常量,而且所有case子句中的值應(yīng)是不同的。
      default子句是可選的。
      break語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后,使程序跳出switch語(yǔ)句,即終止switch語(yǔ)句的執(zhí)行(在一些特殊情況下,多個(gè)不同的case值要執(zhí)行一組相同的操作,這時(shí)可以不用break)。

    2.3.2 循環(huán)語(yǔ)句

      循環(huán)語(yǔ)句的作用是反復(fù)執(zhí)行一段代碼,直到滿(mǎn)足終止循環(huán)的條件為止。Java語(yǔ)言中提供的循環(huán)語(yǔ)句有:
       
    while語(yǔ)句
       
    do-while語(yǔ)句
       
    for語(yǔ)句

    ? 1.while語(yǔ)句

      [initialization]
      while (termination){
        body;
      [iteration;]
      }

     
    2.do-while語(yǔ)句

      [initialization]
      do {
        body;
      [iteration;]
      } while (termination);

     
    3.for語(yǔ)句

      for (initialization; termination; iteration){
        body;
      }

      ◇
    for語(yǔ)句執(zhí)行時(shí),首先執(zhí)行初始化操作,然后判斷終止條件是否滿(mǎn)足,如果滿(mǎn)足,則執(zhí)行循環(huán)體中的語(yǔ)句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。
      ◇初始化、終止以及迭代部分都可以為空語(yǔ)句(但分號(hào)不能省),三者均為空的時(shí)候,相當(dāng)于一個(gè)無(wú)限循環(huán)。
      ◇在初始化部分和迭代部分可以使用逗號(hào)語(yǔ)句,來(lái)進(jìn)行多個(gè)操作。逗號(hào)語(yǔ)句是用逗號(hào)分隔的語(yǔ)句序列。
       for( i=0, j=10; i
        ……
       }/j;>

    2.3.3 跳轉(zhuǎn)語(yǔ)句

      break語(yǔ)句
       continue語(yǔ)句
       返回語(yǔ)句return

    ? 1.break語(yǔ)句

      ◇ 在switch語(yǔ)中,break語(yǔ)句用來(lái)終止switch語(yǔ)句的執(zhí)行。使程序從switch語(yǔ)句后的第一個(gè)語(yǔ)句開(kāi)始執(zhí)行。
      ◇Java中,可以為每個(gè)代碼塊加一個(gè)括號(hào),一個(gè)代碼塊通常是用大括號(hào){}括起來(lái)的一段代碼。加標(biāo)號(hào)的格式如下:
      BlockLabel: { codeBlock }
      break語(yǔ)句的第二種使用情況就是跳出它所指定的塊,并從緊跟該塊的第一條語(yǔ)句處執(zhí)行。例如:
      break BlockLabel;
      break語(yǔ)句
      a:{…… //標(biāo)記代碼塊a
      b:{…… //標(biāo)記代碼塊b
      c:{…… //標(biāo)記代碼塊c
      break b;
       …… //此處的語(yǔ)句塊不被執(zhí)行
      }
       …… /此處的語(yǔ)句塊不被執(zhí)行
      }
       …… //從此處開(kāi)始執(zhí)行
      }

     
    2.continue語(yǔ)句

      continue語(yǔ)句用來(lái)結(jié)束本次循環(huán),跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對(duì)于for語(yǔ)句,在進(jìn)行終止條件的判斷前,還要先執(zhí)行迭代語(yǔ)句。它的格式為:
       continue;

      也可以用continue跳轉(zhuǎn)到括號(hào)指明的外層循環(huán)中,這時(shí)的格式為
       continue outerLable;

      例如:
       outer: for( int i=0; i<10; i++ ){ //外層循環(huán)
       inner: for( int j=0; j<10; j++ ){ //內(nèi)層循環(huán)
       if( i
         ……
       continue outer;
    /j>

       }
         ……
       }
         ……
       }

     
    3.返回語(yǔ)句return
       
      return語(yǔ)句從當(dāng)前方法中退出,返回到調(diào)用該方法的語(yǔ)句處,并從緊跟該語(yǔ)句的下一條語(yǔ)句繼續(xù)程序的執(zhí)行。返回語(yǔ)句有兩種格式:
      return expression ;
      return;

      return語(yǔ)句通常用在一個(gè)方法體的最后,否則會(huì)產(chǎn)生編譯錯(cuò)誤,除非用在if-else語(yǔ)句中

    2.3.4 例外處理語(yǔ)句

      包括try,catch,finally,throw語(yǔ)

    2.4 數(shù)組

      java語(yǔ)言中,數(shù)組是一種最簡(jiǎn)單的復(fù)合數(shù)據(jù)類(lèi)型。數(shù)組是有序數(shù)據(jù)的集合,數(shù)組中的每個(gè)元素具有相同的數(shù)據(jù)類(lèi)型,可以用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來(lái)唯一地確定數(shù)組中的元素。數(shù)組有一維數(shù)組和多維數(shù)組。

    2.4.1 一維數(shù)組

      1. 一維數(shù)組的定義

      type arrayName[ ];
      類(lèi)型(type)可以為Java中任意的數(shù)據(jù)類(lèi)型,包括簡(jiǎn)單類(lèi)型和復(fù)合類(lèi)型。
      例如:
       int intArray[ ];
       Date dateArray[];


     
    2.一維數(shù)組的初始化

       靜態(tài)初始化
        int intArray[]={1,2,3,4};
        String stringArray[]={"abc", "How", "you"};


      
    動(dòng)態(tài)初始化
        1)簡(jiǎn)單類(lèi)型的數(shù)組
        int intArray[];
        intArray = new int[5];

       2)復(fù)合類(lèi)型的數(shù)組
        String stringArray[ ];
        String stringArray = new String[3];/*為數(shù)組中每個(gè)元素開(kāi)辟引用
                          空間(32位) */

        stringArray[0]= new String("How");//為第一個(gè)數(shù)組元素開(kāi)辟空間
        stringArray[1]= new String("are");//為第二個(gè)數(shù)組元素開(kāi)辟空間
        stringArray[2]= new String("you");// 為第三個(gè)數(shù)組元素開(kāi)辟空間


     
    3.一維數(shù)組元素的引用

      數(shù)組元素的引用方式為:
         arrayName[index]

      index為數(shù)組下標(biāo),它可以為整型常數(shù)或表達(dá)式,下標(biāo)從0開(kāi)始。每個(gè)數(shù)組都有一個(gè)屬性length指明它的長(zhǎng)度,例如:intArray.length指明數(shù)組intArray的長(zhǎng)度。

    2.4.2 多維數(shù)組

      Java語(yǔ)言中,多維數(shù)組被看作數(shù)組的數(shù)組。

      1.二維數(shù)組的定義

      type arrayName[ ][ ];
      type [ ][ ]arrayName;

     
    2.二維數(shù)組的初始化

      
    靜態(tài)初始化
      int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};

      Java語(yǔ)言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連續(xù)分配的,所以不要求二維數(shù)組每一維的大小相同。

      
    動(dòng)態(tài)初始化
      1) 直接為每一維分配空間,格式如下:
      arrayName = new type[arrayLength1][arrayLength2];
      int a[ ][ ] = new int[2][3];

      2) 從最高維開(kāi)始,分別為每一維分配空間:
      arrayName = new type[arrayLength1][ ];
      arrayName[0] = new type[arrayLength20];
      arrayName[1] = new type[arrayLength21];
      …
      arrayName[arrayLength1-1] = new type[arrayLength2n];

      3) 例:
      二維簡(jiǎn)單數(shù)據(jù)類(lèi)型數(shù)組的動(dòng)態(tài)初始化如下,
      int a[ ][ ] = new int[2][ ];
      a[0] = new int[3];
      a[1] = new int[5];

      對(duì)二維復(fù)合數(shù)據(jù)類(lèi)型的數(shù)組,必須首先為最高維分配引用空間,然后再順次為低維分配空間。
      而且,必須為每個(gè)數(shù)組元素單獨(dú)分配空間。

      例如:
      String s[ ][ ] = new String[2][ ];
      s[0]= new String[2];//為最高維分配引用空間
      s[1]= new String[2]; //為最高維分配引用空間
      s[0][0]= new String("Good");// 為每個(gè)數(shù)組元素單獨(dú)分配空間
      s[0][1]= new String("Luck");// 為每個(gè)數(shù)組元素單獨(dú)分配空間
      s[1][0]= new String("to");// 為每個(gè)數(shù)組元素單獨(dú)分配空間
      s[1][1]= new String("You");// 為每個(gè)數(shù)組元素單獨(dú)分配空間

     
    3.二維數(shù)組元素的引用
      
      對(duì)二維數(shù)組中的每個(gè)元素,引用方式為:arrayName[index1][index2]
      例如: num[1][0];

     
    4.二維數(shù)組舉例:

    【例2.2】?jī)蓚€(gè)矩陣相乘
      public class MatrixMultiply{
       public static void main(String args[]){
       int i,j,k;
       int a[][]=new int [2][3]; //動(dòng)態(tài)初始化一個(gè)二維數(shù)組
       int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//靜態(tài)初始化
                               一個(gè)二維數(shù)組

       int c[][]=new int[2][4]; //動(dòng)態(tài)初始化一個(gè)二維數(shù)組
       for (i=0;i<2;i++)
         for (j=0; j<3 ;j++)
          a[i][j]=(i+1)*(j+2);
       for (i=0;i<2;i++){
         for (j=0;j<4;j++){
          c[i][j]=0;
       for(k=0;k<3;k++)
         c[i][j]+=a[i][k]*b[k][j];
          }
         }
       System.out.println("*******Matrix C********");//打印Matrix C標(biāo)記
       for(i=0;i<2;i++){
         for (j=0;j<4;j++)
          System.out.println(c[i][j]+" ");
         System.out.println();
          }
         }
       }

    2.5 字符串的處理

    2.5.1 字符串的表示

      Java語(yǔ)言中,把字符串作為對(duì)象來(lái)處理,類(lèi)String和StringBuffer都可以用來(lái)表示一個(gè)字符串。(類(lèi)名都是大寫(xiě)字母打頭)

      1.字符串常量

      字符串常量是用雙引號(hào)括住的一串字符。
        "Hello World!"

     
    2.String表示字符串常量

      用String表示字符串:
      String( char chars[ ] );
      String( char chars[ ], int startIndex, int numChars );
      String( byte ascii[ ], int hiByte );
      String( byte ascii[ ], int hiByte, int startIndex, int numChars );
      String使用示例:
      String s=new String() ; 生成一個(gè)空串

      下面用不同方法生成字符串"abc":
      char chars1[]={'a','b','c'};
      char chars2[]={'a','b','c','d','e'};
      String s1=new String(chars1);
      String s2=new String(chars2,0,3);
      byte ascii1[]={97,98,99};
      byte ascii2[]={97,98,99,100,101};
      String s3=new String(ascii1,0);
      String s4=new String(ascii2,0,0,3);

     
    3.用StringBuffer表示字符串

      StringBuffer( ); /*分配16個(gè)字符的緩沖區(qū)*/
      StringBuffer( int len ); /*分配len個(gè)字符的緩沖區(qū)*/
      StringBuffer( String s ); /*除了按照s的大小分配空間外,再分配16個(gè)
                   字符的緩沖區(qū)*/

    2.5.2 訪(fǎng)問(wèn)字符串

    ? 1.類(lèi)String中提供了length( )、charAt( )、indexOf( )、lastIndexOf( )、getChars( )、getBytes( )、toCharArray( )等方法。

      
    public int length() 此方法返回字符串的字符個(gè)數(shù)
       public char charAt(int index) 此方法返回字符串中index位置上的字符,其中index 值的 范圍是0~length-1
       public int indexOf(int ch)
        public lastIndexOf(in ch)
      
      返回字符ch在字符串中出現(xiàn)的第一個(gè)和最后一個(gè)的位置
       public int indexOf(String str)
        public int lastIndexOf(String str)
      返回子串str中第一個(gè)字符在字符串中出現(xiàn)的第一個(gè)和最后一個(gè)的位置
       public int indexOf(int ch,int fromIndex)
        public lastIndexOf(in ch ,int fromIndex)
      返回字符ch在字符串中位置fromIndex以后出現(xiàn)的第一個(gè)和最后一個(gè)的位置
       public int indexOf(String str,int fromIndex)
        public int lastIndexOf(String str,int fromIndex)
      返回子串str中的第一個(gè)字符在字符串中位置fromIndex后出現(xiàn)的第一個(gè)和最后一個(gè)的位置。
       public void getchars(int srcbegin,int end ,char buf[],int dstbegin)
       srcbegin 為要提取的第一個(gè)字符在源串中的位置, end為要提取的最后一個(gè)字符在源串中的位置,字符數(shù)組buf[]存放目的字符串,    dstbegin 為提取的字符串在目的串中的起始位置。
      public void getBytes(int srcBegin, int srcEnd,byte[] dst, int dstBegin)
      參數(shù)及用法同上,只是串中的字符均用8位表示。

     
    2.類(lèi)StringBuffer提供了 length( )、charAt( )、getChars( )、capacity()等方法。

      方法capacity()用來(lái)得到字符串緩沖區(qū)的容量,它與方法length()所返回的值通常是不同的。

    2.5.3 修改字符串

      修改字符串的目的是為了得到新的字符串,類(lèi)String和類(lèi)StringBuffer都提供了相應(yīng)的方法。有關(guān)各個(gè)方法的使用,參考java 2 API。

      1.String類(lèi)提供的方法:

       concat( )
       replace( )
       substring( )
       toLowerCase( )
       toUpperCase( )

      ◇
    public String contat(String str);
      用來(lái)將當(dāng)前字符串對(duì)象與給定字符串str連接起來(lái)。
      ◇ public String replace(char oldChar,char newChar);
      用來(lái)把串中出現(xiàn)的所有特定字符替換成指定字符以生成新串。
      ◇ public String substring(int beginIndex);
      public String substring(int beginIndex,int endIndex);
      用來(lái)得到字符串中指定范圍內(nèi)的子串。
      ◇ public String toLowerCase();
      把串中所有的字符變成小寫(xiě)。
      ◇ public String toUpperCase();
      把串中所有的字符變成大寫(xiě)。

     
    2.StringBuffer類(lèi)提供的方法:

      append( )
      insert( )
      setCharAt( )

      如果操作后的字符超出已分配的緩沖區(qū),則系統(tǒng)會(huì)自動(dòng)為它分配額外的空間。
      ◇ public synchronized StringBuffer append(String str);
      用來(lái)在已有字符串末尾添加一個(gè)字符串str。
      ◇ public synchronized StringBuffer insert(int offset, String str);
      用來(lái)在字符串的索引offset位置處插入字符串str。
      ◇ public synchronized void setCharAt(int index,char ch);
      用來(lái)設(shè)置指定索引index位置的字符值。

      注意:String中對(duì)字符串的操作不是對(duì)源操作串對(duì)象本身進(jìn)行的,而是對(duì)新生成的一個(gè)源操作串對(duì)象的拷貝進(jìn)行的,其操作的結(jié)果不影響源串。

      相反,StringBuffer中對(duì)字符串的連接操作是對(duì)源串本身進(jìn)行的,操作之后源串的值發(fā)生了變化,變成連接后的串。

    2.5.4 其它操作

    ? 1.字符串的比較

      String中提供的方法:
      equals( )和equalsIgnoreCase( )
      它們與運(yùn)算符'= ='實(shí)現(xiàn)的比較是不同的。運(yùn)算符'= ='比較兩個(gè)對(duì)象是否引用同一個(gè)實(shí)例,而equals( )和equalsIgnoreCase( )則比較  兩個(gè)字符串中對(duì)應(yīng)的每個(gè)字符值是否相同。

     
    2.字符串的轉(zhuǎn)化

      java.lang.Object中提供了方法toString( )把對(duì)象轉(zhuǎn)化為字符串。

     
    3.字符串"+"操作

      運(yùn)算符'+'可用來(lái)實(shí)現(xiàn)字符串的連接:
      String s = "He is "+age+" years old.";
      其他類(lèi)型的數(shù)據(jù)與字符串進(jìn)行"+"運(yùn)算時(shí),將自動(dòng)轉(zhuǎn)換成字符串。具體過(guò)程如下:
      String s=new StringBuffer("he is").append(age).append("years old").toString();

      注意:除了對(duì)運(yùn)算符"+"進(jìn)行了重載外,java不支持其它運(yùn)算符的重載。


    posted on 2006-05-25 13:01 bisal 閱讀(257) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(4)

    隨筆檔案

    文章檔案

    相冊(cè)

    Java戰(zhàn)友兄弟

    常用技術(shù)交流平臺(tái)

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产色婷婷精品免费视频| 理论秋霞在线看免费| 国产免费牲交视频免费播放| 色噜噜亚洲精品中文字幕| 日本在线免费观看| 亚洲综合中文字幕无线码| 又粗又硬免费毛片| 久久国产乱子伦精品免费看| 亚洲色欲色欱wwW在线| 亚洲性日韩精品一区二区三区| 国产精品免费一区二区三区四区| 亚洲综合色7777情网站777| 亚洲无线一二三四区手机| 亚洲免费电影网站| 永久免费观看黄网站| 亚洲成a人片在线播放| 91久久青青草原线免费| 在线亚洲v日韩v| 亚洲欧洲第一a在线观看| 国产色婷婷精品免费视频| 最近的中文字幕大全免费8| 成人亚洲国产精品久久| 亚洲精品综合一二三区在线| 免费a级毛片永久免费| 在线观看免费视频资源| v片免费在线观看| 亚洲日韩国产精品乱| 中文字幕免费在线看线人| 一区二区三区免费电影| 国产成人精品日本亚洲18图| 九月丁香婷婷亚洲综合色| 久久一区二区三区免费播放| 亚洲色图校园春色| 国内精品99亚洲免费高清| 岛国av无码免费无禁网站| 国产麻豆一精品一AV一免费 | 国产AV无码专区亚洲A∨毛片| 成年丰满熟妇午夜免费视频| 日韩在线永久免费播放| 一本到卡二卡三卡免费高| 亚洲一卡2卡三卡4卡无卡下载 |