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

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 15道基礎(chǔ)Java編程面試題

15道基礎(chǔ)Java編程面試題

更新時(shí)間:2020-10-15 17:00:17 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2824次

在現(xiàn)在的互聯(lián)網(wǎng)大環(huán)境下,程序員和工程師的職位需求在提高,相應(yīng)的想投入到工程師行業(yè)的人也在變多,所以很多大公司對(duì)于面試工程師職位的人要求也在逐漸提高,但是在java面試中,面試官著重考察的還是基礎(chǔ)知識(shí)是否扎實(shí),基礎(chǔ)java編程面試題是在面試前必須要做的功課,下面整理了15道基礎(chǔ)java編程面試題,有要參加java面試的朋友們可以學(xué)習(xí)下面的內(nèi)容。

image.png

1、java語(yǔ)言層次安全性表現(xiàn)在哪里?

答:Java取消了強(qiáng)大但又危險(xiǎn)的指針,而代之以引用。由于指針可進(jìn)行移動(dòng)運(yùn)算,指針可隨便指向一個(gè)內(nèi)存區(qū)域,而不管這個(gè)區(qū)域是否可用,這樣做是危險(xiǎn)的,因?yàn)樵瓉?lái)這個(gè)內(nèi)存地址可能存儲(chǔ)著重要數(shù)據(jù)或者是其他程序運(yùn)行所占用的,并且使用指針也容易數(shù)組越界。

垃圾回收機(jī)制:不需要程序員直接控制內(nèi)存回收,由垃圾回收器在后臺(tái)自動(dòng)回收不再使用的內(nèi)存。避免程序忘記及時(shí)回收,導(dǎo)致內(nèi)存泄露。避免程序錯(cuò)誤回收程序核心類庫(kù)的內(nèi)存,導(dǎo)致系統(tǒng)崩潰。

異常處理機(jī)制:Java異常機(jī)制主要依賴于try、catch、finally、throw、throws五個(gè)關(guān)鍵字。

強(qiáng)制類型轉(zhuǎn)換:只有在滿足強(qiáng)制轉(zhuǎn)換規(guī)則的情況下才能強(qiáng)轉(zhuǎn)成功。

2、JDK、JRE、JVM三者關(guān)系是什么?

答:jdk是JAVA程序開(kāi)發(fā)時(shí)用的開(kāi)發(fā)工具包,其內(nèi)部也有JRE運(yùn)行環(huán)境JRE。JRE是java程序運(yùn)行時(shí)需要的運(yùn)行環(huán)境,就是說(shuō)如果你光是運(yùn)行JAVA程序而不是去搞開(kāi)發(fā)的話,只安裝JRE就能運(yùn)行已經(jīng)存在的JAVA程序了。JDk、JRE內(nèi)部都包含java虛擬機(jī)JVM,java虛擬機(jī)內(nèi)部包含許多應(yīng)用程序的類的解釋器和類加載器等等。

3、if多分支語(yǔ)句和switch多分支語(yǔ)句的異同點(diǎn)?

答:相同之處:都是分支語(yǔ)句,多超過(guò)一種的情況進(jìn)行判斷處理。

不同之處:switch更適合用于多分支情況,就是有很多種情況需要判斷處理,判斷條件類型單一,只有一個(gè)入口,在分支執(zhí)行完后(如果沒(méi)有break跳出),不加判斷地執(zhí)行下去;而if—elseif---else多分枝主要適用于分支較少的分支結(jié)構(gòu),判斷類型不是單一,只要一個(gè)分支被執(zhí)行后,后邊的分支不再執(zhí)行。switch為等值判斷(不允許比如>= <=),而if為等值和區(qū)間都可以,if的使用范圍大。

4、&和&&的區(qū)別和聯(lián)系

答:&和&&的聯(lián)系:&和&&都可以用作邏輯與運(yùn)算符,但是要看使用時(shí)的具體條件來(lái)決定。操作數(shù)1&操作數(shù)2,操作數(shù)1&&操作數(shù)2,表達(dá)式1&表達(dá)式2,表達(dá)式1&&表達(dá)式2。

情況1:當(dāng)上述的操作數(shù)是boolean類型變量時(shí),&和&&都可以用作邏輯與運(yùn)算符。

情況2:當(dāng)上述的表達(dá)式結(jié)果是boolean類型變量時(shí),&和&&都可以用作邏輯與運(yùn)算符。

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

&和&&的區(qū)別(不同點(diǎn)):&邏輯運(yùn)算符稱為邏輯與運(yùn)算符,&&邏輯運(yùn)算符稱為短路與運(yùn)算符,也可叫邏輯與運(yùn)算符。無(wú)論任何情況,&兩邊的操作數(shù)或表達(dá)式都會(huì)參與計(jì)算。對(duì)于&&:當(dāng)&&左邊的操作數(shù)為false或左邊表達(dá)式結(jié)果為false時(shí),&&右邊的操作數(shù)或表達(dá)式將不參與計(jì)算,此時(shí)最終結(jié)果都為false。

