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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

一些Java面试题深入分析

發(fā)布時(shí)間:2024/1/17 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一些Java面试题深入分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一些Java面試題深入分析

一、&和&&的差別?


&和&&都能夠用作邏輯與的運(yùn)算符。表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為true時(shí)。整個(gè)運(yùn)算結(jié)果才為true,否則,僅僅要有一方為false,則結(jié)果為false。

&&還具有短路的功能,即假設(shè)第一個(gè)表達(dá)式為false,則不再計(jì)算第二個(gè)表達(dá)式,比如,對于if(str != null && !str.equals(“”))表達(dá)式,當(dāng)str為null時(shí),后面的表達(dá)式不會運(yùn)行,所以不會出現(xiàn)NullPointerException假設(shè)將&&改為&,則會拋出NullPointerException異常。

If(x==33& ++y>0) y會增長,If(x==33 && ++y>0)不會增長

&不具有短路性質(zhì),對于if(str != null && !str.equals(“”))表達(dá)式,當(dāng)str為null時(shí)。后面的表達(dá)式依舊會運(yùn)行,所以會出現(xiàn)NullPointerException,除此之外,&還能夠用作位運(yùn)算符。



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

在switch(expr1)中。expr1能夠是 byte, char,?short,int 以及它們的包裝類 Byte ,Character,? Short, Integer,還有enum(枚舉)、String(JavaSE 7添加的)

參考官網(wǎng)http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html


三、使用finalkeyword修飾一個(gè)變量時(shí)。是引用不能變,還是引用的對象不能變?

使用finalkeyword修飾一個(gè)變量時(shí),是指引用變量不能變,引用變量所指向的對象中的內(nèi)容還是能夠改變的。比如,對于例如以下語句:

?final?StringBuffer?a=new?StringBuffer("immutable");
運(yùn)行例如以下語句將報(bào)告編譯期錯(cuò)誤:

a=new?StringBuffer("");
可是,運(yùn)行例如以下語句則能夠通過編譯:

a.append("?broken!");?

?

有人在定義方法的參數(shù)時(shí),可能想採用例如以下形式來阻止方法內(nèi)部改動傳進(jìn)來的參數(shù)對象:

public void method(final ?StringBuffer?param)

{

}

實(shí)際上,這是辦不到的,在該方法內(nèi)部仍然能夠添加例如以下代碼來改動參數(shù)對象:

??????? param.append("a");


四、當(dāng)運(yùn)行String str=new String("abc")。時(shí),究竟創(chuàng)建了多少個(gè)String對象?

假設(shè)再網(wǎng)上搜答案,差點(diǎn)兒都是這樣回答的:

假設(shè)String pool沒有abc這個(gè)字符串 的話就在字符串池創(chuàng)建abc的對象,再是在堆里創(chuàng)建一個(gè)abc的對象,把堆里的abc對象地址返回給str?這個(gè)情況是創(chuàng)建2個(gè)對象,否則就僅僅有在堆里創(chuàng)建一個(gè)abc的對象


但是。我今天看到一個(gè)解說視頻。他說不論什么情況都僅僅創(chuàng)建一個(gè)String對象。不論什么情況都不會在字符串池創(chuàng)建abc的對象。論據(jù):

String s1="hjk";String s2=s1.intern(); //intern()的作用是假設(shè)在常量池中存在s1的字符串值“hjk”,則//返回該字符串對象。否則在常量池加入“hjk”,并把該字符串對象返回。System.out.println(s2==s1); //trueString s3=new String("abc");String s4=s3.intern();System.out.println(s3==s4); //falseString s5=s3.intern();System.out.println(s5==s4); //true


另可參考:Java面試題視頻解說http://study.163.com/course/courseMain.htm?courseId=519065#/courseMain

posted on 2017-04-24 14:29 mthoutai 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/mthoutai/p/6756731.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的一些Java面试题深入分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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