java面試相關

來源:互聯網
上載者:User

標籤:

l JBS 
1.列舉出 10個JAVA語言的優勢 
a:免費,開源,跨平台(平台獨立性),簡單易用,功能完善,物件導向,健壯性,多線程,結構中立,公司專屬應用程式的成熟平台, 無線應用 
2.列舉出JAVA中10個物件導向編程的術語 
a:包,類,介面,對象,屬性,方法,構造器,繼承,封裝,多態,抽象,範型 
3.列舉出JAVA中6個比較常用的包 
Java.lang;java.util;java.io;java.sql;java.awt;java.net;java.applet;javax.swing 
4.JAVA中的標識符有什麼作用和特點 
作用:標識符用作給變數、類和方法命名 
特點:可以以字母、底線“_”和”$”符開頭 
首字元外,可以跟上字母、底線“_”和”$”符或數字 
Java是大小寫敏感的,標識符也不例外 
5.JAVA中的關鍵字有什麼特點,列舉出至少20個關鍵字 
Java中一些賦以特定的含義、並用做專門用途的單詞稱為關鍵字(keyword) 
所有Java關鍵字都是小寫,TURE、FALSE、NULL等都不是Java關鍵字 ; 
goto和const 雖然從未被使用,但也作為Java關鍵字保留; 
? 中一共有51個關鍵字Java 
abstract assert boolean break byte continue 
case catch char class const double 
default do extends else final float 
for goto long if implements import 
native new null instanceof int interface 
package private protected public return short 
static strictfp super switch synchronized this 
while void throw throws transient try 
volatile 

6.JAVA中資料類型如何分類? 

可分為單一資料型別和引用資料類型: 
單一資料型別:數值型(byte,short,int,long,float double),字元型(char),布爾型(boolean); 
引用資料類型:類,介面,數組. 
7.JAVA中運算子的分類及舉例 
? 分割符:,,;,[],() 
? 算術運算子: +,―,*,/,%,++,―― 
? 關係運算子: >, <,>=, <=,==,!= 
? 布爾邏輯運算子: !,& , ¦ , ^ , &&, ¦ ¦ 
? 位元運算符: &, ¦,^,~ , >>, < <,>>> 
? 賦值運算子: = 擴充賦值運算子:+=,―=,*=,/= 
? 字串串連運算子: + 
? 造型操作符:() 

8.super,this關鍵字的作用及用法 
? 在Java類中使用super來引用父類的成分 
– 可用於訪問父類中定義的屬性super 
– 可用於調用父類中定義的成員方法super 
– 可用於在子類構造器中調用父類的構造器super 
– 的追溯不僅於直接父類super 
? 中為解決變數的命名衝突和不確定性問題,引入關鍵字“this”代表其所在方法的當前對象。Java 
– 構造器中指該構造器所建立的新對象 
– 方法中指調用該方法的對象 
? 關鍵字的用法this 
– 在類本身的方法或構造器中引用該類的執行個體變數和方法 
– 將當前對象作為參數傳遞給其它方法或構造器 
– 用來調用其他的重載的構造器 

9.什麼是JAVA中的運算式?有什麼作用? 
? 運算式是運算子和運算元的結合,它是任何一門程式設計語言的關鍵組成部分 
? 運算式允許程式員進行數學計算、值的比較、邏輯操作以及在Java中進行對象的操作。 
? 一些運算式的例子: 
– X 
– X+10 
– Y=x+10 
– Arr[10] 
– student.geName() 

10.做表列出JAVA中所有修飾符和他們的適用範圍(能不能修飾構造器,屬性,自由塊等) 
class 屬性 方法 構建器 自由塊 內部類 
public Y Y Y Y Y 
protected Y Y Y Y 
(Default) Y Y Y Y Y Y 
private Y Y Y Y 
final Y Y Y Y 
abstract Y Y Y 
static Y Y Y 


11.寫一個方法,用一個for迴圈列印九九乘法表 
/** 
*一個for迴圈列印九九乘法表 
*/ 
publicvoid nineNineMultiTable() 