綜上所述,如果邏輯與運(yùn)算的第一個(gè)操作數(shù)是false或第一個(gè)表達(dá)式的結(jié)果為false時(shí),對(duì)于第二個(gè)操作數(shù)或表達(dá)式是否進(jìn)行運(yùn)算,對(duì)最終的結(jié)果沒(méi)有影響,結(jié)果肯定是false。

5、基本數(shù)據(jù)類型轉(zhuǎn)換規(guī)則?

答:基本類型轉(zhuǎn)換分為自動(dòng)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換。

自動(dòng)轉(zhuǎn)換規(guī)則:容量小的數(shù)據(jù)類型可以自動(dòng)轉(zhuǎn)換成容量大的數(shù)據(jù)類型,也可

以說(shuō)低級(jí)自動(dòng)向高級(jí)轉(zhuǎn)換。這兒的容量指的不是字節(jié)數(shù),而是指類型表述的范圍。

強(qiáng)制轉(zhuǎn)換規(guī)則:高級(jí)變?yōu)榈图?jí)需要強(qiáng)制轉(zhuǎn)換。如何轉(zhuǎn)換:(1)賦值運(yùn)算符“=”右邊的轉(zhuǎn)換,先自動(dòng)轉(zhuǎn)換成表達(dá)式中級(jí)別最高的數(shù)據(jù)類型,再進(jìn)行運(yùn)算。(2)賦值運(yùn)算符“=”兩側(cè)的轉(zhuǎn)換,若左邊級(jí)別>右邊級(jí)別,會(huì)自動(dòng)轉(zhuǎn)換;若左邊級(jí)別 == 右邊級(jí)別,不用轉(zhuǎn)換;若左邊級(jí)別 < 右邊級(jí)別,需強(qiáng)制轉(zhuǎn)換。(3)可以將整型常量直接賦值給byte, short, char等類型變量,而不需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,前提是不超出其表述范圍,否則必須進(jìn)行強(qiáng)制轉(zhuǎn)換。

6、if多分支語(yǔ)句和switch多分支語(yǔ)句的異同之處在哪里?

答:相同之處:都是分支語(yǔ)句,多超過(guò)一種的情況進(jìn)行判斷處理。

不同之處:switch更適合用于多分支情況,就是有很多種情況需要判斷處理,判斷條件類型單一,只有一個(gè)入口,在分支執(zhí)行完后(如果沒(méi)有break跳出),不加判斷地執(zhí)行下去;而if—elseif---else多分枝主要適用于分支較少的分支結(jié)構(gòu),判斷類型不是單一,只要一個(gè)分支被執(zhí)行后,后邊的分支不再執(zhí)行。switch為等值判斷(不允許比如>= <=),而if為等值和區(qū)間都可以,if的使用范圍大。

7、while和do-while循環(huán)的區(qū)別是什么?

答:while先判斷后執(zhí)行,第一次判斷為false,循環(huán)體一次都不執(zhí)行;do while先執(zhí)行 后判斷,最少執(zhí)行1次;如果while循環(huán)第一次判斷為true, 則兩種循環(huán)沒(méi)有區(qū)別。

image.png

8、break和continue的作用?

答:break: 結(jié)束當(dāng)前循環(huán)并退出當(dāng)前循環(huán)體。break還可以退出switch語(yǔ)句。

continue: 循環(huán)體中后續(xù)的語(yǔ)句不執(zhí)行,但是循環(huán)沒(méi)有結(jié)束,繼續(xù)進(jìn)行循環(huán)條件的判斷(for循環(huán)還會(huì)i++)。continue只是結(jié)束本次循環(huán)。

9、數(shù)組的特征都有什么?

答:數(shù)組是(相同類型數(shù)據(jù))的(有序)(集合);

數(shù)組會(huì)在內(nèi)存中開(kāi)辟一塊連續(xù)的空間,每個(gè)空間相當(dāng)于之前的一個(gè)變量,稱為數(shù)組的元素element;

每個(gè)數(shù)組元素有默認(rèn)值 double 0.0 boolean false int 0;

數(shù)組元素有序的,不是大小順序,是索引的順序;

數(shù)組中可以存儲(chǔ)基本數(shù)據(jù)類型,可以存儲(chǔ)引用數(shù)據(jù)類型;但是對(duì)于一個(gè)數(shù)組而言,數(shù)組的類型是固定的,只能是一個(gè);

length:數(shù)組的長(zhǎng)度,數(shù)組的長(zhǎng)度是固定的,一經(jīng)定義,不能再發(fā)生變化(數(shù)組的擴(kuò)容)。

10、一個(gè)數(shù)如果恰好等于它的因子之和, 這個(gè)數(shù)就稱為”完數(shù)”,例如 6 = 1+2+3。編程找出0-1000以內(nèi)的所有完數(shù)

public class WanShu {
????private static boolean isWanShu(int shu){
????????int sum = 0;
????????for (int i = 1; i < shu; i++) {
????????????if(shu%i==0){
????????????????sum+= i;
????????????}
????????}
????????if(sum==shu){
????????????return true;
????????}else{ ?????????
????????????return false;
????????} ?
????}
????public static void main(String[] args) {
????????for (int i = 1; i < 1000; i++) {
????????????if(isWanShu(i)){
????????????????System.out.println(i);
????????????};
????????}
????}
}

