導航:首頁 > 編程語言 > 編程基礎面試題

編程基礎面試題

發布時間:2023-11-16 12:35:01

java面試題

1.把一個小於十進制9999的二位元組數字轉換成16進制的數,讓其的10進制和16進制是一樣的。比如:十進制的9527轉成十六進制的0x9527。

2.base32是一種編碼形式,每次取5bit。將"ABCDEFGHIJKLMNOPQRSTUVWXYZ"提取出來。
例如:

|-8bit-| |-8bit-| |-8bit-| |-8bit-| |-8bit-| |-8bit-| |-8bit-| |-8bit-| |-8bit-|
xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
xxxxx
xxx xx
xxxxx
x xxxxx
xxx xx
xxxxx
x xxxx
xxxx x
xxxxx
xx xxx
xxxxx
以此類推

3.假如你要做一個物品管理系統,建立模型對象。有電腦主機和電視機。怎樣建立模型對象。如果要添加電冰箱,需要修改嗎。如果添加沙發,又要如何修改

⑵ 計算機程序c語言面試常見問題

計算機程序c語言面試常見問題

c語言作為計算機程序設計語言,是考察軟體工程師應聘者技術能力的關鍵。計算機程序c語言面試常見問題,我們來看看。

c語言 面試題 精選(筆試)

單選題部分

1、C語言程序的基本單位是____

A.語句

B.函數

C.程序行

D.字元

答案:B

2、C語言程序由()組成

A.子程序

B.過程

C.函數

D.主程序段程序

答案:C

3、演算法的表示方法有______

A.自然語言,傳統流程圖,N-S流程圖,偽代碼,計算機語言

B.高級語言,匯編語言,機器語言

C.C語言,QBASIC語言,InterDev

D.圖形圖像法,描述法,編程

E.計算機語言

答案:A

4、下列變數定義中合法的是

A.short_a=1-.le-1;

B.doubleb=1+5e2.5;

C.longdo=0xfdaL;

D.float2_and=1-e-3;

答案:A

5、下面說法中正確的是()

A.int型和long型運算先將int型轉換成unsigned型,再轉換

B.兩個float型運算結果為double型

C.只要表達式中存在double型,所有其他類型數據都必須轉

D.表達式中的'類型轉換與運算順序有關

答案:C

6、以下不正確的敘述是

A.在C程序中,逗號運算符的優先順序最低

B.在C程序中,APH和aph是兩個不同的變數

C.若a和b類型相同,在計算了賦值表達式a=b後b中的值將放入a中,而b中的值不變

D.當從鍵盤輸入數據時,對於整型變數只能輸入整型數值,對於實型變數只能輸入實型數值

答案:D

7、以下說法中正確的是

A.#define和printf都是C語句

B.#define是C語句,而printf不是

C.printf是C語句,但#define不是

D.#define和printf都不是C語句

答案:D

8、若有條件表達式(exp)?a++:b–,則以下表達式中能完全等價於表達式(exp)的是

