如何使用JShell腳本工具?針對(duì)這個(gè)問(wèn)題,這篇文章給出了相對(duì)應(yīng)的分析和解答,希望能幫助更多想解決這個(gè)問(wèn)題的朋友找到更加簡(jiǎn)單易行的辦法。
目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、秦安網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
JShell腳本工具是JDK9的新特性
什么時(shí)候會(huì)用到 JShell 工具呢,當(dāng)我們編寫(xiě)的代碼非常少的時(shí)候,而又不愿意編寫(xiě)類(lèi),main方法,也不愿意去編譯和運(yùn) 行,這個(gè)時(shí)候可以使用JShell工具。
啟動(dòng)JShell工具,在DOS命令行直接輸入JShell命令。
接下來(lái)可以編寫(xiě)Java代碼,無(wú)需寫(xiě)類(lèi)和方法,直接寫(xiě)方法中的代碼即可,同時(shí)無(wú)需編譯和運(yùn)行,直接回車(chē)即可
注意:JShell工具,只適合片段代碼的測(cè)試,開(kāi)發(fā)更多內(nèi)容,建議編寫(xiě)在方法中。
+=符號(hào)的擴(kuò)展
下面的程序有問(wèn)題嗎?
分析: s += 1 邏輯上看作是 s = s + 1 計(jì)算結(jié)果被提升為int類(lèi)型,再向short類(lèi)型賦值時(shí)發(fā)生錯(cuò)誤,因?yàn)椴荒軐⑷≈捣秶?大的類(lèi)型賦值到取值范圍小的類(lèi)型。但是, s=s+1進(jìn)行兩次運(yùn)算 , += 是一個(gè)運(yùn)算符,只運(yùn)算一次,并帶有強(qiáng)制轉(zhuǎn)換的特點(diǎn), 也就是說(shuō) s += 1 就是 s = (short)(s + 1) ,因此程序沒(méi)有問(wèn)題編譯通過(guò),運(yùn)行結(jié)果是2.
常量和變量的運(yùn)算
下面的程序有問(wèn)題嗎?
分析: b3 = 1 + 2 , 1 和 2 是常量,為固定不變的數(shù)據(jù),在編譯的時(shí)候(編譯器javac),已經(jīng)確定了 1+2 的結(jié)果并沒(méi) 有超過(guò)byte類(lèi)型的取值范圍,可以賦值給變量 b3 ,因此 b3=1 + 2 是正確的。
反之, b4 = b2 + b3 , b2 和 b3 是變量,變量的值是可能變化的,在編譯的時(shí)候,編譯器javac不確定b2+b3的結(jié)果是什 么,因此會(huì)將結(jié)果以int類(lèi)型進(jìn)行處理,所以int類(lèi)型不能賦值給byte類(lèi)型,因此編譯失敗。
在jshell中體現(xiàn):
關(guān)于使用JShell腳本工具的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。