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

首頁 > 編程 > C++ > 正文

深入解析C++和JAVA的字符串

2020-01-26 15:00:54
字體:
供稿:網(wǎng)友

所有的字符串類都起源于C語言的字符串,而C語言字符串則是字符的數(shù)組。C語言中是沒有字符串的,只有字符數(shù)組。
談一下C++的字符串:C++提供兩種字符串的表示:C風(fēng)格的字符串和標(biāo)準(zhǔn)C++引入的string類型。一般建議用string類型,但是實際情況中還是要使用老式C風(fēng)格的字符串。
1.C風(fēng)格的字符串:C風(fēng)格字符串起源于C,并在C++中得到擴展。字符串存儲在一個字符數(shù)組中,例如:
       const char *str = “zhangdan”;(不要忘掉最后的/0)
       這里用常量字符數(shù)組來表示字符串。操作字符串的時候只要操作指針就可以了。如 :
       const char * str = "zhangdan";  const char *p = str; 然后對p進行操作就可以了。
2.標(biāo)準(zhǔn)C++的string類型:如果用的話首先要引入頭文件:#include<string>
       在C++中提供的標(biāo)準(zhǔn)字符串類型提供了以下操作:
      (1).支持用字符序列或者第二個字符串去初始化一個字符串對象。C風(fēng)格的字符串不支持用另外一個字符串初始化另外一個字符串。
      (2).支持字符串之間的copy,C風(fēng)格字符串通過strcpy()函數(shù)來實現(xiàn)。
      (3).支持讀寫訪問單個字符。對于C風(fēng)格的字符串,只有解除引用或者通過下標(biāo)操作才能訪問單個字符。
      (4).支持兩個字符串相等比較,對于C風(fēng)格的字符串,比較是通過strcmp()函數(shù)來實現(xiàn)的。
      (5).支持兩個字符串連接,對于C風(fēng)格的字符串用strcpy() 函數(shù)copy到一個新的實例中,然后用strcat()把兩個字符串接起來。如:
       string str1 = "111111", str2 = "222222";
       string str3 = str1 + str2;
      (6).支持對字符串長度的查詢:string s ("XXXXXXX"); str.size() 為字符串的長度。
     相互轉(zhuǎn)換:const char * str = str2.c_str(); //不可把字符串類型直接賦給字符數(shù)組,但是可以吧一個字符數(shù)組賦給一個字符串類型:如:const char *str = "zhangdan"; string str2 = str;
   

C++ string類的輸入
    (1)方法一:和C字符串輸入的方法一相同。
    (2)方法二:使用getline函數(shù)。
    例如:string a;
   getline(cin,a);
  

字符串到數(shù)字的轉(zhuǎn)換
    atoi函數(shù)獲取一個C字符串參數(shù),返回對應(yīng)的int值。如果參數(shù)不與一個int值對應(yīng),atoi就會返回0。atoi函數(shù)在文件為cstdlib的庫中。如果數(shù)字太大,不能轉(zhuǎn)換成int類型的值,可以使用atol將字符串轉(zhuǎn)換為long類型的值。
   例如:
    atoi("1234");   //返回整數(shù)1234
    atoi("#123");   //返回0
   C++中字符串的常用方法就不一一介紹,介紹幾個常用的:begin(),end(),append(),等等。
  2:JAVA中的字符串:在JAVA中,String不屬于8中基本類型,所以String是對象,默認值是null
 例如:String str = new String(); 和String str =  new String("");是一個意思,就是構(gòu)造一個空字符串,(理解null和""的區(qū)別)。
        看下面這段代碼: 

String str = "xxx"; String str2 = new String("xxx");System.out.println(str == str2);System.out.println(str.equals(str2)); 

結(jié)果是:
false
true

為什么呢? 在JAVA中 == 是對地址的比較,而equals是對內(nèi)容的比較,為什么地址不一樣呢?
先引入常量池的概念:

常量池(constant pool)指的是在編譯期被確定,并被保存在已編譯的.class文件中的一些數(shù)據(jù)。它包括了關(guān)于類、方法、接口等中的常量,也包括字符串常量。
當(dāng)我們將一個字符串賦給一個字符串變量的時候,如String str = "xxxx"; 這時候,先去常量池中找有沒有"xxxx"的字符串拷貝,如果有的話,把str的地址指向常量池中字符串常量"xxxx"的地址,如果沒有則在常量池中建立"xxxx"的字符串常量。而 new String("xxxx")是放在堆內(nèi)存中,有自己的內(nèi)存空間。所以地址比較的時候不一樣。
看下面一段代碼: 