A.(exp==0

B.(exp!=0)

C.(exp==1)

D.(exp!=1)

答案:B

9、若有說明:inta[3][4]={0};則下面正確的敘述是

A.只有元素a[0][0]可得到初值0

B.此說明語句不正確

C.數組a中各元素都可得到初值,但其值不一定為0

D.數組a中每個元素均可得到初值0

答案:D

c語言面試問答題

1、局部變數能否和全局變數重名?

答:能,局部會屏蔽全局。要用全局變數,需要使用"::"

局部變數可以與全局變數同名,在函數內引用這個變數時,會用到同名的局部變數,而不會用到全局變數。對於有些編譯器而言,在同一個函數內可以定義多個同名的局部變數,比如在兩個循環體內都定義一個同名的局部變數,而那個局部變數的作用域就在那個循環體內。

2、如何引用一個已經定義過的全局變數?

答:extern

可以用引用頭文件的方式,也可以用extern關鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假定你將那個變寫錯了,那麼在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那麼在編譯期間不會報錯,而在連接期間報錯

3、全局變數可不可以定義在可被多個.C文件包含的頭文件中?為什麼?

答:可以,在不同的C文件中以static形式來聲明同名全局變數。

可以在不同的C文件中聲明同名的全局變數,前提是其中只能有一個C文件中對此變數賦初值,此時連接不會出錯。

;

⑶ java面試題有哪些常見的啊

第一,談談final, finally, finalize的區別。
最常被問到。
第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。
第四,&和&&的區別。
這個問得很少。
第五,HashMap和Hashtable的區別。
常問。
第六,Collection 和 Collections的區別。
你千萬別說一個是單數一個是復數。
第七,什麼時候用assert。
API級的技術人員有可能會問這個。
第八,GC是什麼? 為什麼要有GC?
基礎。
第九,String s = new String("xyz");創建了幾個String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
面試題都是很變態的,要做好受虐的准備。
第十二,sleep() 和 wait() 有什麼區別?
搞線程的最愛。
第十三,Java有沒有goto?
很十三的問題,如果哪個面試的問到這個問題,我勸你還是別進這家公司。
第十四,數組有沒有length()這個方法? String有沒有length()這個方法?
第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
常問。
第十六,Set里的元素是不能重復的,那麼用什麼方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
第十七,給我一個你最常見到的runtime exception。
如果你這個答不出來,面試的人會認為你沒有實際編程經驗。
第十八,error和exception有什麼區別?
第十九,List, Set, Map是否繼承自Collection介面?
第二十,abstract class和interface有什麼區別?
常問。
第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類(concrete class)?
第二十三,啟動一個線程是用run()還是start()?
第二十四,構造器Constructor是否可被override?
第二十五,是否可以繼承String類?
第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
第二十七,try {}里有一個return語句,那麼緊跟在這個try後的finally {}里的code會不會被執行,什麼時候被執行,在return前還是後?
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問這種問題。
第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這里到底是值傳遞還是引用傳遞?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,編程題: 寫一個Singleton出來。
好先說這么一些。
答:
第一,談談final, finally, finalize的區別。
final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。
finally—再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那麼相匹配的 catch 子句就會執行,然後控制就會進入 finally 塊(如果有的話)。
finalize—方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。
第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?
匿名的內部類是沒有名字的內部類。不能extends(繼承) 其它類,但一個內部類可以作為一個介面,由另一個內部類實現。
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。
Nested Class (一般是C++的說法),Inner Class (一般是JAVA的說法)。Java內部類與C++嵌套類最大的不同就在於是否有指向外部的引用上。具體可見 http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
註: 靜態內部類(Inner Class)意味著1創建一個static內部類的對象,不需要一個外部類對象,2不能從一個static內部類的一個對象訪問一個外部類對象
第四,&和&&的區別。
&是位運算符。&&是布爾邏輯運算符。
第五,HashMap和Hashtable的區別。
都屬於Map介面的類,實現了將惟一鍵映射到特定的值上。
HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。
Hashtable 類似於 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。
第六,Collection 和 Collections的區別。
Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。
Collection是個java.util下的介面,它是各種集合結構的父介面。第七,什麼時候用assert。
斷言是一個包含布爾表達式的語句,在執行這個語句時假定該表達式為 true。如果表達式計算為 false,那麼系統會報告一個 Assertionerror。它用於調試目的:
assert(a > 0); // throws an Assertionerror if a <= 0
斷言可以有兩種形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 應該總是產生一個布爾值。
Expression2 可以是得出一個值的任意表達式。這個值用於生成顯示更多調試信息的 String 消息。
斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標記:
javac -source 1.4 Test.java
要在運行時啟用斷言,可使用 -enableassertions 或者 -ea 標記。
要在運行時選擇禁用斷言,可使用 -da 或者 -disableassertions 標記。
要系統類中啟用斷言,可使用 -esa 或者 -dsa 標記。還可以在包的基礎上啟用或者禁用斷言。
可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的參數。不過,斷言不應該用於驗證傳遞給公有方法的參數,因為不管是否啟用了斷言,公有方法都必須檢查其參數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程序的狀態。
第八,GC是什麼? 為什麼要有GC? (基礎)。
GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
第九,String s = new String("xyz");創建了幾個String Object?
兩個對象,一個是「xyx」,一個是指向「xyx」的引用對象s。
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

⑷ C/C++經典面試題

C/C++經典面試題

面試題 1:變數的聲明和定義有什麼區別

為變數分配地址和存儲空間的稱為定義,不分配地址的稱為聲明。一個變數可以在多個地方聲明,

但是只在一個地方定義。加入 extern修飾的是變數的聲明,說明此變數將在文件以外或在文件後面部分

定義。

說明:很多時候一個變數,只是聲明不分配內存空間,直到具體使用時才初始化,分配內存空間,

如外部變數。

面試題 2:寫出 bool 、int、 float、指針變數與「零值」比較的 if 語句

bool型數據:

if( flag )

{

A;

}

else

{

B;

}

int型數據:

if( 0 != flag )

{

A;

}

else

{

B;

}

指針型數:

if( NULL == flag )

{

A;

}

else

{

B;

}

float型數據:

if ( ( flag >= NORM ) && ( flag <= NORM ) )

{

A;

2

}

注意:應特別注意在 int、指針型變數和「零值」比較的時候,把「零值」放在左邊,這樣當把「==」

誤寫成「=」時,編譯器可以報錯,否則這種邏輯錯誤不容易發現,並且可能導致很嚴重的後果。

面試題 3:sizeof 和strlen的區別

sizeof和 strlen 有以下區別:

 sizeof是一個操作符,strlen是庫函數。

 sizeof的參數可以是數據的類型,也可以是變數,而 strlen只能以結尾為『『的字元串作參數。

 編譯器在編譯時就計算出了 sizeof 的結果。而 strlen 函數必須在運行時才能計算出來。並且 sizeof

計算的是數據類型占內存的大小,而 strlen計算的是字元串實際的長度。

 數組做sizeof的參數不退化,傳遞給strlen就退化為指針了。

注意:有些是操作符看起來像是函數,而有些函數名看起來又像操作符,這類容易混淆的名稱一定

要加以區分,否則遇到數組名這類特殊數據類型作參數時就很容易出錯。最容易混淆為函數的操作符就

是 sizeof。

面試題 4:C 語言的關鍵字 static 和 C++ 的關鍵字 static 有什麼區別

在C 中static 用來修飾局部靜態變數和外部靜態變數、函數。而 C++中除了上述功能外,還用來定

義類的成員變數和函數。即靜態成員和靜態成員函數。

注意:編程時 static的記憶性,和全局性的特點可以讓在不同時期調用的函數進行通信,傳遞信息,

而 C++的靜態成員則可以在多個對象實例間進行通信,傳遞信息。

面試題 5:C中的 malloc 和C++中的 new有什麼區別

malloc和 new有以下不同:

(1)new、 是操作符,可以重載,只能在 C++中使用。

(2)malloc、free是函數,可以覆蓋,C、C++中都可以使用。

(3)new 可以調用對象的構造函數,對應的 調用相應的析構函數。

(4)malloc僅僅分配內存,free 僅僅回收內存,並不執行構造和析構函數

(5)new、 返回的是某種數據類型指針,malloc、free 返回的是void指針。

注意:malloc申請的內存空間要用 free釋放,而 new申請的內存空間要用 釋放,不要混用。

因為兩者實現的機理不同。

面試題 6:寫一個「標准」宏 MIN

#define min(a,b)((a)<=(b)?(a):(b))

注意:在調用時一定要注意這個宏定義的副作用,如下調用:

((++*p)<=(x)?(++*p):(x)。

p指針就自加了兩次,違背了 MIN的本意。

面試題 7:一個指針可以是 volatile 嗎

可以,因為指針和普通變數一樣,有時也有變化程序的不可控性。常見例:子中斷服務子程序修改

一個指向一個 buffer的指針時,必須用 volatile來修飾這個指針。

說明:指針是一種普通的變數,從訪問上沒有什麼不同於其他變數的特性。其保存的數值是個整型

數據,和整型變數不同的是,這個整型數據指向的是一段內存地址。

面試題 8:a 和&a 有什麼區別

請寫出以下代碼的列印結果,主要目的是考察 a和&a的區別。

#include

void main( void )

{

int a[5]={1,2,3,4,5};

int *ptr=(int *)(&a+1);

printf(「%d,%d」,*(a+1),*(ptr-1));

return;

}

輸出結果:2,5。

注意:數組名 a可以作數組的首地址,而&a是數組的指針。思考,將原式的 int *ptr=(int *)(&a+1);

改為 int *ptr=(int *)(a+1);時輸出結果將是什麼呢?

面試題 9:簡述 C、C++程序編譯的.內存分配情況

C、C++中內存分配方式可以分為三種:

(1)從靜態存儲區域分配:

內存在程序編譯時就已經分配好,這塊內存在程序的整個運行期間都存在。速度快、不容易出錯,

因為有系統會善後。例如全局變數,static變數等。

(2)在棧上分配:

在執行函數時,函數內局部變數的存儲單元都在棧上創建,函數執行結束時這些存儲單元自動被釋

放。棧內存分配運算內置於處理器的指令集中,效率很高,但是分配的內存容量有限。

(3)從堆上分配:

即動態內存分配。程序在運行的時候用 malloc 或 new 申請任意大小的內存,程序員自己負責在何

時用free 或 釋放內存。動態內存的生存期由程序員決定,使用非常靈活。如果在堆上分配了空間,

就有責任回收它,否則運行的程序會出現內存泄漏,另外頻繁地分配和釋放不同大小的堆空間將會產生

堆內碎塊。

一個C、C++程序編譯時內存分為 5大存儲區:堆區、棧區、全局區、文字常量區、程序代碼區。

4

面試題 10:簡述 strcpy、sprintf 與 memcpy的區別

三者主要有以下不同之處:

(1)操作對象不同,strcpy的兩個操作對象均為字元串,sprintf的操作源對象可以是多種數據類型,

目的操作對象是字元串, memcpy 的兩個對象就是兩個任意可操作的內存地址,並不限於何種數據類型。

(2)執行效率不同,memcpy最高,strcpy次之,sprintf的效率最低。

(3)實現功能不同,strcpy主要實現字元串變數間的拷貝,sprintf 主要實現其他數據類型格式到字

符串的轉化,memcpy主要是內存塊間的拷貝。

說明:strcpy、sprintf 與memcpy都可以實現拷貝的功能,但是針對的對象不同,根據實際需求,來

選擇合適的函數實現拷貝功能。


;

⑸ Java開發面試題

1、面向對象的特徵有哪些方面?
答:面向對象的特徵主要有以下幾個方面:
- 抽象:抽象是將一類對象的共同特徵總結出來構造類的過程,包括數據抽象和行為抽象兩方面。抽象只關注對象有哪些屬性和行為,並不關注這些行為的細節是什麼。
- 繼承:繼承是從已有類得到繼承信息創建新類的過程。提供繼承信息的類被稱為父類(超類、基類);得到繼承信息的類被稱為子類(派生類)。繼承讓變化中的軟體系統有了一定的延續性,同時繼承也是封裝程序中可變因素的重要手段(如果不能理解請閱讀閻宏博士的《Java與模式》或《設計模式精解》中關於橋梁模式的部分)。
- 封裝:通常認為封裝是把數據和操作數據的方法綁定起來,對數據的訪問只能通過已定義的介面。面向對象的本質就是將現實世界描繪成一系列完全自治、封閉的對象。我們在類中編寫的方法就是對實現細節的一種封裝;我們編寫一個類就是對數據和數據操作的封裝。可以說,封裝就是隱藏一切可隱藏的東西,只向外界提供最簡單的編程介面(可以想想普通洗衣機和全自動洗衣機的差別,明顯全自動洗衣機封裝更好因此操作起來更簡單;我們現在使用的智能手機也是封裝得足夠好的,因為幾個按鍵就搞定了所有的事情)。
- 多態性:多態性是指允許不同子類型的對象對同一消息作出不同的響應。簡單的說就是用同樣的對象引用調用同樣的方法但是做了不同的事情。多態性分為編譯時的多態性和運行時的多態性。如果將對象的方法視為對象向外界提供的服務,那麼運行時的多態性可以解釋為:當A系統訪問B系統提供的服務時,B系統有多種提供服務的方式,但一切對A系統來說都是透明的(就像電動剃須刀是A系統,它的供電系統是B系統,B系統可以使用電池供電或者用交流電,甚至還有可能是太陽能,A系統只會通過B類對象調用供電的方法,但並不知道供電系統的底層實現是什麼,究竟通過何種方式獲得了動力)。方法重載(overload)實現的是編譯時的多態性(也稱為前綁定),而方法重寫(override)實現的是運行時的多態性(也稱為後綁定)。運行時的多態是面向對象最精髓的東西,要實現多態需要做兩件事:1). 方法重寫(子類繼承父類並重寫父類中已有的或抽象的方法);2). 對象造型(用父類型引用引用子類型對象,這樣同樣的引用調用同樣的方法就會根據子類對象的不同而表現出不同的行為)。
2、訪問修飾符public,private,protected,以及不寫(默認)時的區別?
答:

