【每天一個技術(shù)點(diǎn)】注釋掉的代碼居然還能被執(zhí)行?

課代表總結(jié)如下??????
【每天一個技術(shù)點(diǎn)】注釋掉的代碼居然還能被執(zhí)行?
總結(jié):
一、計(jì)算機(jī)技術(shù)的問題??
二、計(jì)算機(jī)技術(shù)的看法??
三、計(jì)算機(jī)技術(shù)的結(jié)論??
一、計(jì)算機(jī)技術(shù)的問題???
1、【每天一個技術(shù)點(diǎn)】注釋掉的代碼居然還能被執(zhí)行?
?
00:11
?
二、計(jì)算機(jī)技術(shù)的看法??
注釋是編程語言中一個重要的組成部分,用來在源代碼中解釋代碼的功能,可以增強(qiáng)程序的可讀性、可維護(hù)性,注釋不會被執(zhí)行。
這是剛學(xué)編程時就印到腦袋里的知識點(diǎn)。然而在 Java 中偏偏就有一種情況打破了我們對注釋的認(rèn)知。來看一下這段代碼,我們會理所應(yīng)當(dāng)?shù)恼J(rèn)為 A 和 B 打印的結(jié)果為1,可事實(shí)卻是打印的2,也就是說那兩行注釋掉的代碼真的被執(zhí)行了,上面那段代碼其實(shí)完全等效于下面這段代碼。關(guān)鍵點(diǎn)就出在注釋后面的那兩個特殊字符上。這兩個字符其實(shí)是 uniqlo 的字符,分別代表著換行和回車。
Java 源代碼允許包含 UD code 字符,并且在任何詞匯翻譯之前就會對 unicode 進(jìn)行解碼。剛才被注釋掉的代碼就是在 unicode 解碼后發(fā)生了換行和回車,自然而然就被執(zhí)行行了。
?
00:20
?
三、計(jì)算機(jī)技術(shù)的結(jié)論??
1.學(xué)習(xí)以上內(nèi)容

標(biāo)簽:
【每天一個技術(shù)點(diǎn)】注釋掉的代碼居然還能被執(zhí)行?的評論 (共 條)
