本文目錄一覽:
請高手幫忙解決一些JAVA試題
《Java程序設計》期未考試複習題
一.填空
1.在一個java源程序中定義了3個類和15個方法,編譯該Java源文件時,會產生個字節碼文件,其擴展名是class。
2.創建類的關鍵字是public class.
3. 類包聲明的關鍵字是package.
4.引用類包的關鍵字是import.
5.聲明接口的關鍵字是interface.
6.繼承的關鍵字是extends.
7.返回變量的值的關鍵字是return.
8.聲明虛擬類的關鍵字是abstract.
9.在Java語言中,邏輯常量只有true false兩個值。
10.i為整型變量且賦值為11,表達式
int a=i++;
則a的值為12。
11.面向對象的軟件開發方法用把數據和基於數據的操作封裝在一起。
12.構造方法的方法名必須與類名相同。
13.如果子類中的某個方法的名字、和與它的父類中的某個方法完全一樣,則稱子類中的這個方法覆蓋了父類的同名方法。
14.同一個類中多個方法具有相同的方法名,不同的,稱為方法的重載。
15.Java異常處理中可能夠拋出異常的代碼是放在try塊中,處理代碼是放在catch塊中。
java基礎面試題有哪些?
下面是10道java基礎面試題,後附答案
1.什麼是 Java 虛擬機?為什麼 Java 被稱作是“平台無關的編程語言”?
Java 虛擬機是一個可以執行 Java 字節碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執行的字節碼文件。
Java 被設計成允許應用程序可以運行在任意的平台,而不需要程序員為每一個平台單獨重寫或者是重新編譯。Java 虛擬機讓這個變為可能,因為它知道底層硬件平台的指令長度和其他特性。
2.“static”關鍵字是什麼意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?
“static”關鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問。
Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。
3.JDK 和 JRE 的區別是什麼?
Java 運行時環境(JRE)是將要執行 Java 程序的 Java 虛擬機。它同時也包含了執行 applet 需要的瀏覽器插件。Java 開發工具包 (JDK)是完整的 Java 軟件開發包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調試器),可以讓開發者開發、編譯、執行 Java 應用程序。
4.是否可以在 static 環境中訪問非 static 變量?
static 變量在 Java 中是屬於類的,它在所有的實例中的值是一樣的。當類被 Java 虛擬機載入的時候,會對 static 變量進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變量,編譯器會報錯,因為這些變量還沒有被創建出來,還沒有跟任何實例關聯上。
5.Java 支持的數據類型有哪些?什麼是自動拆裝箱?
Java 語言支持的 8 中基本數據類型是:
byte
short
int
long
float
double
boolean
char
自動裝箱是 Java 編譯器在基本數據類型和對應的對象包裝類型之間做的一個轉化。比如:把 int 轉化成 Integer,double 轉化成 double,等等。反之就是自動拆箱。
6.Java 支持多繼承么?
不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現多個接口。
7.Java 中,什麼是構造函數?什麼是構造函數重載?什麼是複製構造函數?
當新對象被創建的時候,構造函數會被調用。每一個類都有構造函數。在程序員沒有給類提供構造函數的情況下,Java 編譯器會為這個類創建一個默認的構造函數。
Java 中構造函數重載和方法重載很相似。可以為一個類創建多個構造函數。每一個構造函數必須有它自己唯一的參數列表。
Java 不支持像 C++中那樣的複製構造函數,這個不同點是因為如果你不自己寫構造函數的情況下,Java 不會創建默認的複製構造函數。
8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什麼意思?
Java 中的方法重載發生在同一個類裡面兩個或者是多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。
9.接口和抽象類的區別是什麼?
Java 提供和支持創建抽象類和接口。它們的實現有共同點,不同點在於:
接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。
類可以實現很多個接口,但是只能繼承一個抽象類
類如果要實現一個接口,它必須要實現接口聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。
抽象類可以在不提供接口方法實現的情況下實現接口。
Java 接口中聲明的變量默認都是 final 的。抽象類可以包含非 final 的變量。
Java 接口中的成員函數默認是 public 的。抽象類的成員函數可以是 private, protected 或者是 public。
接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。
10.什麼是值傳遞和引用傳遞?
對象被值傳遞,意味着傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。
對象被引用傳遞,意味着傳遞的並不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。
最後祝你面試順利!
簡單的JAVA 面試題
import java.util.Scanner;
public class OODemo {
private double price1 = 1.5;//金卡會員價格
private double price2 = 1.8;//銀卡會員價格
private double price3 = 2.0;//普通客戶價格
/**
* 根據buyer的購物數和會員級別計算total金額
* @param num
* @param card
* @return
*/
public double countPrice(int num,String card)
{
double total = 0.0;
if(card.equals(“1”))
{
total = price1*num;
}
else if(card.equals(“2”))
{
total = price2*num;
}
else if(card.equals(“3”))
{
total = price3*num;
}else{
System.out.println(“無效的選擇!”);
}
return total;
}
public void method()
{
Scanner s = new Scanner(System.in);
System.out.println(“Please input a cardDept num to get your totalPrice:”);
System.out.println(“————————————————“);
System.out.println(“1—-金卡會員”);
System.out.println(“2—-銀卡會員”);
System.out.println(“3—-普通會員”);
System.out.println(“4—-Exit”);
String card = s.next();
if(card.equals(“1”)||card.equals(“2”)||card.equals(“3”))
{
System.out.println(“該會員等級為”+card);
System.out.println(“請輸入購買數:num”);
int num = s.nextInt();
double total = countPrice(num, card);
System.out.println(“總計金額為:”+total);
}else if(card.equals(“4”))
{
System.out.println(“Exit…”);
System.exit(0);
}else{
System.out.println(“無效的會員等級!”);
System.out.println(“重新輸入:”);
method();
}
}
public static void main(String[] args) {
OODemo demo = new OODemo();
demo.method();
}
}
java簡單試題
4、對象的使用包括引用對象的成員變量和方法。通過_對象_點___屬性_運算符就能實現對對象成員變量的訪問和對象方法的調用。
5、在Java中有一種叫作_構造方法____________特殊方法,我們在程序中用它來對類的對象成員進行初始化。
6、用static修飾的方法,稱為靜態方法。它們不是對象的方法,而是整個類的方法。靜態方法只能處理用關鍵字___static_____修飾的數據。
7、表達式1/2*3的計算結果是______0__。
8、在Java程序中,通過類的定義只能實現___單_____重繼承,但通過接口的定義可以實現____多____重繼承關係。
9、在Java語言中,邏輯常量只有true 和 _____false______ 兩個值。
10、Java語言中的浮點型數據根據數據存儲長度和數值精度的不同,進一步分為float和 _double________兩種具體類型。
11、else子句不能單獨作為語句使用,它必須和if子句配對使用,那麼else 子句的配對原則是:else子句總是與離它___最近_____的if子句配對使用。
12、向對象的語言將客觀世界都看成由各種對象組成,共同特徵和行為的對象組成類, 類是變量和___方法_____的集合體。
13、RandomAccessFile所實現的接口是 DataInput、 Closeable____接口和DataOutput 接口。
14、創建包的語句應該放在程序的位置為___文件的第一句________。
15、字符類輸出流的各個類都是抽象類___java.io.Reader______的子類。
JAVA面試試題,我是初學者下面的題都不會,請大家幫我做做,謝謝了感激不盡!
19:1;
20:java代碼生成生成中間代碼,通過java虛擬機來執行;
21:沒有指針,垃圾回收,異常處理;
22:接口裡可以定義屬性,但必須是常量。修飾符為:interface;
23:數組裡沒有length()這個方法,String中有length()這個方法;
24:標識符就是常量、變量、函數自定義的名稱。Java標識符由數字、字母、下劃線、$組成。首位不能是數字,Java關鍵字不能當作Java標識符。
25:兩個if需要執行兩次邏輯判定。一個if判定一次,且與else是互補的關係。
26:public static void main(String args[])
{
}
args可以變。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/292775.html