修飾符
當前類
同 包
子 類
其他包

public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
類的成員不寫訪問修飾時默認為default。默認對於同一個包中的其他類相當於公開(public),對於不是同一個包中的其他類相當於私有(private)。受保護(protected)對子類相當於公開,對不是同一包中的沒有父子關系的類相當於私有。Java中,外部類的修飾符只能是public或默認,類的成員(包括內部類)的修飾符可以是以上四種。
3、String 是最基本的數據類型嗎?
答:不是。Java中的基本數據類型只有8個:byte、short、int、long、float、double、char、boolean;除了基本類型(primitive type)和枚舉類型(enumeration type),剩下的都是引用類型(reference type)。
4、float f=3.4;是否正確?
答:不正確。3.4是雙精度數,將雙精度型(double)賦值給浮點型(float)屬於下轉型(down-casting,也稱為窄化)會造成精度損失,因此需要強制類型轉換float f =(float)3.4; 或者寫成float f =3.4F;。
5、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?
答:對於short s1 = 1; s1 = s1 + 1;由於1是int類型,因此s1+1運算結果也是int 型,需要強制轉換類型才能賦值給short型。而short s1 = 1; s1 += 1;可以正確編譯,因為s1+= 1;相當於s1 = (short)(s1 + 1);其中有隱含的強制類型轉換。
6、Java有沒有goto?
答:goto 是Java中的保留字,在目前版本的Java中沒有使用。(根據James Gosling(Java之父)編寫的《The Java Programming Language》一書的附錄中給出了一個Java關鍵字列表,其中有goto和const,但是這兩個是目前無法使用的關鍵字,因此有些地方將其稱之為保留字,其實保留字這個詞應該有更廣泛的意義,因為熟悉C語言的程序員都知道,在系統類庫中使用過的有特殊意義的單詞或單詞的組合都被視為保留字)
7、int和Integer有什麼區別?
答:Java是一個近乎純潔的面向對象編程語言,但是為了編程的方便還是引入了基本數據類型,但是為了能夠將這些基本數據類型當成對象操作,Java為每一個基本數據類型都引入了對應的包裝類型(wrapper class),int的包裝類就是Integer,從Java 5開始引入了自動裝箱/拆箱機制,使得二者可以相互轉換。

