日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Java面试查漏补缺

發(fā)布時(shí)間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java面试查漏补缺 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、基礎(chǔ)

1、&&&的區(qū)別。?

【概述】

&&能用作邏輯與(and)運(yùn)算符(具有短路功能);但是&可以作為邏輯與運(yùn)算符(是“無條件與”,即沒有短路的功能),也可以作為位的與運(yùn)算符

【詳細(xì)】

相同點(diǎn):&&&都可以用作邏輯與的運(yùn)算符,表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為true時(shí),整個(gè)運(yùn)算結(jié)果才為true,否則,只要有一方為false,則結(jié)果為false

不同點(diǎn):

1、&&具有短路的功能,即如果第一個(gè)表達(dá)式為false,則不再計(jì)算第二個(gè)表達(dá)式,

  例如,對于if(str?!=?null?&&?!str.equals(“”))表達(dá)式,當(dāng)strnull時(shí),后面的表達(dá)式不會(huì)執(zhí)行,所以不會(huì)出現(xiàn)NullPointerException;如果將&&改為&,則會(huì)拋出NullPointerException異常。

2、&還可以用作位運(yùn)算符當(dāng)&操作符兩邊的表達(dá)式不是boolean類型時(shí),&表示按位與操作,我們通常使用0x0f來與一個(gè)整數(shù)進(jìn)行&運(yùn)算,來獲取該整數(shù)的最低4個(gè)bit位,  例如,0x31?&?0x0f的結(jié)果為0x01。?

【備注】:這道題先說兩者的共同點(diǎn),再說出&&&的特殊之處,并列舉一些經(jīng)典的例子來表明自己理解透徹深入、實(shí)際經(jīng)驗(yàn)豐富。

?

?

2、String s = a+b+c+d+e;創(chuàng)建了幾個(gè)對象的詳細(xì)分析?

具體點(diǎn)擊博文【String s = a+b+c+d+e;創(chuàng)建了幾個(gè)對象的詳細(xì)分析?

?

3java對象引用比較?

直接說出以下程序的輸出結(jié)果:
Integer a = 10;
Integer b = 10;
System.out.println(a == b);
Integer x = 156;
Integer y = 156;
System.out.println(x == y);

答案是:True、False

分析:
兩個(gè)Integer對象是不會(huì)自動(dòng)拆包,Integer == Integer不會(huì)自動(dòng)拆包比較的
Integer == int這才會(huì)自動(dòng)拆包。
但是JDK緩存了-128-127這些數(shù)字的對象(類似于一個(gè)pool)
所以a與b的存儲(chǔ)地址都指向同一對象

Integer a = new Integer(1);
Integer b = new Integer(1);
a == b 呢? 答案:False

原因:new Integer()是強(qiáng)制
強(qiáng)制生成一個(gè)新對象

?3、switch語句能否作用在byte上,能否作用在long上,能否作用在String??

  在switchexpr1)中,expr1只能是一個(gè)整數(shù)表達(dá)式(int類型或者可以隱式轉(zhuǎn)化為int類型的數(shù)據(jù)類型(short、byte等))、字符串或者枚舉常量(更大字體),整數(shù)表達(dá)式可以是int基本類型或Integer包裝類型,由于,byte,short,char都可以隱含轉(zhuǎn)換為int所以,這些類型以及這些類型的包裝類型也是可以的。

  【注意】顯然,long類型都不符合switch的語法規(guī)定,并且不能被隱式轉(zhuǎn)換成int類型,所以,它們不能作用于swtich語句中。?

?

?4、Java基本數(shù)據(jù)類型及其類型轉(zhuǎn)換:

?

類型名稱類型定義類型取值
boolean布爾值,作二元判斷true,?false
byte8位有符號(hào)整數(shù)最小值-128,最大值127
short16位有符號(hào)整數(shù)最小值-32768,最大值32767
int32位有符號(hào)整數(shù)最小值-2147483648(-231),最大值2147483647(231-1)
long64位有符號(hào)整數(shù)-263~(263-1)
float32位浮點(diǎn)數(shù)1.4E-45~3.4028235E38
double64位浮點(diǎn)數(shù)4.9E-324~1.7976931348623157E308
char16位Unicode字符不適用

?

【注意】float a=1.0 ?//********編譯錯(cuò)誤,1.0默認(rèn)是double類型,轉(zhuǎn)換為float會(huì)出現(xiàn)錯(cuò)誤異常。

?

?

5short?s1?=?1;?s1?=?s1?+?1;有什么錯(cuò)??short?s1?=?1;?s1?+=?1;有什么錯(cuò)??

對于short?s1?=?1;?s1?=?s1?+?1;?由于s1+1運(yùn)算時(shí)會(huì)自動(dòng)提升表達(dá)式的類型所以結(jié)果是int,再賦值給short類型s1時(shí),編譯器將報(bào)告需要強(qiáng)制轉(zhuǎn)換類型的錯(cuò)誤。

對于short?s1?=?1;?s1?+=?1;由于?+=?java語言規(guī)定的運(yùn)算符,java編譯器會(huì)對它進(jìn)行特殊處理,因此可以正確編譯。

?

6char型變量中能不能存貯一個(gè)中文漢字?為什么??

?

【同第5題是同種類型題】Java中char型變量是用來存儲(chǔ)Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型變量中當(dāng)然可以存儲(chǔ)漢字啦。不過,如果某個(gè)特殊的漢字沒有被包含在unicode編碼字符集中,那么,這個(gè)char型變量中就不能存儲(chǔ)這個(gè)特殊漢字。補(bǔ)充說明:unicode編碼占用兩個(gè)字節(jié),所以,char類型的變量也是占用兩個(gè)字節(jié)。

?

備注:后面一部分回答雖然不是在正面回答題目,但是,為了展現(xiàn)自己的學(xué)識(shí)和表現(xiàn)自己對問題理解的透徹深入,可以回答一些相關(guān)的知識(shí),做到知無不言,言無不盡。?

?

轉(zhuǎn)載于:https://www.cnblogs.com/mo-wang/p/3683331.html

總結(jié)

以上是生活随笔為你收集整理的Java面试查漏补缺的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。