大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 初學者Java學習練習題

初學者Java學習練習題

更新時間:2020-08-10 16:05:07 來源:動力節點 瀏覽2757次

一、==符的使用

首先看一段比較有意思的代碼

java學習練習題

如果這道題你能得出正確答案,并能了解其中的原理的話。說明你基礎還可以。

如果你的答案是true和true的話,你的基礎可能有所欠缺。

首先公布下答案,運行代碼,我們會得到false true。

我們知道==比較的是兩個對象的引用,這里的abcd都是新建出來的對象,按理說都應該輸入false才對。這就是這道題的有趣之處,無論是面試題還是論壇討論區,這道題的出場率都很高。原理其實很簡單,我們去看下Integer.java這個類就了然了。

java學習練習題

當我們聲明一個Integer c=100;的時候。此時會進行自動裝箱操作,簡單點說,也就是把基本數據類型轉換成Integer對象,而轉換成Integer對象正是調用的valueOf方法,可以看到,Integer中把-128-127緩存了下來。官方解釋是小的數字使用的頻率比較高,所以為了優化性能,把這之間的數緩存了下來。這就是為什么這道題的答案回事false和ture了。當聲明的Integer對象的值在-128-127之間的時候,引用的是同一個對象,所以結果是true。

二、String

接著看代碼

java學習練習題

那么這道題的答案是什么

按照==的語法來看,首先s1、s2、s3是三個不同的對象,常理來說,輸出都會是false。然而程序的運行結果確實true、false。第二個輸出false可以理解,第一個輸出true就又讓人費解了。

我們知道一些基本類型的變量和對象的引用變量都是在函數的棧內存中分配,而堆內存中則存放new出來的對象和數組。然而除此之外還有一塊區域叫做常量池。像我們通常想String s1="abc";這樣申明的字符串對象,其值就是存儲在常量池中。當我們創建String s1="abc"這樣一個對象之后,"abc"就存儲到了常量池(也可叫做字符串池)中,當我們創建引用String s2="abc"的時候,Java底層會優先在常量池中查找是否存在"abc",如果存在則讓s2指向這個值,不會重新創建,如果常量池中沒有則創建并添加的池中。這就是為什么答案是true和false的原因。

三、final關鍵字

還是來看一段代碼

java學習練習題

這種代碼相信大家寫過很多,當內部類訪問局部變量的時候,需要在局部變量前加final修飾符,不然編譯器就會報錯。通常我們也是這么干的。好的,第二個問題來了,為什么要加final修飾符?相信大多數小伙伴都沒有思考過這個問題,但凡使用的時候,直接加上就得了,從來沒去深究過其中的原理。這對于一個優秀的程序員來說是不可取,我們不僅要知其然還要知其所以然。

現在我們來分析一下,為什么要加final關鍵字。首先內部類的生命周期是成員級別的,而局部變量的生命周期實在方法體之內。也就是說會出現這樣一種情況,當mRun方法執行,new的線程運行,新線程里面會睡一秒。主線程會繼續執行,mRun執行完畢,name屬性生命周期結束。1秒之后,Syetem.out.printh(name)執行。然而此時name已經壽終正寢,不在內存中了。Java就是為了杜絕這種錯誤,嚴格要求內部類中訪問局部變量,必須使用final關鍵字修飾。局部變量被final修飾之后,此時會在內存中保有一份局部變量的復制品,當內部類訪問的時候其實訪問的是這個復制品。其實就是匿名內部類會將final的變量當成自己的一個成員變量保存。這就好像是把局部變量的生命周期變長了。說到底還是Java工程師提前把這個坑給我們填了,不然不知道又會有多少小伙伴會為了內部類局部變量而發愁了。

以上就是動力節點java培訓機構的小編針對“初學者Java學習練習題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 免费网站日本永久免费观看 | 狠狠干图片 | 久久国产精品自由自在 | 免费不卡中文字幕在线 | 日韩精品福利视频一区二区三区 | 风流一代在线播放 | 大尺度毛片 | 大陆60老妇xxxxhd | 男女啪啪网站 | 波多野结衣三区 | 日韩欧美精品一区二区三区 | 久久香蕉国产线看观看99 | 亚洲精品专区一区二区三区 | 中文国产日韩欧美视频 | 日韩中文字幕在线有码视频网 | 女人18毛片a级毛片免费看一 | 狠狠激情 | 久久一区二区三区免费 | 国产产一区二区三区久久毛片国语 | 欧美一级毛片片免费孕妇 | 国产亚洲精品久久久久久久软件 | 国产高清在线91福利 | 日本一线一区二区三区免费视频 | 久久久久久久免费视频 | 国产大片中文字幕 | 国产视频一区在线观看 | 亚洲第一看片 | 欧美人成一本免费观看视频 | 国产在热线精品视频国产一二 | 美女黄频视频大全免费高清 | 国产二区三区毛片 | 爱爱网站免费 | 波多野结衣中文字幕一区二区三区 | 日本久久久久中文字幕 | 国产经典自拍 | 9久热这里只有精品视频在线观看 | 久久99精品一久久久久久 | 久久国产精品自由自在 | 日本一区视频在线 | 四虎免费影院ww4164h | 久久99亚洲精品久久 |