11、下面程序輸出的結(jié)果是(A)

static boolean foo(char c) {
????????System.out.print(c);
????????return true;
????}
public static void main(String[] args) {
????????int i = 0;
????????for (foo('A'); foo('B') && (i < 2); foo('C')) {
????????????i++;
????????????foo('D');
????????}
}?

A. ABDCBDCB B. ABDCDBCB C. ABDBCDCB D. ABDBCDCB

解析:首先,必定是ABDC打頭,排除C、D,隨后執(zhí)行foo('B') && (i < 2)這一項(xiàng),結(jié)果為B,可得出結(jié)果為A。執(zhí)行順序--foo('A')--foo('B')&&true--foo('D')--foo('C')--foo('B')&&true--foo('D')--foo('C')--foo('B')&&false--end

12、當(dāng) n = 5 時(shí),下列函數(shù)的返回值是:(A)

int foo(int n)
????{
????????if(n<2)return n;
????????return foo(n-1)+foo(n-2);
????}
A.5 B.7 C.8 D.1
解析:Result=foo(4)+foo(3)
foo(4)=foo(3)+foo(2)
foo(3)=foo(2)+foo(1)
foo(2)=foo(1)+foo(0)
foo(1)=1
foo(0)=0
所以foo(2)=1,foo(3)=2,foo(4)=3

13、寫出插入排序的代碼

:package com.bjsxt;
public class TestInsertSort {
public static void sort(int arr[]) {
int i, j;
for (i = 1; i < arr.length; i++) {
int temp = arr[i];
for (j = i; j > 0 && temp < arr[j - 1]; j--) {
arr[j] = arr[j - 1];
}
arr[j] = temp;
}
}
}

14、final、finally、finalize的區(qū)別?

答:final修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承例如:String類、Math類等。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖儭1宦暶鳛閒inal的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重寫,但是能夠重載。 使用final修飾的對(duì)象,對(duì)象的引用地址不能變,但是對(duì)象的值可以變。

finally在異常處理時(shí)提供 finally 塊來(lái)執(zhí)行任何清除操作。如果有finally的話,則不管是否發(fā)生異常,finally語(yǔ)句都會(huì)被執(zhí)行。一般情況下,都把關(guān)閉物理連接(IO流、數(shù)據(jù)庫(kù)連接、Socket連接)等相關(guān)操作,放入到此代碼塊中。

finalize方法名。Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去之前做必要清理工作。finalize() 方法是在垃圾收集器刪除對(duì)象之前被調(diào)用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。一般情況下,此方法由JVM調(diào)用,程序員不要去調(diào)用。

15、字符型常量和字符串常量的區(qū)別?

答:形式上:字符常量是單引號(hào)引起的一個(gè)字符;字符串常量是雙引號(hào)引起的若干個(gè)字符。含義上:字符常量相當(dāng)于一個(gè)整形值(ASCII值),可以參加表達(dá)式運(yùn)算;字符串常量代表一個(gè)地址值(該字符串在內(nèi)存中存放位置)。占內(nèi)存大小:字符常量只占一個(gè)字節(jié);字符串常量占若干個(gè)字節(jié)(至少一個(gè)字符結(jié)束標(biāo)志)。

以上是今天為朋友們整理的基礎(chǔ)java編程面試題,這15道題肯定不能說(shuō)是有最全面的java編程知識(shí),但肯定是基礎(chǔ)的常考的內(nèi)容,會(huì)有很大的出現(xiàn)在java面試中的概率,所以希望大家可以好好學(xué)上面的內(nèi)容,再及時(shí)的通過(guò)java基礎(chǔ)教程來(lái)學(xué)習(xí)更多的java知識(shí)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美精品在欧美一区二区 | 欧美日韩精品国产一区二区 | 色妞在线| 国产亚洲综合在线 | 夜夜艹天天干 | 欧美成人免费mv在线播放 | 天天操夜夜操视频 | 国产欧美日韩在线播放 | 精品久久国产视频 | 亚洲精品乱码久久久久久 | 亚洲欧美中文日韩在线 | 国产亚洲一区二区三区 | 欧美一欧美一区二三区性 | 日韩色综合 | 日韩欧美在线观看视频一区二区 | 午夜三级做爰视频在线看 | 一级作爱视频免费观看 | 奇米777第四 | 精品国产一区二区三区不卡 | 国产一区私人高清影院 | 四虎在线永久 | 伊人色综合久久天天网蜜月 | 一本一道波多野结衣一区二区 | 手机福利在线观看 | 四虎在线永久免费视频网站 | 一级毛片免费的 | 亚洲综合一区二区三区 | 亚洲国产一区二区三区 | 天天干天天舔天天操 | 亚洲欧美一区二区三区国产精品 | 97se视频| 久久澡| 亚洲一区三区 | 狠狠色丁香久久综合五月 | 中文字幕亚洲一区二区va在线 | 性欧美暴力猛交xxxxx高清 | 奇米色影院 | 国模无水印一区二区三区 | 欧美日韩一区二区视频免费看 | 欧美视频第二页 | 91在线视频播放 |