轉(zhuǎn)義字符究竟該什么時候用?怎么用???糊涂了
$str_string3 = '甲問:\'能告訴我網(wǎng)址嗎?\'';
$str_string4 = "乙答道:\"idcbgp.cn\"";
$str_string2 = "乙毫不猶豫地回答:'當(dāng)然是慕課網(wǎng)咯!'";
$str_string3 = '甲問:\'能告訴我網(wǎng)址嗎?\'';
$str_string4 = "乙答道:\"idcbgp.cn\"";
$str_string2 = "乙毫不猶豫地回答:'當(dāng)然是慕課網(wǎng)咯!'";
2017-03-05
舉報
2017-03-05
字符串最外圍(就是頭尾之間)必須要有單引號或者雙引號引起,但有時候會出現(xiàn)這樣的場景,在這段字符串中的人物說了話,或者有文字需要用引號引起,在平時我們寫作的時候都會在人物說話這個場景加上雙引號是吧。
$string="一個同學(xué)問我:'轉(zhuǎn)義字符究竟該什么時候用?怎么用?。?,我說出我的理解";
字符串的標(biāo)志就是首尾有引號引起"" || '';我們并沒有聲明這段話是字符串,為什么系統(tǒng)能識別這是一段字符串?那是因為這段話是用雙引號或者單引號引起的;字符串第一個雙引號(單引號)與字符串最后一個雙引號(單引號)是一對,這之間就是一段字符串,如果你這樣
$string="一個同學(xué)問我:"轉(zhuǎn)義字符究竟該什么時候用?怎么用???",我說出我的理解";
如果你這樣寫,這一段字符串有四個雙引號,兩對雙引號,系統(tǒng)解析的時候怎么去判斷這一段字符串的開始位置和結(jié)束位置?四個引號,1,2,3,4;他們的兩兩不重復(fù)不移動位置的組合,有多少?1,2;1,3;1,4;2,3;...這么多組合系統(tǒng)是沒法判斷的,機器比人笨嘛。解決這個判斷,我將其中的2,3換成單引號,系統(tǒng)在解析的時候就不會疑惑了,第一個是雙引號那么這段字符串的結(jié)束符號必定也是雙引號,單引號就忽略掉了,同理單引號引起的也是如此。
$string="一個同學(xué)問我:'轉(zhuǎn)義字符究竟該什么時候用?怎么用啊?',我說出我的理解:'我認(rèn)為...'。";
有個規(guī)則:單中嵌雙,雙中嵌單。上面這段話是對的,它符合這個規(guī)則,單雙引號都是同理的,怎么說呢,取反。
$string="一個同學(xué)問我:\"轉(zhuǎn)義字符究竟該什么時候用?怎么用???\",我說出我的理解:\"我認(rèn)為...\"。";
在我們寫文章的時候,人物說的話是雙引號引起的對吧,上面那段字符串我還是要用雙引號作為最外層引號,人物說的話也要用雙引號引起。最外層引號和字符串里面人物說的話也是雙引號,系統(tǒng)怎么去解析?前面說了,是沒法判斷的,這時候我們使用轉(zhuǎn)義字符“\”;我們學(xué)計算機課程的時候老師都會給我們說轉(zhuǎn)義字符,其實轉(zhuǎn)義字符可以這樣理解:系統(tǒng)規(guī)定了什么符號有什么功能,比如我們單雙引號:簡直就是字符串的標(biāo)志。解析的時候“\”告訴系統(tǒng):“腳都嘛的,這個不是你的,你別誤會,這是別人的東西”,系統(tǒng):“啊?不是我的東西???不好意思“ ,然后系統(tǒng)就跳過這個了,然后輸出的時候就原樣顯示。
粘貼一段話:
當(dāng)雙引號中包含變量時,變量會與雙引號中的內(nèi)容連接在一起;
當(dāng)單引號中包含變量時,變量會被當(dāng)做字符串輸出。
以上是我的理解,希望我的理解能對你有所幫助,我的理解也有不足的地方,歡迎指正!你的見解對我也是一種提升,謝謝
2017-06-15
這里還是用到轉(zhuǎn)義字符
2017-03-05
字符串的標(biāo)志就是首尾有引號引起"" || '';我們并沒有聲明這段話是字符串,為什么系統(tǒng)能識別這是一段字符串?那是因為這段話是用雙引號或者單引號引起的;字符串第一個雙引號(單引號)與字符串最后一個雙引號(單引號)是一對,這之間就是一段字符串。。解決這個判斷,我將其中的2,3換成單引號,系統(tǒng)在解析的時候就不會疑惑了,第一個是雙引號那么這段字符串的結(jié)束符號必定也是雙引號,單引號就忽略掉了,同理單引號引起的也是如此。
2017-03-05
轉(zhuǎn)義字符的使用:
以"\"符號為例,JAVA中有很多操作,例如文件操作等,需要用到路徑這個東西,比如:com\mypackage\xxx.xml,這個路徑一般是以字符串形式表示的,但問題來了,JAVA不知道你的\號到底是路徑中的下一層的意思,還是字符串"\"的意思。
所以正確的寫法應(yīng)該是com\\mypackage\\xxx.xml。
又例如我們熟悉的\n,換行符,如果在字符串中間直接按回車,java是不會對字符串做換行操作的,因為他不知道你想將代碼分兩行寫還是字符串分兩行顯示,這時候就需要在字符串中間加上\n轉(zhuǎn)義字符來將字符串換行。
總之,轉(zhuǎn)義字符的意義就是避免出現(xiàn)二義性,二義性是所有編程語言都不允許的。