亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

黑馬程序員——【Java基礎】——String、StringBuffer和基本數據包裝類

2019-11-14 21:15:36
字體:
來源:轉載
供稿:網友
黑馬程序員——【java基礎】——String、StringBuffer和基本數據包裝類

---------- android培訓、java培訓、期待與您交流! ----------

類String------------------------------------------------

一、概述

 ?。ㄒ唬┒x:String是字符串的類類型,用于描述字符串事物。

  (二)特點:字符串對象一旦被初始化,就不會被改變。String類不能有子類。

 ?。ㄈ懛?/p>

  1、Sting s= new String(“abc”) ;

  2、String s = “abc”;

  (四)細節

  String s = "abc";//創建一個字符串對象在常量池中。

  String s1 = new String("abc");//創建兩個對象一個new一個字符串對象在堆內存中。

  System.out.PRintln(s==s1);//false

  System.out.println(s.equals(s1));

  //string類中的equals復寫Object中的equals建立了string類自己的判斷字符串對象是否相同的依據。

  //其實就是比較字符串內容。

二、字符串常用方法

 ?。ㄒ唬┇@取

   * int length() :獲取字符串的長度。

   * char charAt(int index):返回指定索引index處的 char 值

   * int indexOf(int ch)://返回的是ch在字符串中第一次出現的位置

   * int indexOf(int ch,int fromIndex):從fromIndex指定位置開始,獲取ch在字符串中第一次出現的位置。

   * int indexOf(String str)://返回指定字符串str在此字符串中第一次出現的位置。

   * int indexOf(String str,int fromIndex):從fromIndex指定位置開始,獲取指定字符串str在字符串中出現的位置。

   * int lastIndexOf(int ch)://返回指定字符在此字符串中最后一次出現處的索引,即反向索引

 ?。ǘ┡袛?/strong>

   * Boolean contains(str):判斷字符串中是否包含str子串。

    特殊之處:indexOf(str)可以索引str第一次出現的位置,如果返回-1表示該str不在字符串中存在。所以,也可以用于對指定判斷是否包含。

    例如:if(str.indexOf(“aa”)!=-1)而且該方法既可以判斷,又可以獲取出現的位置。如果只為判斷,用contains。

   * boolean isEmpty():判斷字符串是否為空(JDK1.6開始支持)。

   * boolean startsWith(String prefix):字符串是否是以指定內容開頭。

   * boolean endsWith(String suffix):字符串是否是以指定內容結尾。

   * boolean equals(str):判斷字符串的內容是否相同,它覆寫了Object類的方法。

   * boolean equalsIgnoreCase():忽略大小寫的比較。

  (三)轉換

   * char[] toCharArray():將字符串轉成字符數組。

   * 將字符數組轉成字符串:

    -構造函數:String (char[]);

   String(char[],offset,count);//將字符數組中的一部分轉成字符串。

    -靜態方法:

   static String copyValueOf(char[]);

   staticString copyValueOf(char[] data,int offset ,int count );

     static String valueOf(char[]);

   * 將字節數組轉成字符串:

     String (byte[]);

     String(byte[], offset,count);//將字節數組中的一部分轉成字符串。count表示個數。

   * byte[] getBytes():將字符串轉成字節數組。

   * 將“基本數據類型”——“字符串”:

     static String valueOf(int);

     static String valueOf(double);

     特殊:字符串和字節數組在轉換過程中,是可以指定編碼表的。

   * String concat(String str):將字符串進行連接。

 ?。ㄋ模┨鎿Q

   * String replace(oldchar, newchar):生成一個新的字符串,如果要替換的字符不存在,返回原字符串。

   * String replace(CharSequence target, CharSequence replcement):例如str.replace(“abc”, “QQq”);

 ?。ㄎ澹┣懈?/strong>

   * String[] split(regex):按照正則表達式regex的要求對字符串進行切割,返回字符串數組。

 ?。┳哟ǐ@取字符串中的一部分)

   * String subString(int beginIndex):從beginIndex角標開始截取到字符串最后,獲取截取的子串。

   * String substring(int beginIndex, int endIndex):從beginIndex角標字符串到endIndex-1角標的字符串。

 ?。ㄆ撸┺D換,去除空格,比較

   * 將字符串轉成大寫或小寫:StringtoUpperCase()、String toLowerCase()

   * 將字符串兩端的多個空格去除:String trim()

   * 對兩個字符串進行自然順序的比較:int compareTo(String str);

類 StringBuffer------------------------------------------------

一、概述

  StringBuffer是一個類似于 String 的字符串緩沖區,可以看做一個容器。StringBuffer可以對字符串內容進行增、刪、改、查等操作。

二、特點

  1、長度是可變化的。(數組是固定的)

  2、可以直接操作多種數據類型。(數組只能操作一個)

  3、最終會通過toString()方法變成字符串。

三、創建對象

  StringBuffer sb = new StringBuffer();//初始容量為16個字符。

四、常見操作

  (一)存儲

    StringBuffer append():將指定數據作為參數添加到已有數據的結尾處。

    StringBuffer insert(int offset ,數據):可以將數據插入到指定offset位置。

 ?。ǘ﹦h除

    StringBuffere delete(start,end):刪除緩沖區中的數據,包含start,不包含end。

    StringBuffer deleteCharAt(index):刪除指定位置的字符。

    清空緩沖區:對象.delete(0,對象.length());

  (三)獲取

    char charAt(int index);

    int indexOf(String str);

    int lastIndexOf(String str);

    int length();

    String substring(int start, int end);

  (四)修改

    StringBuffer replace(int start, int end, String str);

    void setCharAt(int index, char ch);

 ?。ㄎ澹┓崔D

    StringBuffer reverse();

  (六)將緩沖區中指定數據存儲到指定字符數組中

    void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

五、JDK1.5新特點

  1、在JDK1.5版本之后,為了提高緩沖區效率,出現了StringBuilder。其中,StringBuffer是線程同步的、用于多線程。StringBuilder是線程不同步的,應用于單線程,它的出現提高效率。

  2、Java升級的理由:(1)提高效率。(2)簡化書寫。(3)提高安全性。

基本數據類型包裝類 -------------------------------------

  將基本數據類型封裝成對象的好處,在于可以在對象中定義更多的功能方法操作該數據?;緮祿愋蛯ο蟀b類的最常見作用,就是用于基本數據類型和字符串類型之間做轉換。

一、基本數據類型——包裝類

基本數據類型

對應包裝類

byte

Byte

short

Short

int

Integer

long

Long

boolean

Boolean

float

Float

double

Double

char

Character

二、“基本數據類型”——“字符串”

  1、基本數據類型+" ";

  2、基本數據類型.toString(基本數據類型值)。如:Integer.toString(25);//將25整數變成"25"。

三、“字符串”——“基本數據類型”

  1、規律格式:基本數據類型包裝類.parse基本類型(string);

  2、代碼格式:xxx a = Xxx.parseXxx(string);//必須傳入對應類型的字符串。

  3、示例:

    int a = Integer.parseInt("123");//靜態轉換方法

    Integer i = new Integer("123");

    int num = i.intValue();//跟上面的靜態方式的結果一樣,但這種屬于對象調用方式。

    Boolean b = Boolean.parseBoolean("true");

    注意:在使用時,Integer x = null;上面的代碼就會出現NullPointerException,要判斷。

四、“十進制”——“其他進制”

  toBinaryString();

  toHexString();

  toOctalString();

五、其他進制轉成十進制

  parseInt(String , radix);

  如:int a= Integer.parseInt("110", 2);

六、JDK1.5版本以后的新特性

  Integer x=4;自動裝箱。等效于Integer x=new Integer(4);

  x = x+2;//進行自動拆箱。變成了int類型。和2進行相加。x的拆箱等價于x.intValue()。

七、補充

  1、若:Integer m = 128;Integer n = 128;則:x==y,結果是false。

  2、若:Integer a = 127;Integer b = 127;則:a==b,結果是true。因為a和b指向了同一個Integer對象。當數值在byte范圍內,對于新特性,如果該值已存在,則不會再開辟新的空間。

