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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Java面试查漏补缺

發布時間:2023/11/27 生活经验 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java面试查漏补缺 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基礎

1、&&&的區別。?

【概述】

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

【詳細】

相同點:&&&都可以用作邏輯與的運算符,表示邏輯與(and),當運算符兩邊的表達式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false

不同點:

1、&&具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式,

  例如,對于if(str?!=?null?&&?!str.equals(“”))表達式,當strnull時,后面的表達式不會執行,所以不會出現NullPointerException;如果將&&改為&,則會拋出NullPointerException異常。

2、&還可以用作位運算符&操作符兩邊的表達式不是boolean類型時,&表示按位與操作,我們通常使用0x0f來與一個整數進行&運算,來獲取該整數的最低4bit位,  例如,0x31?&?0x0f的結果為0x01。?

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

?

?

2、String s = a+b+c+d+e;創建了幾個對象的詳細分析?

具體點擊博文【String s = a+b+c+d+e;創建了幾個對象的詳細分析?

?

3java對象引用比較?

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

答案是:True、False

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

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

原因:new Integer()是強制
強制生成一個新對象

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

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

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

?

?4、Java基本數據類型及其類型轉換:

?

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

?

【注意】float a=1.0 ?//********編譯錯誤,1.0默認是double類型,轉換為float會出現錯誤異常。

?

?

5short?s1?=?1;?s1?=?s1?+?1;有什么錯??short?s1?=?1;?s1?+=?1;有什么錯??

對于short?s1?=?1;?s1?=?s1?+?1;?由于s1+1運算時會自動提升表達式的類型所以結果是int,再賦值給short類型s1時,編譯器將報告需要強制轉換類型的錯誤。

對于short?s1?=?1;?s1?+=?1;由于?+=?java語言規定的運算符,java編譯器會對它進行特殊處理,因此可以正確編譯。

?

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

?

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

?

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

?

轉載于:https://www.cnblogs.com/mo-wang/p/3683331.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。