⑹ Java面試題,常見面試題及答案匯總

Java最新面試題附贈答案

Q1: Java內部類和子類之間有什麼區別?

答案:內部類是指在一個外部類的內部再定義一個類,內部類對外部類有訪問許可權,可以訪問類中定義的所有變數和方法。子類是從父類(superclass)中繼承的類,子類可以訪問父類所有public和protected的欄位和方法。

Q2: 靜態方法和靜態變數的目的是什麼?

答案:靜態變數被類的所有實例共用,靜態類只能訪問類的靜態變數,或調用類的靜態方法。

Q3: Java語言中有哪些常見的訪問說明符,有什麼意義?

答案:Java中的訪問說明符是放在類名之前,用於定義訪問范圍的關鍵字,常見的訪問說明符有以下幾類:

Public:公共,能被項目中的任何一個Class、Method、Field訪問。

Protected:受保護,能被同類或子類訪問,不能從外部訪問。

Default:默認,只能被同一個包的ClassMethod、Field訪問。

Private:私有,只能被本類訪問。

Q4: 什麼是數據封裝及其意義?

答案:封裝是面向對象編程中用於在單個單元中組合屬性和方法。封裝可以幫助程序員遵循模塊化方法進行軟體開發,每個對象都有自己的一組方法和變數,並且可以獨立干其他對象來執行其功能。另外,封裝也有數據隱藏的目的。

