bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Java面試官:兄弟,你確定double精度比float低嗎?

我有一個(gè)朋友,叫老劉,戴著度數(shù)比我還高的近視鏡,顯得格外的“程序員”;穿著也非常“不拘一格”,上半身是襯衣西服,下半身是牛仔褲運(yùn)動(dòng)鞋。

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站與策劃設(shè)計(jì),安新網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安新等地區(qū)。安新做網(wǎng)站價(jià)格咨詢:13518219792

我和老劉的感情非常好,每周末我們都要在一起吃頓飯。這周,我們吃的是洛陽有名的吳家刀削面,席間他聊了一件蠻有趣的面試經(jīng)歷;我聽得津津有味。

散席的時(shí)候,老劉特意叮囑我把他和面試者的對話整理一下發(fā)出來,因?yàn)樗X得這段對話非常的精彩,值得推薦給更多初學(xué)Java的年輕人。

注:以下是老劉和面試者東豐的真實(shí)對話。如有雷同,請勿對號入座

老劉:“東豐,你長期從事金融軟件的開發(fā),記錄存款和金額之類的有關(guān)數(shù)據(jù)用哪種數(shù)據(jù)類型啊?”

東豐:“當(dāng)然用float啊,精確度比double高嘛。”

老劉:“東豐,你確定double精度比float低嗎?”

東豐:“那當(dāng)然啊,double只精確到小數(shù)點(diǎn)后兩位,double這個(gè)單詞的意思不就是二的意思嗎?”

老劉:“東豐,你右手邊剛好有一本《Java核心技術(shù)卷1》,你翻到第35頁,看一下。”

東豐:“......哦,劉經(jīng)理,不用了。不好意思,剛剛開個(gè)玩笑,為了緩和一下面試的緊張氣氛。看您厚厚的眼鏡片下藏著一雙深邃的眼睛,我覺得您一定大有學(xué)問。在金融計(jì)算中,必須要使用BigDecimal,double和float都不適合。因?yàn)閱螁我粋€(gè)精度問題就能把人整暈了。”

“我記得有一次,我碰巧要計(jì)算一個(gè)表達(dá)式a - b,a的值為2,b的值為1.1,我侄女五歲半都知道答案應(yīng)該是0.9,結(jié)果程序算出來的結(jié)果竟然是0.89999...,我當(dāng)時(shí)又氣又激動(dòng),氣的是計(jì)算機(jī)還沒有我侄女靠譜,激動(dòng)的是我竟然第一次找到了Java的bug。”

“我趕緊把這個(gè)bug反饋到了沉默王二的青銅時(shí)代群,以為我要被大家點(diǎn)贊表揚(yáng)了。結(jié)果收到了大佬們一致的無情的嘲笑!”

“好在,群主二哥及時(shí)地安慰了我。他發(fā)我私信說:‘首先,計(jì)算機(jī)進(jìn)行的是二進(jìn)制運(yùn)算,我們輸入的十進(jìn)制數(shù)字會先轉(zhuǎn)換成二進(jìn)制,進(jìn)行運(yùn)算后再轉(zhuǎn)換為十進(jìn)制輸出。double和float提供了快速的運(yùn)算,然而問題在于轉(zhuǎn)換為二進(jìn)制的時(shí)候,有些數(shù)字不能完全轉(zhuǎn)換,只能無限接近于原本的值,這就導(dǎo)致了你看到的不正確的結(jié)果。’”

“看到二哥的信息后,我沮喪的心情得到了很大的安慰。我于是就對使用浮點(diǎn)數(shù)和小數(shù)中的問題進(jìn)行了深入地研究。”

“BigDecimal可以表示任意精度的小數(shù),并對它們進(jìn)行計(jì)算。但要小心使用 BigDecimal(double) 構(gòu)造函數(shù),因?yàn)樗鼤谟?jì)算的過程中產(chǎn)生舍入誤差。最好要使用基于整數(shù)或 String 的構(gòu)造函數(shù)來創(chuàng)建BigDecimal對象。”

老劉:“哇,你回答得很好。那我們來看下一個(gè)問題。你應(yīng)該知道2 / 0的時(shí)候程序會報(bào)java.lang.ArithmeticException的錯(cuò)誤,那么你知道2.0 / 0的結(jié)果嗎?”