String str = "zhang"; String str2 = "peng"; String str3 = "zhangpeng"; String str4 = "zhangpeng" str += str2; System.out.println(str == str3); System.out.println(str3 == str4)

結(jié)果為:
true
true

為什么呢?
首先,我們要知道Java會確保一個字符串常量只有一個拷貝。

因為例子中的str3和str4中的"zhangpeng"都是字符串常量,它們在編譯期就被確定了,所以str3==str4為true;而"zhang"和"peng"也都是字符串常量,當(dāng)一個字符串由多個字符串常量連接而成時,它自己肯定也是字符串常量,所以str2也同樣在編譯期就被解析為一個字符串常量,所以str2也是常量池中"zhangpeng"的一個引用。

JAVA 中String 和StringBuffer的區(qū)別:

String:
是對象不是原始類型.
為不可變對象,一旦被創(chuàng)建,就不能修改它的值.
對于已經(jīng)存在的String對象的修改都是重新創(chuàng)建一個新的對象,然后把新的值保存進去.
String 是final類,即不能被繼承.
StringBuffer:
是一個可變對象,當(dāng)對他進行修改的時候不會像String那樣重新建立對象
它只能通過構(gòu)造函數(shù)來建立,
StringBuffer sb = new StringBuffer();
不能通過付值符號對他進行付值.
sb = "xxxxx";
對象被建立以后,在內(nèi)存中就會分配內(nèi)存空間,并初始保存一個null.向StringBuffer
中付值的時候可以通過它的append方法.
sb.append("hello");
字符串連接操作中StringBuffer的效率要比String高:
String str = new String("xxx");
str += "xx";
的處理步驟實際上是通過建立一個StringBuffer,然后調(diào)用append(),最后
再將StringBuffer toSting();
這樣的話String的連接操作就比StringBuffer多出了一些附加操作,所以就慢了

問一個問題:為什么StringBuffer效率這么高,那么我們還要String呢?
不會的查一下吧,方向是常量池。