Q5: 什麼是 singleton class(單例類)? 並給出其用法的實際例子。

答案:單例類只能有一個實例,必須自己創建自己的唯一實例,必須給所有其他對象提供這一實例。單例做差枯使用場景的最佳實踐是由於某些驅動程序限制,或由於許可問題的限制只能連接資料庫。

Q6: 什麼是循環? Java中有哪些循環?

答案:循環用於編程中重復執行語句,Java中的循環有三類:

1、for循環

for循環用於執行指定重復次數的語句,當程序員明確知道循環次數可以使用for循環。

2、While循環

當語句滿足條件時開始進行重復執行,直到語句不再滿足條件退出循環。While循環中在執行語句之前先檢查是否滿足條件。

3、do while循環

Do while 和while循環基本類似,唯一不同的是do while是先執行語句再檢查條件,也就是說dowhile循環至少會執行一次語句。

Q7: 什麼是無限循環? 如何聲明無限循環?

答案:無限循環是指無條件執行,無限運行。無限循環可以由定義中斷語句塊來結束。

Q8: Java中的double和float變數有什麼區別?

答案: float是單精度浮點數,內存中佔用4位元組double是雙精慶冊度浮點數,內存中佔用8位元組。

Q9: Java中的Final關鍵字是什麼意思純洞? 請舉例說明。