東豐:“劉經(jīng)理,您這個(gè)問題難不倒我。結(jié)果是Infinity(英菲尼迪),不好意思,我的英語口語能力有限啊。其實(shí)就是無窮的意思。不僅有正無窮大,還有負(fù)無窮大,甚至還有一個(gè)叫做NaN的特殊值。NaN代表‘不是一個(gè)數(shù)字’。這些值的存在是為了在出現(xiàn)錯(cuò)誤條件時(shí),程序還可以用特定的值來表示所產(chǎn)生的結(jié)果。這些錯(cuò)誤的情況包括算術(shù)溢出、給負(fù)數(shù)開平方根,還有您說的除以 0 等。”

老劉:“東豐啊,你的發(fā)音比我好啊,挺準(zhǔn)確的。”

東豐:“劉經(jīng)理您見笑了。”

老劉:“我這還有一道關(guān)于數(shù)組的問題,你稍等一下,我在紙上寫一下。”

int[] a = {1, 2, 3, 4}
int[] b = {2, 4}
int[] c = {1, 3}
int[] d = {2}

“有這樣四個(gè)數(shù)組,要求每個(gè)數(shù)組只留一個(gè)唯一的元素。也就是說,a、b、c、d四個(gè)數(shù)組之間的元素不能相同,你打算怎么做呢?”

東豐:“劉經(jīng)理,我能用一下您的凌美鋼筆嗎?”

老劉:“可以啊,你請用。”

東豐:“我大致演算了一下。說一下我的思路。d只能是2,b只能是4,a是1或者3,c是3或者1。遍歷長數(shù)組,剔除長數(shù)組中含有的最短數(shù)組的元素。b中剔除d中的2還剩下4,a中剔除d中的2還剩下1、3、4,c中不含d中元素,所以不用剔除。剔除后b中還剩下一個(gè)4,d中是一個(gè)2。再次遍歷剔除a中的4。最后a和c中只剩下1和3了,再分別剔除互異的數(shù)就行了。”

“我覺得比較笨的作法,劉經(jīng)理您覺得可行嗎?”

老劉:“可行,沒有問題。那,你對變量和方法的命名有什么看法呢?請隨意發(fā)揮啊。”

東豐:“我在博客園上曾看到一個(gè)有意思的投票統(tǒng)計(jì)——選出平常工作時(shí)自己認(rèn)為最難的事情,選項(xiàng)大致有:”

  • 寫各種文檔
  • 與客戶溝通
  • 預(yù)估工作量
  • 給變量命名

“投票結(jié)果完全出乎我的意料,排在第一的竟然是‘給變量命名’!變量命名實(shí)在是軟件開發(fā)中最常見的一件事了,但這件事要想做好,還真是不容易啊。”

“阿里巴巴Java開發(fā)手冊中「強(qiáng)制」規(guī)定,方法名、參數(shù)名、成員變量、局部變量要統(tǒng)一使用lowerCamelCase風(fēng)格,必須遵從駝峰形式。”

localValue // 變量
getHttpMessage() // 方法

“有很長一段時(shí)間,我總是在糾結(jié)究竟是用拼音好還是用英語單詞好的問題。后來我下定了決心:要么用拼音要么用英語單詞,只要看到名字就能知道這個(gè)變量或者方法的用意就行了。”

“有時(shí)候,確實(shí)很難給變量取一個(gè)好名字。這時(shí)候,我就會選擇一種省時(shí)省力省心的做法——將變量名命名為類型名。比如說:”

Map map;
List list;

“最好,變量聲明的地方要離第一次使用的地方近。否則的話,代碼閱讀起來會很困難,因?yàn)槿搜劬邮艿钠聊桓叨仁怯邢薜摹!?/p>

老劉:“東豐啊,你非常的優(yōu)秀。恭喜你,你的面試過了。你回去準(zhǔn)備一下,下周一就可以來上班了。”

再注:以上是老劉和面試者東豐的真實(shí)對話。如有雷同,請勿對號入座


上一篇:對《Java核心技術(shù)卷一》讀者的一些建議

下一篇:請用面向?qū)ο蟮乃枷耄勔徽勥@次面試的過程

謝謝大家的閱讀,原創(chuàng)不易,喜歡就隨手點(diǎn)個(gè)贊

本文題目:Java面試官:兄弟,你確定double精度比float低嗎?
分享地址:http://vcdvsql.cn/article46/podoeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)域名注冊移動(dòng)網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)云服務(wù)器建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)