Python 字符串:
Python是一種強大的腳本語言,它定義字符串的時候不用定義類型。python字符串通常有單引號('...')、雙引號("...")、三引號("""...""")或('''...''')包圍,三引號包含的字符串可由多行組成,一般可表示大段的敘述性字符串。在使用時基本沒有差別,但雙引號和三引號("""...""")中可以包含單引號,三引號 ('''...''')可以包含雙引號,而不需要轉(zhuǎn)義。當(dāng)需要特殊轉(zhuǎn)義的時候可以用 '/'
python 也有很多字符串操作的函數(shù)。具體可以dir一把,跟C++和java都是大同小異的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
久久视频在线视频| 麻豆传媒视频在线观看免费| 波多野结衣三级在线| 精品一区二区在线视频| 免费不卡在线视频| 欧洲精品一区二区三区久久| 美女视频黄免费的亚洲男人天堂| 无遮挡的视频在线观看| 国产三区在线播放| 久久手机精品视频| 亚洲经典中文字幕| 91超碰这里只有精品国产| 永久免费无码av网站在线观看| 国产综合在线播放| 久久er99热精品一区二区三区| 免费亚洲视频| 黄色在线观看www| 91蝌蚪视频九色| 奇米视频888战线精品播放| 成年人在线观看视频| 国产福利一区在线观看| 经典一区二区三区| 少妇伦子伦精品无吗| 在线视频中文字幕第一页| 久久国产午夜精品理论片最新版本| 青青草国产在线| 99re这里只有精品在线| 国产精品欧美一区喷水| 母乳一区在线观看| 麻豆tv在线观看| 26uuuu精品一区二区| 欧美性色黄大片人与善| www.av在线播放| 亚洲国产综合久久精品小蝴蝶| 91在线精品秘密一区二区| 视频国产一区二区三区| 国产精品国产一区二区三区四区| 成人免费视频国产免费| 91美女片黄在线观| 国产精品不卡一区二区三区| 欧美日韩中文在线| 四虎久久影院| 国产精品www994| 影音先锋日韩| 精品美女调教视频| 国产成人鲁鲁免费视频a| 欧美激情在线一区二区三区| 99人久久精品视频最新地址| 91久久香蕉国产日韩欧美9色| 免费在线成人网| 丁香一区二区三区| 一级在线观看视频| 欧美精品乱码| 国产精品久久久亚洲| 亚洲婷婷在线| 99精品在线直播| 在线激情影院一区| 欧美一级高清大全免费观看| 奇米影视四色在观看线| 伊人222成人综合网| 中文字幕 日韩有码| 色一区二区三区四区| 69视频在线播放| 翔田千里亚洲一二三区| 国产91麻豆视频| 玛丽玛丽电影原版免费观看1977| 嘿嘿视频在线观看| **国产精品| 国产高清视频免费最新在线| 成人性生交大片免费看中文视频| 亚洲日本在线观看视频| 日韩美女视频19| 久久7799| 人妻少妇精品无码专区久久| 国产成人一级片| 国产美女福利视频| 欧美视频中文一区二区三区在线观看| 欧美激情一区二区三区不卡| 污视频网站免费| 最新国产精品精品视频| 一区二区三区免费高清视频| 欧美日韩精品免费在线观看视频| 成人国产精品视频| 亚洲欧美日韩图片| 加勒比综合在线| 久久成年人网站| 国产高清视频免费在线观看| 中文字幕不卡三区| 沈樵精品国产成av片| 天天躁日日躁aaaa视频| 欧洲成人在线视频| 精品视频一区二区三区| 国产欧美一区二区三区在线观看视频| 伊人性伊人情综合网| 欧洲精品一区色| 91欧美精品成人综合在线观看| 日本精品视频一区二区| 伊人久久大香线蕉综合75| 国产福利在线免费| 成人精品一区二区三区电影黑人| 日韩欧美字幕| av高清不卡| 男人j桶女人的网站| 久久亚洲国产精品一区二区| 国产黄色在线观看| 久久成人精品视频| 国产99re66在线视频| 91麻豆精品国产91久久久资源速度| 欧美亚洲一区| 日韩大片欧美大片| 欧美激情国产日韩| 欧美日韩一区二区三区视视频| 黄页大全在线免费观看| 欧美人体大胆444www| 国产校园另类小说区| 久久久国产精品不卡| 午夜福利三级理论电影| 久久av影视| 新天堂中文资源官网在线观看| 国产一线二线在线观看| 欧美性xxxxx极品少妇| 国产盗摄视频在线观看| 欧美日高清视频| 欧美日韩一区二区三区在线播放| 国产探花在线视频| 免费一区二区三区在线观看| 日韩av第一页| 亚洲精品久久久久久久蜜桃臀| 是的av在线| 亚洲aⅴ男人的天堂在线观看| 国产肥臀一区二区福利视频| 国产午夜久久av| 国产免费高清一区| 欧美日韩免费不卡视频一区二区三区| 日韩精品极品视频在线观看免费| 美女视频黄免费的久久| 国产精品一区二区久久国产| 久久精品国产99国产精品| 在线看欧美视频| 亚洲综合123| 波多野结衣绝顶大高潮| 欧美三级在线观看视频| 97久久综合区小说区图片区| 在线观看视频你懂得| 久久久综合激的五月天| 国产精品视频白浆免费视频| 国产成人自拍高清视频在线免费播放| 萌白酱视频在线| 国产成人高清激情视频在线观看| 丁香桃色午夜亚洲一区二区三区| 国产精品国产三级国产aⅴ入口| 欧美超强性xxxxx| 国产亚洲精品久久久久久移动网络| 久久中文字幕av一区二区不卡| 国产综合av一区二区三区| 日韩欧美国产成人| 国产一区二区网址| 污污内射在线观看一区二区少妇| 亚洲最大免费| 中文字幕乱码视频| 日韩电影免费在线观看网站| 丰满岳乱妇一区二区三区| 色黄网站在线观看| 精品久久久久成人码免费动漫| 成人在线免费观看视频| 国产美女一区视频| 国产三级三级看三级| 一区二区蜜桃| 日韩三级电影视频| 亚洲成年电人电影网站| 欧美激情精品久久久久久小说| 国产深喉视频一区二区| 国产肉体ⅹxxx137大胆| 日韩在线欧美| 天海翼亚洲一区二区三区| 青青视频免费在线| 国产99久久久久久免费看农村| 麻豆传媒网站在线观看| 亚洲婷婷综合久久一本伊一区| 中文字幕不卡每日更新1区2区| 欧美精品一区二区高清在线观看| 国产亚洲欧美一区二区三区| 欧美一级鲁丝片| 国产黑丝一区二区| 亚洲综合久久网| 中文字幕视频一区| 欧洲视频一区二区| 国产精品自拍亚洲| 黄网站在线观看| 国产欧美va欧美va香蕉在线| 精品视频一区二区观看| аⅴ资源新版在线天堂| 午夜精品久久久99热福利| 国产精品久久久久9999小说| 午夜男人的天堂| 亚洲第一页在线视频| 精品成人av一区二区在线播放| 草草久久久无码国产专区| 欧美专区日韩视频| 强制捆绑调教一区二区| 亚洲综合久久久久| 国产精品国产高清国产| 久久五月婷婷丁香社区| 九九视频精品在线| 成人免费在线视频网站| 男女超爽视频免费播放| 欧美日韩色一区| 在线成人午夜影院| 91黄色免费网站| 日韩电影免费观| 欧美国产视频日韩| 午夜精品一区二区三区四区| 蜜桃视频在线观看播放| 激情福利在线| 国产福利视频一区| 亚洲国产精彩中文乱码av在线播放| 国产精品成人免费电影| 国产一二三区在线视频| 黄瓜视频污app| 波多野结衣50连登视频| 欧美一区二区三区在线观看视频| 欧美成人免费在线视频| 97在线观看免费观看| 欧美性猛交xxxx免费看久久久| 精品国产美女福利到在线不卡| 电影亚洲精品噜噜在线观看| 激情小说亚洲图片| 欧美一区二区三区黄片| 免费国产自线拍一欧美视频| 在线看片线路1| 成年人网站免费观看| 欧美性猛交xxxx免费看久久| 久久99最新地址| 精品精品精品| 青青草国产一区二区三区| av一区二区在线看| av综合网址| 黄色国产网站在线播放| 少妇伦子伦精品无吗| 国产精品露出视频| 亚洲综合欧美| 国产一二三区在线观看| 韩国三级hd中文字幕| 久久久久久久久福利| 国产成人精品一区二区无码呦| 一级特级黄色片| 97欧洲一区二区精品免费| 久久精品理论片| 91亚洲一线产区二线产区| 毛片免费在线| 国产精品一二三区| 亚洲裸体xxxx| 国产成人aa精品一区在线播放| 偷拍夫妻性生活| 一级免费视频| 91美女福利视频| 国产99久久精品一区二区永久免费| 鲁鲁狠狠狠7777一区二区| 中文字幕日韩第一页| 国产黄大片在线观看| 91.xxx.高清在线| 成人动漫视频在线| 日本一区二区免费在线观看视频| 日韩在线视频网址| 男女一区二区三区免费| 欧美黄色直播| 精品人伦一区二区三区蜜桃免费| 污视频在线观看网站| 亚洲色图欧美偷拍| 亚洲免费黄色片| 亚洲男人天堂久| 男女啪啪在线观看| 亚洲一区二区在线免费看| 蜜臀久久99精品久久久画质超高清| 国产亚洲亚洲国产一二区| 疯狂撞击丝袜人妻| 成人av在线影院| 一本久道久久综合多人| 国产成人精品最新| 日本久久久久久| 欧美日韩国产精品一区| 99综合久久| 麻豆精品国产传媒| 一区二区三区高清不卡| 国产鲁鲁视频在线观看特色| 久久亚洲欧美国产精品乐播| 国产精品丝袜黑色高跟鞋| 青青色在线视频| 日韩欧美一区三区| 97操碰视频| 不卡av免费在线观看| 中文在线最新版地址| 国产一区二区在线观看免费播放| 国产精品亚洲视频在线观看| 日本桃色视频| 国产一级特黄视频| 97在线观看播放| 最近免费中文字幕中文高清百度| 综合久久一区二区三区| 亚洲成av人片一区二区密柚| sese在线| 亚洲精品男人天堂| 成人动漫在线免费观看| 久久国产精品影视| 国产午夜亚洲精品一级在线| 日日夜夜精品网站| 日韩中文字幕一区二区三区| 国产suv精品一区二区6| www污污在线| 岛国一区二区三区高清视频| 欧美另类交视频| 男女私大尺度视频| 日韩综合视频在线观看| 久草福利视频在线| 爆操妹子视频在线观看| 日韩你懂的电影在线观看| 国产一级片免费在线观看| 亚洲欧美乱综合| 婷婷激情图片久久| 麻豆成人在线视频| 香蕉视频在线看| 久久久激情视频| 国产丝袜一区| 久久国产精品一区| 亚洲高清成人| 国产乱码久久久久| 国产精品久久999| 欧美日韩免费电影|