標題: java簡單面試題型 [打印本頁]
作者: liuyy 時間: 2015-1-12 16:18
標題: java簡單面試題型
一、單選題
1、JDK 安裝進程中,需設(shè)置的環(huán)境變量為( D )
A、classpath B、path C、path 和 setpath D、A和B都要設(shè)置
2、一個部件在水平方向會改變大小,但垂直方向不變,則放到什么位置?B
A、BorderLayout 布局的North或 South位置 B、FlowLayout 布局的第一個部件
C、BorderLayout 布局的East 或 West位置 D、BorderLayout 布局的Center位置
3、以下哪個是Java應用程序main方法的有效定義? C
A、public static void main(); B、public static void main( String args );
C、public static void main( String args[] ); D、public static boolean main( String a[] );
4、下列哪個不是Java的保留字( D )。
A、float B、class C、extends D、virtual
5、下列符號中不能作為Java標識符的是(D )。
A、abc B、$str1 C、_pore D、45six
6、當x=1、y=3時,表達式 x%=y 的運算結(jié)束后x的值為(D )
A、2 B、3 C、0 D、1
7、現(xiàn)有一變量聲明為boolean aa;下面賦值語句中正確的是( D )。
A、aa=0 B、aa=True C、aa="true" D、aa=false
8、可以在for循環(huán)初始化部分聲明一個變量,其作用域是( B )
A、for循環(huán)體所在的代碼塊 B、整個for循環(huán)結(jié)構(gòu)
C、for循環(huán)后的所有部分 D、除for循環(huán)體外的部分
9、在switch(表達式)語句中,表達式的類型不能為( C )。
A、byte B、char C、long D、int
10、下列哪一個是表達式3+2+”aa”+3的值。( B )
A、”32aa3” B、”5aa3” C、”32aa” D、”aa3”
11、下列程序執(zhí)行之后,輸出的結(jié)果為。( A )
public class Test{
public static void main(String[] args){
double y = 10.5;
String s = “abc”;
s += y;
System.out.println(s);
}
}
A、abc10.5 B、10.5abc C、abc D、10.5
12、方法methodA定義如下:
returnType methodA(byte x,double y){
return (short)x/y*2;
}
則返回值returnType為( B )。
A、byte B、double C、short D、int
13、在Java語言中的哪一個包是編譯器自動導入的?( C )
java.swing B、java.awt C、java.lang D、java.applet
14、類Cycle的main()方法為:
public static void main(String args[]){
System.out.println(args[0]);
}
則運行時如果命令行語句為Java Cycle one two three,則輸出結(jié)果為( B )。
A、Cycle B、one C、two D、three
15、某類Example的main()方法參數(shù)為args,當輸入數(shù)據(jù)Java Example cat時,args[0]的值為( A )。
A、cat B、Java C、example D、null
16、類定義如下
class Foo{
public static void main(String args[]){
String s;
System.out.println("s="+s);
}
}
則下列結(jié)論正確的是( C )。
A、有輸出結(jié)果,且為空 B、沒有輸出結(jié)果
C、編譯錯誤 D、有輸出結(jié)果,且不為空
17、java中,對于構(gòu)造方法,下列敘述中不正確的是。( C )
A、構(gòu)造方法是類的一種特殊方法,它的方法名必須與類名相同。
B、構(gòu)造方法的主要作用是完成對類的對象的初始化工作。
C、構(gòu)造方法的返回類型只能是void型。(沒有返回類型說明)
D、一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構(gòu)造方法。
18、聲明公用的abstract方法的正確格式是( C )。
抽象類不能創(chuàng)建對象,只能被繼承
A、public abstract void add() {} B、public abstract add();
C、public abstract void add(); D、public virtual add();
19、下列程序結(jié)果正確的是(A )。
public class Test {
public static void main (String args []) {
Ad a1=new Ad();
System.out.println(a1.add(1));
Ad a2=new Ad();
System.out.println(a2.add(2));
}
}
class Ad{
static int total = 10;
public int add(int i){
total=total+i;
return total;
}
}
A、11,12 B、11,13 C、11,11 D、12,12
20、哪個方法是實現(xiàn)Runnable接口所需的?( B )
A、wait() B、run() C、stop() D、resume()
21、在java中,以下敘述不正確的是 ( B )
A、構(gòu)造方法名與類名相同。 B、構(gòu)造方法不是用來完成初始化的。
C、構(gòu)造方法只能由new操作調(diào)用,而不能被用戶直接調(diào)用。
D、構(gòu)造方法沒有返回類型。
22、下列哪一項不是File類的功能?( B )
A、新建文件 B、新建目錄 C、刪除文件 D、修改文件
23、以下類 DataIutputStream的構(gòu)造方法正確的是( C )。
A、new DataInputStream(“in.txt”);
B、new DataInputStream(new file(“in.txt”));
C、new DataInputStream(new FileInputStream(“in.txt”));
D、new DataInputStream(new FileWriter(“in.txt”));
24、下面哪一個是Thread類中的靜態(tài)方法( D )。
Thread類實現(xiàn)了runnerable接口,runnerable接口定義了run方法
sleep()是Thread類里面的一個靜態(tài)方法,其全稱為:public static void sleep (long millis) thorows InterruptedException
yield方法也是一個Thread類的靜態(tài)方法.作用是,讓出CPU,給其他線程執(zhí)行的機會
A、start() B、stop() C、run() D、sleep(long m)
25、以下哪個最準確描述synchronized關(guān)鍵字?( B )
A、允許兩線程并行運行,而且互相通信;
B、保證在某時刻只有一個線程可訪問方法或?qū)ο螅?/div>
C、保證允許兩個或更多處理同時開始和結(jié)束;
D、保證兩個或更多線程同時開始和結(jié)束。
26、網(wǎng)格布局把容器區(qū)域分成若干個網(wǎng)格,每個網(wǎng)格可以放置一個組件,它對應的類是( A )
A、GridLayout B、FlowLayout C、CardLayout D、BorderLayout
27、下列說法中,錯誤的一項是。(A )
A、Applet(init()方法開始)和Application一樣,入口方法都是main()
B、Applet和Application不一樣,入口方法不是main(),其運行要復雜得多
C、Applet必須嵌入Web瀏覽器或者Appletviewer中運行
D、Applet可以為Web頁面提供動畫效果
28、定義Java Applet程序時,必須有的import語句是。( C )
A、import java.awt.event; B、import java.util.*;
C、import java.applet.Applet; D、import java.lang.*;
29、下面說法哪個是錯誤的? B
A、Applet可以訪問本地文件 B、對static方法的調(diào)用不需要類實例
C、UDP通信需要使用DatagramSocket類實現(xiàn) D、127.0.0.1地址代表本機
30、下列說法錯誤是:A
A、java語言里的線程是沒有優(yōu)先級的 B、String類在java.lang包中
C、java語言支持類的序列化 D、能序列化的類必須實現(xiàn)java.io.Serializable接口
二、程序填空
1、以下程序?qū)崿F(xiàn)在屏幕上輸出字符串“this is a java programme!”,請把程序填寫完整
public class A
{
public static void main(String args[])
{
System.out.println(“this is a java programme!”) ;
}
}
2、以下方法實現(xiàn)求10!,并將結(jié)果保存在變量s中輸出,完成程序
public void print( )
{
int s=1,i=1 ;
for(i=1;i<=10;i++ )
{
s=s*i;
}
System.out.println("10!="+s);
}
3、以下方法實現(xiàn)求1+2+3……+100,并將結(jié)果保存在變量m中輸出,完成程序
public void print( )
{
int s=0 ;
for(int i=1;i<=100;i++)
{
s=s+i;
}
System.out.println("1+2+3……+100="+s);
}
4、在如下定義的
Applet容器中添加按鈕組件,請?zhí)羁?/div>
import java.awt.* ;
import java.applet.Applet;
public class Examp extends Applet
{
public void init( )
{
button1=new Button("Click here");
add(button1);
}
}
5、定義接口N1,然后類R1實現(xiàn)接口N1,完成下面的程序
public interface N1
{
int year=2006;
int year( );
}
public class R1 implements N1
{
//實現(xiàn)year方法
public int year( )
{
return year;
}
public void output( ){ }
}
三、程序設(shè)計題
1、編寫一個Applet應用程序,輸出當前系統(tǒng)日期信息。要求編寫出完整的HTML文件。
Clock.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>時間顯示</title>
</head>
<body>
<applet code="clock.class" width="400" height="150" viewastext></applet>
</body>
</html>
Clock.java
import java.awt.*;
import java.applet.*;
import java.util.*;
public class clock extends Applet
{
public void paint(Graphics g){
String today;
Date dat=new Date();
today=dat.toLocaleString();
g.drawString(today, 20, 32);
}
}
2、按如下要求編程(10分)【P137】
(1)創(chuàng)建矩形類(Rectangle),添加屬性寬度(width),高度(height);添加方法計算矩形周長(getPerimeter),計算面積(getArea)。
(2)編程利用Rectangle類在屏幕輸出一個矩形的周長和面積。
public class Rectangle{
int width,height;
public static int getPerimeter(int w,int h){
int l;
l=2*(w+h);
return l;
}
public static int getArea(int w,int h){
int a;
a=w*h;
return a;
}
public static void main(String args[])
{
int l,a;
l=getPerimeter(20,35);
a=getArea(20,35);
System.out.println("矩形的周長是:"+l+"cm");
System.out.println("矩形的面積是:"+a+"立方厘米");
}
}
3、編程輸出下列形狀的圖形。
*****
*****
*****
*****
*****
這個是自己寫的
public class Test{
public static void main(String args[ ]){
for(int i=0;i<7;i++){
for(int j=0;j<5;j++){
if(i==3)
System.out.println();
else
System.out.print("*");
}
System.out.println();
}
}
}
下面的老師給的答案:
public class Test{
public static void main(String args[ ]) {
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
for(int k=0;k<5;k++)
System.out.print('*');
System.out.println( );
}
System.out.println( );
}
}
}
四、簡答題
1、什么是類?什么是對象?兩者有何關(guān)系?
類:一組具有共同點的對象,將其共同點抽象出來就是類
對象:每個具體的事物叫對象,對象是由屬性和方法組成,
類是java的核心和本質(zhì),類是對象屬性和對象行為的抽象。Java程序中實現(xiàn)的每一個概念都必須封裝到類里面
對象是類的一個實例
2、Error與Exception有什么區(qū)別?
Error類及其子類主要用來描述一些java運行時系統(tǒng)內(nèi)部錯誤或資源枯竭導致的錯誤。普通的程序不能從這類錯誤里面恢復,這類錯誤出現(xiàn)的幾率很小,不必捕獲,是屬于未檢測的異常。
Exception類和他的子類,在編程中錯誤的處理主要是針對這類錯誤進行異常處理,如除數(shù)為零、數(shù)組下標越界等。Exception類是普通程序可以從中恢復的所有規(guī)范了的異常的父類。Exception類分為三個子類:IOException、RuntimeException和Non——RuntimeException。
3、什么是構(gòu)造方法?它有何特點?
在Java中,任何變量在被使用前都必須先設(shè)置初值.Java提供了為類的成員變量賦初值的專門功能:構(gòu)造方法(constructor)構(gòu)造方法是一種特殊的成員方法,它的特殊性反映在如下幾個方面:
1.構(gòu)造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。
2.構(gòu)造方法的調(diào)用是在創(chuàng)建一個對象時使用new操作進行的。構(gòu)造方法的作用是初始化對象。
3.每個類至少有一個構(gòu)造方法(默認的)或多個構(gòu)造方法.
4.不能被static、final、synchronized、abstract和native修飾。構(gòu)造方法不能被子類繼承。
5.構(gòu)造方法在創(chuàng)建對象時自動執(zhí)行,一般不能顯式地直接調(diào)用.
構(gòu)造方法可以被重載。沒有參數(shù)的構(gòu)造方法稱為默認構(gòu)造方法,與一般的方法一樣,構(gòu)造方法可以進行任何活動,但是經(jīng)常將他設(shè)計為進行各種初始化活動,比如初始化對象的屬性。
4、在java中,一個類被聲明為final類型,表示什么意思?
Final類是不能被繼承的類,不能在有子類。是最終的類。不能重載或覆蓋任何方法。其代碼安全性比較高。
5、是否可以繼承String類,為什么?
不可以。String 是final的,不能被繼承。基本類型的類都是final類,無法被繼承或修改,比如:Integer,Float,Boolean,Byte,Character,Long,Short等等。
6、try {}里有一個return語句,那么緊跟在這個try后的finally {}里的代碼會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?
無論有沒有異常發(fā)生,finally語句是一定要執(zhí)行的部分。
Try塊中的語句沒有產(chǎn)生異常,先執(zhí)行try中的所有語句,然后在執(zhí)行finally中的語句。
Try塊中語句產(chǎn)生異常,此異常在方法內(nèi)捕獲,java先執(zhí)行try中語句,直至產(chǎn)生異常處,然后跳過try中語句,執(zhí)行捕獲此異常的
7、簡述java語言的特點?
Java語言是一種跨平臺的、適合于分布式計算機環(huán)境的面向?qū)ο蟮木幊陶Z言。它具有可移植、穩(wěn)定、簡單、高性能動態(tài)執(zhí)行等特性。
8、char型變量中能不能存貯一個中文漢字?為什么?
不能
char 只占一個字節(jié)。
漢字通常是兩個字節(jié)來表示,可以使用char數(shù)組來表示漢字。
例如
char a[5]="你";
9、多線程有幾種實現(xiàn)方法,都是什么?同步有幾種實現(xiàn)方法,都是什么?
多線程有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口
同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify
10、簡述Java程序的開發(fā)過程?
Java應用程序的運行經(jīng)過編寫、編譯、運行三個步驟。
第1步,編寫程序。使用記事本或其他軟件編寫程序的源代碼,將源代碼保存為文件filename.java文件。
第2步,編譯程序。在MS-DOS命令窗口,將當前目錄轉(zhuǎn)換到Java源程序所在的保存目錄;輸入“javac filename.java”形式的命令進行程序編譯。
第3步,執(zhí)行程序。在同樣的命令窗口中輸入“java filename”形式的命令執(zhí)行程序。
完成了程序的開發(fā),查看相應t目錄,其中應該具有兩個文件,分別是XXXX.java和XXXX.class。
11、在一個循環(huán)中使用break和continue語句有什么不同的效果?
Break是結(jié)束整個循環(huán)語句的執(zhí)行,continue只能再循環(huán)體中使用,只結(jié)束本次循環(huán),不是終止整個循環(huán)的執(zhí)行。
12、package語句與import語句分別作用是什么?
Package:定義類所屬的包
import:一個java由若干類組成,“import 說明”是為新定義的類指出要使用java系統(tǒng)已有的類,這些類部分是由java運行環(huán)境提供的,部分是用戶開發(fā)的
13、接口和抽象類有何區(qū)別?
interface的抽象完全可以用abstract來定義.但是要想讓繼承的子類能實例化一個對象,你必須把abstract中的所有方法全部實現(xiàn),否則子類還是abstract的
而interface不一樣的地方就是你可以在它的implements中實現(xiàn)你自己所需要的那些方法,然后就可以實例化一個對象。
接口可以有很多個。抽象類不能創(chuàng)建任何對象,只是用來被其子類繼承
14、什么是包?為何使用包?
Package為保留字,定義類所屬的包,包在系統(tǒng)分析時對應于一個單位的部門、子系統(tǒng)。在實現(xiàn)時應對應類所屬的子目錄名。
15、簡述Java環(huán)境變量的設(shè)置。
1.安裝j2sdk以后,需要配置一下環(huán)境變量,在我的電腦->屬性->高級->環(huán)境變量->用戶變量或系統(tǒng)變量中添加以下環(huán)境變量(假定你的j2sdk安裝在C:\Program Files\Java\jdk1.5.0_10 :
java_home=C:\Program Files\Java\jdk1.5.0_10
classpath=.;%java_home%\lib;%java_home%\lib\tools.jar (.;一定不能少,因為它代表當前路徑)
path=%java_home%\bin;%java_home%\jre\bin;
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |