<font id="tbtdb"></font>

        <sub id="tbtdb"><delect id="tbtdb"></delect></sub>

          <progress id="tbtdb"></progress>
          <address id="tbtdb"></address><thead id="tbtdb"></thead>
          <font id="tbtdb"></font>

          <meter id="tbtdb"><cite id="tbtdb"><dl id="tbtdb"></dl></cite></meter>

          好程序員-千鋒教育旗下高端IT職業教育品牌

          400-811-9990
          我的賬戶
          好程序員

          專注高端IT職業培訓

          親愛的猿猿,歡迎!

          已有賬號,請

          如尚未注冊?

          [JavaEE] 好程序員Java培訓分享Java基礎之string

          [復制鏈接]
          78 0
          葉子老師 發表于 2019-9-28 15:15:13 | 只看該作者 |閱讀模式 打印 上一主題 下一主題
          好程序員Java培訓分享Java基礎string先來講一下字符串
          字串符分類
              不可變字符串:----String.字符串本身不能發生改變,與指向字符串的引用無關.
                  String s1 = "1000phone";
              可變字符串:----StringBuilder/StringBuffer.字符串本身可以發生變化,與指向可變字符串的引用無關
                  StringBuffer sBuffer = new StringBuffer("1000phone");
          不可變字符串本身是一個常量,保存在常量區,是存儲在了堆區中一塊兒特殊的區域里。
          **字符串常量的特點:**同一個字符串常量在常量區只允許存儲一個。
              String s = "1000phone";//不可變字符串
               * 當執行s的時候,會到常量區找叫1000phone的字符串,如果有直接讓s保存他的地址,如果沒有,會在常量區開辟一塊兒空間存1000phone.
              String s3 = new String("1000phone");
               * 執行s3,由于進行了new,一定會現在堆中開辟一塊兒空間,1000phone是作為參數傳給了對象.保存在了對象的一個String
          **使用equals進行String的比較**
          **2.轉換:**
          將字符數組轉換成字符串
              char[] arr = {'p','h','o','n','e'};
               String string1 = new String(arr);  //string1 = phone
          將字符串轉換成字符數組
              char[] arr1 = string.toCharArray();
          System.out.println(arr1);
          將字節數組轉成字符串
                  //String(byte[] bytes)
                  //String(byte[] bytes, int offset, int length)
                  //String(byte[] bytes, String charsetName)//使用指定的編碼將字節數組轉換成字符成
                  byte[] bytes = {97,98,99,100};
                  String string3 = new String(bytes);
                  System.out.println(string3); //abcd
          將字符串轉成字節數組
                  //byte[] getBytes()
                  byte[] bytes1 = string3.getBytes();
          將基本數據類型轉換成字符串
                  //String.valueOf()
                  String string4 = String.valueOf(true);
                  System.out.println(string4);//true
          子串:
              //包含起始位置,不包含結束位置,到結束位置的前一位
              String substring(int beginIndex, int endIndex);
          大小寫轉換
                  String toLowerCase();  // 轉成小寫
                  String toUpperCase();  // 轉成大寫
          按字典順序比較兩個字符串
              * 字典順序:按照ASCII表比較當前的兩個字符,ASCII碼大的認為是大的字符
              * 規則:從左邊第一個字符開始比較
              * 如果當前的字符不相同,直接認為ASCII大的字符串是大字符串,后面的字符停止比較
              * 當前字符比較的具體規則:使用前面的字符-后面的字符,返回差值.如果是負數,說明前面的字符串小于后面的.反之前面的大.
              * 如果當前的字符相同,再去比較第二個字符,依次往后推,如果比到最后都相同,則認為兩個字符串相等,差值返回0.
                  "1000PHone".compareTo("1000PHone");//0
                  "1000AHone".compareTo("1000BHone");//-1
                  "100000".compareTo("100");//-3
          **可變字符串:**
          * 字符串緩沖區.StringBuffer/StringBuilder
          * 區別:
          * StringBuffer:出現在jdk1.0,是線程安全的,考慮了線程安全問題
          * StringBuilder:出現在jdk1.5,是線程不安全的,沒有考慮線程安全問題
          *
          * 注意:在不考慮線程安全問題時,盡量使用StringBuilder,因為速度快,效率高
          使用:
              StringBuffer sBuffer = new StringBuffer();
              //1.存儲:
              //StringBuffer append(boolean b)   從最后插入
              sBuffer.append("abcd"); //abcd
              //StringBuffer insert(int offset, boolean b)   從指定位置插入
              sBuffer.insert(4, 123);
              System.out.println(sBuffer);//abcd123
             
              //2.刪除:
              //StringBuffer delete(int start, int end)   刪除一部分字符串
              //StringBuffer deleteCharAt(int index)  刪除一個字符
              System.out.println(sBuffer.deleteCharAt(4));//abcd23
              System.out.println(sBuffer.delete(2,4)); //ab23
              //3.修改:
              //StringBuffer replace(int start, int end, String str)  替換指定的子字符串
              //void setCharAt(int index, char ch) 修改一個字符
              sBuffer.replace(1, 3, "ab") ; //aab3
              //4.獲取:
              //char charAt(int index)
              System.out.println(sBuffer.charAt(0)); //a
              //返回指定子字符串的下標  從左到右
              //int indexOf(String str)
              System.out.println(sBuffer.indexOf("ab"));//1
              //返回指定子字符串在此字符串中第一次出現處的索引,從指定的索引開始。
            System.out.println(sBuffer.indexOf("ab",0)); //1
              System.out.println(sBuffer.indexOf("ab",2)); //-1
              //int lastIndexOf(String str)
              //返回指定子字符串(從右邊開始計數)在此字符串第一次出現時的索引
              System.out.println(sBuffer.indexOf("ba")); //-1
              System.out.println(sBuffer.indexOf("ab")); //1
              //int lastIndexOf(String str, int fromIndex)
              /返回指定字符在此字符串中最后一次出現處的索引,從指定的索引處開始進行反向搜索。
              System.out.println(sBuffer.indexOf("ab",1)); //1
              //5.反轉:
              //StringBuffer reverse()
              System.out.println(sBuffer.reverse()); //3baa
          ## 2.網址: ##
          * 網址的功能:實現客戶端與服務器端的通信
          * 協議:是制定一個統一的規范
          * http協議:超文本傳輸協議,實現的是網絡間的通信的一個通信規則
          * https協議:安全的http協議---可以省略,默認是http協議
          * 域名/IP:標記網絡上的唯一一臺主機     可以簡化寫:baidu
          * 端口號:標記同一臺主機上的某一個服務器   [0,65536]---可以省,默認80
          * 資源路徑:   可以省
          * 查詢條件:   可以省
                * 例子:
                * 1.判斷是不是網址---http/https
                * 2.取出端口
                * 3.取出查詢條件
                *
          * 驗證qq號與密碼是否正確?
               * a:本地驗證---驗證的是qq與密碼的格式
                   * --qq:
                       * 1.首字母不能為0  
                       * 2.全部是數字  
                       * 3.[5,11]
                   * 要求:使用兩種方式驗證:
                       * 1.普通的字符串驗證     
                       * 2.利用自定義的異常
               * b:網絡驗證---驗證的是qq與密碼與服務器存儲的是否相同.
                   * --寫一個虛擬的qq,密碼即可
          ## 3.Date:日期類 ##
          * Data:數據類,裝的是二進制的數據
          *
          * java.util   對應的是java的日期類型,包括年月日  時分秒
          * java.sql    對應的是數據庫的日期類型 ,只包括 年月日
          *
               * long型的時間,這個時間從1970年開始算
               * long time = date.getTime();
          **日期轉換**
          * Format:格式轉換器
          * DateFormat:日期格式轉換器
          * //使用自定義的日期格式轉換器實現自由轉換----SimpleDateFormat
              * SimpleDateFormat simpleDateFormat = new  SimpleDateFormat("yyyy/MM/dd  HH:mm:ss");//HH代表24小時制
          好程序員Java培訓官網:http://www.xn122.com/javaEE_class.shtml

          精彩內容,一鍵分享給更多人!
          收藏
          收藏0
          轉播
          轉播
          分享
          淘帖0
          支持
          支持0
          反對
          反對0
          回復

          使用道具 舉報

          您需要登錄后才可以回帖

          本版積分規則

          關注我們
          好程序員
          千鋒好程序員

          北京校區(總部):北京市海淀區寶盛北里西區28號中關村智誠科創大廈

          深圳西部硅谷校區:深圳市寶安區寶安大道5010號深圳西部硅谷B座A區605-619

          杭州龍馳智慧谷校區:浙江省杭州市下沙經濟技術開發區元成路199號龍馳智慧谷B座7層

          鄭州校區:鄭州市二七區航海中路60號海為科技園C區10層、12層

          Copyright 2007-2019 北京千鋒互聯科技有限公司 .All Right

          京ICP備12003911號-5 京公安網11010802011455號

          請您保持通訊暢通1對1咨詢馬上開啟

          电影韩国三级2019在线观看