for (int i = 1,j = 1; j <= 9; i++) { 
System.out.print(i+"*"+j+"="+i*j+" "); 
if(i==j) 

i=0; 
j++; 
System.out.println(); 



12.給定一個java.util.Date對象,如何轉化為”2007-3-22 20:23:22”格式的字串 
/** 
*將某個日期以固定格式轉化成字串 
*@paramdate 
*@returnstr 
*/ 
public String dateToStr(java.util.Date date) 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
String str = sdf.format(date); 
return str; 

13.寫一個方法,能夠判斷任意一個整數是否素數 
/** 
*判斷任意一個整數是否素數 
*@paramn 
*@returnboolean 
*/ 
publicboolean isprimes(int n) 

for (int i = 2; i <= Math.sqrt(n); i++) { 
if(n%i==0) 

returnfalse; 


returntrue; 

14.寫一個方法,輸入任意一個整數,返回它的階乘 
/** 
*獲得任意一個整數的階乘 
*@paramn 
*@returnn! 
*/ 
publicint factorial(int n) 

//遞迴 
if(n==1) 

return 1; 

return n*factorial(n-1); 
//非遞迴 
// int multi = 1; 
// for (int i = 2; i <= n; i++) { 
// multi*=i; 
// } 
// return multi; 

15.寫一個方法,用二分尋找法判斷任意整數在任意整數數組裡面是否存在,若存在就返回它在數組中的索引位置,不存在返回-1 
/** 
*二分尋找特定整數在整型數組中的位置(遞迴) 
*@paramdataset 
*@paramdata 
*@parambeginIndex 
*@paramendIndex 
*@returnindex 
*/ 
publicint binarySearch(int[] dataset,int data,int beginIndex,int endIndex) 

int midIndex = (beginIndex+endIndex)/2; 
if(data <dataset[beginIndex] ¦ &brvbardata>dataset[endIndex] ¦ &brvbarbeginIndex>endIndex)return -1; 
if(data <dataset[midIndex]) 

return binarySearch(dataset,data,beginIndex,midIndex-1); 
}elseif(data>dataset[midIndex]) 

return binarySearch(dataset,data,midIndex+1,endIndex); 
}else 

return midIndex; 



/** 
*二分尋找特定整數在整型數組中的位置(非遞迴) 
*@paramdataset 
*@paramdata 
*@returnindex 
*/ 
publicint binarySearch(int[] dataset ,int data) 

int beginIndex = 0; 
int endIndex = dataset.length - 1; 
int midIndex = -1; 
if(data <dataset[beginIndex] ¦ &brvbardata>dataset[endIndex] ¦ &brvbarbeginIndex>endIndex)return -1; 
while(beginIndex <= endIndex) { 
midIndex = (beginIndex+endIndex)/2; 
if(data <dataset[midIndex]) { 
endIndex = midIndex-1; 
} elseif(data>dataset[midIndex]) { 
beginIndex = midIndex+1; 
}else 

return midIndex; 


return -1; 

16.做一個飼養員給動物餵食物的例子體現JAVA中的物件導向思想,介面(抽象類別)的用處 
package com.softeem.demo; 

/** 
*@authorleno 
*動物的介面 
*/ 
interface Animal 

publicvoid eat(Food food); 

/** 
*@authorleno 
*一種動物類:貓 
*/ 
class Cat implements Animal 

publicvoid eat(Food food) 

System.out.println("小貓吃"+food.getName()); 


/** 
*@authorleno 
*一種動物類:狗 
*/ 
class Dog implements Animal 

publicvoid eat(Food food) 

System.out.println("小狗啃"+food.getName()); 



/** 
*@authorleno 
*食物抽象類別 
*/ 
abstractclass Food 

protected String name; 
public String getName() { 
returnname; 


publicvoid setName(String name) { 
this.name = name; 



/** 
*@authorleno 
*一種食物類:魚 
*/ 
class Fish extends Food 

public Fish(String name) { 
this.name = name; 


/** 
*@authorleno 
*一種食物類:骨頭 
*/ 
class Bone extends Food 

public Bone(String name) { 
this.name = name; 



/** 
*@authorleno 
*飼養員類 

*/ 
class Feeder 

/** 
*飼養員給某種動物喂某種食物 
*@paramanimal 
*@paramfood 
*/ 
publicvoid feed(Animal animal,Food food) 

animal.eat(food); 



/** 
*@authorleno 
*測試飼養員給動物餵食物 
*/ 
publicclass TestFeeder { 

publicstaticvoid main(String[] args) { 
Feeder feeder=new Feeder(); 
Animal animal=new Dog(); 
Food food=new Bone("肉骨頭"); 
feeder.feed(animal,food); //給狗喂肉骨頭 
animal=new Cat(); 
food=new Fish("魚"); 
feeder.feed(animal,food); //給貓餵魚 




17.描述JAVA中異常處理的機制 
? 程式的執行過程中如出現異常,會自動產生一個異常類對象,該異常對象將被提交給Java運行時系統,這個過程稱為拋出(throw)異常。Java 
? 當Java運行時系統接收到異常對象時,會尋找能處理這一異常的代碼並把當前異常對象交給其處理,這一過程稱為捕獲(catch)異常。 
? 如果Java運行時系統找不到可以捕獲異常的方法,則運行時系統將終止,相應的Java程式也將退出。 
? 程式員通常只能處理違例(Exception),而對錯誤(Error)無能為力。

java面試相關

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.