八、練習

  /* 對一個字符串中的數值進行從小到大的排序。"20 78 9 -7 88 36 29"

  思路:

  1.排序,熟悉

  2.將字符串轉為子串,獲取字符串中需要排序的數值。發現原字符串是用空格分隔的,因此可以用字符串對象的切割方法將大字符串轉化為小串。

  3,如何將獲取的數值字符串,轉換為int類型。字符串-->基本數據類型,可以使用包裝類。 */

 1 import java.util.Arrays; 2 class wrapperClassDemo{ 3     private static final String SPACE_SEPARATOR = " ";     4     public static void main(String[] args) { 5         String numStr = "20 78 9 -7 88 36 29"; 6         System.out.println(numStr);         7         numStr = sortStringNumber(numStr); 8         System.out.println(numStr); 9     }10   // 字符串排序函數11     public static String sortStringNumber(String numStr){12         //將數字字符串轉化為字符數組13         String[] str_arr = stringToArray(numStr);14 15         //將字符數組轉化為int數組16         int[] num_arr = toIntArray(str_arr);17 18         //將int數組進行從小到大的排序19         mySortArray(num_arr);20 21         //將int數組轉化為字符串22         String temp = numToString(num_arr);23 24         return temp;25     }26   // 定義字符串轉變成字符串數組函數27     public static String[] stringToArray(String numStr){28         String[] str_arr = numStr.split(SPACE_SEPARATOR);29         return str_arr;30     }31   // 定義字符串數組轉換為int[]數組32     public static int[] toIntArray(String[] str_arr){33         int[] int_arr =new int[str_arr.length];34         for (int i = 0;i<str_arr.length ;i++ ){35             int_arr[i] = Integer.parseInt(str_arr[i]);36         }37         return int_arr;38     }39   // 對int[]進行排序40     public static void mySortArray(int[] num_arr){41         Arrays.sort(num_arr);42     }43   // 定義int[]數組轉為String函數44     public static String numToString(int[] num_arr){45 //        StringBuffer sb = new StringBuffer();//多線程,用StringBuffer46         StringBuilder sb = new StringBuilder();//單線程,用StringBuilder47         for (int x= 0;x<num_arr.length ;x++ ){48             if (x!=num_arr.length-1)49                 sb.append(num_arr[x]+SPACE_SEPARATOR);50             else51                 sb.append(num_arr[x]);52         }53         return sb.toString();54     }55 }

---------- android培訓、java培訓、期待與您交流! ----------


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
岛国av一区二区| 亚洲嫩模很污视频| 全亚洲最色的网站在线观看| 91精品国产高清自在线看超| 黄网站色欧美视频| 亚洲精品456在线播放狼人| 欧美精品手机在线| 一本久久综合亚洲鲁鲁| 精品日本高清在线播放| 久久天天躁狠狠躁夜夜爽蜜月| 欧美激情视频三区| 777777777亚洲妇女| 国产精品久久久久久久av大片| 日韩有码在线观看| 亚洲色图校园春色| 亚洲网站视频福利| 国产三级精品网站| 国产乱人伦真实精品视频| 国产视频在线观看一区二区| 久久久亚洲影院你懂的| 国产伦精品免费视频| 欧美性视频精品| 中文字幕精品久久久久| 亚洲国产精品va在线看黑人| 日韩成人av网址| 最近2019好看的中文字幕免费| 精品国产一区二区在线| 亚洲第一国产精品| 欧美电影免费观看| 亚洲日本中文字幕免费在线不卡| 色偷偷噜噜噜亚洲男人| 久久久精品一区二区三区| 2019最新中文字幕| 欧美激情图片区| 亚洲美女av电影| 91社影院在线观看| 日韩成人在线免费观看| 日本精品视频在线观看| 国产91精品视频在线观看| 国产精品三级美女白浆呻吟| 国产精品久久久999| 国产精品啪视频| 国产成人精品日本亚洲| 久久中国妇女中文字幕| 自拍偷拍亚洲在线| 国产精品白丝jk喷水视频一区| 亚洲精品乱码久久久久久按摩观| 国产区精品视频| 日韩成人网免费视频| 日韩激情视频在线| 国产美女直播视频一区| 精品在线欧美视频| 91成人福利在线| 热久久这里只有| 亚洲精品一区中文| 欧美电影免费在线观看| 欧洲日韩成人av| 日韩一区二区精品视频| 国产日韩欧美在线播放| 亚洲最大av在线| 亚洲国产91精品在线观看| 国产精品私拍pans大尺度在线| 丝袜美腿亚洲一区二区| 日韩欧美成人网| 欧美在线性爱视频| 精品网站999www| 欧美日韩亚洲一区二区| 国产成人福利夜色影视| 国产女同一区二区| 久久综合久久美利坚合众国| 欧美肥婆姓交大片| 亚洲国产精品va在线观看黑人| 欧美日韩在线一区| 国产在线a不卡| 永久免费精品影视网站| 成人激情视频网| 日韩精品免费视频| 国产成人午夜视频网址| 国产成人+综合亚洲+天堂| 亚洲国产精品999| 亚洲va国产va天堂va久久| 日韩欧美亚洲综合| 久久久久久有精品国产| 精品少妇v888av| 欧美日韩aaaa| 色婷婷久久一区二区| 亚洲成人精品av| 亚洲精品www久久久久久广东| 欧美中文字幕精品| 91情侣偷在线精品国产| 国产精品爱久久久久久久| 亚洲欧洲在线免费| 亚洲在线观看视频| 欧美日韩亚洲91| 激情亚洲一区二区三区四区| 欧美日韩电影在线观看| 亚洲人永久免费| 国产精品亚洲精品| 亚洲天堂开心观看| 一本色道久久综合亚洲精品小说| 欧美成人在线免费视频| 日韩禁在线播放| 97香蕉超级碰碰久久免费的优势| 456亚洲影院| 亚洲成人教育av| 久99九色视频在线观看| 欧美性高潮在线| 日韩视频免费在线观看| 91精品国产91久久久久久最新| 日本国产一区二区三区| 成人黄在线观看| 国产自产女人91一区在线观看| 久久免费视频网| 国产盗摄xxxx视频xxx69| 国产97免费视| 欧美一区二区大胆人体摄影专业网站| 中文字幕欧美视频在线| 欧美国产精品va在线观看| 中文字幕免费精品一区| 亚洲色图17p| 中文字幕欧美国内| 日韩中文字幕在线免费观看| 91在线观看免费高清| 日韩在线视频免费观看高清中文| 亚洲女人被黑人巨大进入al| 国产一区二区在线免费| 91免费在线视频| 亚洲精品美女久久| 成人h视频在线| 亚洲人成77777在线观看网| 免费97视频在线精品国自产拍| 亚洲电影免费观看| 国产日韩在线亚洲字幕中文| 色哟哟入口国产精品| 欧美日产国产成人免费图片| 国产精品一香蕉国产线看观看| 日韩av手机在线观看| 亲爱的老师9免费观看全集电视剧| 欧美中文字幕在线| 国产精品夫妻激情| 欧美日韩国产限制| 欧美在线www| 亚洲美女精品久久| 色噜噜亚洲精品中文字幕| 国产精品成人久久久久| 中文字幕av日韩| 97涩涩爰在线观看亚洲| 日韩电影网在线| 亚洲一区二区久久| 日韩精品视频免费| 欧美一级大片在线观看| 国产精品女人网站| 91久久久久久久久久久久久| 亚洲国产成人精品电影| 欧美肥老太性生活视频| 91日韩在线播放| 日韩经典中文字幕在线观看| 亚洲精品福利在线观看| 77777少妇光屁股久久一区| 国产精品三级在线| 国模精品一区二区三区色天香| 欧美在线视频一区二区| 亚洲热线99精品视频| 国产91色在线||