答案: final是Java中的關鍵字,有「無法改變」、「終態」的含義,final類不能被繼承,沒有子類,final類中的方法默認是final的,且不能被子類的方法覆蓋,但可以被繼承。final成員變數表示常量,只能被賦值一次,賦值後值不再改變。final不能用於修飾構造方法。下面的例子中,const_val被聲明且賦值為常量100:Private Final int const_val=100而當一個方法被聲明為final之後,它不能被子類覆蓋,而且會比其他方法都快。

Q10: 舉例說明什麼是三元運算符?

答案:三元運算符,也稱為條件運算符,根據布爾值來決定將哪個值分配給變數,它被表示為...? ...:...

在下面的示例中,如果rank為1,status=Done,否則status=Pending。

Q11: 什麼是Java Packages? 其意義是什麼?

答案:為了更好地組織類,Java 提供了包機制,用於區別類名的命名空間。

包的作用:

1、把功能相似或相關的類或介面組織在同一個包中,方便類的查找和使用。

2、如同文件夾一樣,包也採用了樹形目錄的存儲方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時調用兩個不同包中相同類名的類時,應該加上包名加以區別。因此,包可以避免名字沖突。3、包也限定了訪問許可權,擁有包訪問許可權的類才能訪問某個包中的類。

閱讀全文

與編程基礎面試題相關的資料

熱點內容
能設置文件夾題目的軟體 瀏覽:696
php判斷終端 瀏覽:118
編譯網頁在線 瀏覽:920
國際版本伺服器是什麼意思 瀏覽:439
壓縮機十年包換 瀏覽:532
內核編譯之後安裝到哪 瀏覽:58
單片機加場效應管 瀏覽:154
怎麼關閉appstore 瀏覽:474
學編程入門語言 瀏覽:311
安卓機為什麼總是出現升級提示 瀏覽:135
b樹java實現 瀏覽:943
亞馬遜雲伺服器到期了怎麼續費 瀏覽:852
我的世界網易如何在伺服器裡面加光影 瀏覽:284
nat地址訪問外網伺服器 瀏覽:966
怎樣用java編譯一個心形 瀏覽:934
如何使用python中的pygame 瀏覽:836
python實用小工具 瀏覽:24
怎麼在安卓手機上去除馬賽克 瀏覽:235
農行濃情通app怎麼下載 瀏覽:533
怎麼把原文件夾找回來 瀏覽:535