一、單選題
1、JDK 安裝進程中,需設置的環境變量為( D ) A、classpath B、path C、path 和 setpath D、A和B都要設置 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 的運算結束后x的值為(D ) A、2 B、3 C、0 D、1 7、現有一變量聲明為boolean aa;下面賦值語句中正確的是( D )。 A、aa=0 B、aa=True C、aa="true" D、aa=false 8、可以在for循環初始化部分聲明一個變量,其作用域是( B ) A、for循環體所在的代碼塊 B、整個for循環結構 C、for循環后的所有部分 D、除for循環體外的部分 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、下列程序執行之后,輸出的結果為。( 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,則輸出結果為( B )。 A、Cycle B、one C、two D、three 15、某類Example的main()方法參數為args,當輸入數據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); } } 則下列結論正確的是( C )。 A、有輸出結果,且為空 B、沒有輸出結果 C、編譯錯誤 D、有輸出結果,且不為空 17、java中,對于構造方法,下列敘述中不正確的是。( C ) A、構造方法是類的一種特殊方法,它的方法名必須與類名相同。 B、構造方法的主要作用是完成對類的對象的初始化工作。 C、構造方法的返回類型只能是void型。(沒有返回類型說明) D、一般在創建新對象時,系統會自動調用構造方法。 18、聲明公用的abstract方法的正確格式是( C )。 抽象類不能創建對象,只能被繼承 A、public abstract void add() {} B、public abstract add(); C、public abstract void add(); D、public virtual add(); 19、下列程序結果正確的是(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、哪個方法是實現Runnable接口所需的?( B ) A、wait() B、run() C、stop() D、resume() 21、在java中,以下敘述不正確的是 ( B ) A、構造方法名與類名相同。 B、構造方法不是用來完成初始化的。 C、構造方法只能由new操作調用,而不能被用戶直接調用。 D、構造方法沒有返回類型。 22、下列哪一項不是File類的功能?( B ) A、新建文件 B、新建目錄 C、刪除文件 D、修改文件 23、以下類 DataIutputStream的構造方法正確的是( 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類中的靜態方法( D )。 Thread類實現了runnerable接口,runnerable接口定義了run方法 sleep()是Thread類里面的一個靜態方法,其全稱為:public static void sleep (long millis) thorows InterruptedException yield方法也是一個Thread類的靜態方法.作用是,讓出CPU,給其他線程執行的機會 A、start() B、stop() C、run() D、sleep(long m) 25、以下哪個最準確描述synchronized關鍵字?( B ) A、允許兩線程并行運行,而且互相通信; B、保證在某時刻只有一個線程可訪問方法或對象; C、保證允許兩個或更多處理同時開始和結束; D、保證兩個或更多線程同時開始和結束。 26、網格布局把容器區域分成若干個網格,每個網格可以放置一個組件,它對應的類是( 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方法的調用不需要類實例 C、UDP通信需要使用DatagramSocket類實現 D、127.0.0.1地址代表本機
30、下列說法錯誤是:A A、java語言里的線程是沒有優先級的 B、String類在java.lang包中 C、java語言支持類的序列化 D、能序列化的類必須實現java.io.Serializable接口 二、程序填空 1、以下程序實現在屏幕上輸出字符串“this is a java programme!”,請把程序填寫完整 public class A { public static void main(String args[]) { System.out.println(“this is a java programme!”) ; } } 2、以下方法實現求10!,并將結果保存在變量s中輸出,完成程序 public void print( ) { int s=1,i=1 ; for(i=1;i<=10;i++ ) { s=s*i; } System.out.println("10!="+s); } 3、以下方法實現求1+2+3……+100,并將結果保存在變量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容器中添加按鈕組件,請填空 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實現接口N1,完成下面的程序 public interface N1 { int year=2006; int year( ); } public class R1 implements N1 { //實現year方法 public int year( ) { return year; } public void output( ){ } } 三、程序設計題 1、編寫一個Applet應用程序,輸出當前系統日期信息。要求編寫出完整的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)創建矩形類(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、什么是類?什么是對象?兩者有何關系? 類:一組具有共同點的對象,將其共同點抽象出來就是類 對象:每個具體的事物叫對象,對象是由屬性和方法組成, 類是java的核心和本質,類是對象屬性和對象行為的抽象。Java程序中實現的每一個概念都必須封裝到類里面 對象是類的一個實例 2、Error與Exception有什么區別? Error類及其子類主要用來描述一些java運行時系統內部錯誤或資源枯竭導致的錯誤。普通的程序不能從這類錯誤里面恢復,這類錯誤出現的幾率很小,不必捕獲,是屬于未檢測的異常。 Exception類和他的子類,在編程中錯誤的處理主要是針對這類錯誤進行異常處理,如除數為零、數組下標越界等。Exception類是普通程序可以從中恢復的所有規范了的異常的父類。Exception類分為三個子類:IOException、RuntimeException和Non——RuntimeException。 3、什么是構造方法?它有何特點? 在Java中,任何變量在被使用前都必須先設置初值.Java提供了為類的成員變量賦初值的專門功能:構造方法(constructor)構造方法是一種特殊的成員方法,它的特殊性反映在如下幾個方面: 1.構造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。 2.構造方法的調用是在創建一個對象時使用new操作進行的。構造方法的作用是初始化對象。 3.每個類至少有一個構造方法(默認的)或多個構造方法. 4.不能被static、final、synchronized、abstract和native修飾。構造方法不能被子類繼承。 5.構造方法在創建對象時自動執行,一般不能顯式地直接調用. 構造方法可以被重載。沒有參數的構造方法稱為默認構造方法,與一般的方法一樣,構造方法可以進行任何活動,但是經常將他設計為進行各種初始化活動,比如初始化對象的屬性。 4、在java中,一個類被聲明為final類型,表示什么意思? Final類是不能被繼承的類,不能在有子類。是最終的類。不能重載或覆蓋任何方法。其代碼安全性比較高。 5、是否可以繼承String類,為什么? 不可以。String 是final的,不能被繼承。基本類型的類都是final類,無法被繼承或修改,比如:Integer,Float,Boolean,Byte,Character,Long,Short等等。 6、try {}里有一個return語句,那么緊跟在這個try后的finally {}里的代碼會不會被執行,什么時候被執行,在return前還是后? 無論有沒有異常發生,finally語句是一定要執行的部分。 Try塊中的語句沒有產生異常,先執行try中的所有語句,然后在執行finally中的語句。 Try塊中語句產生異常,此異常在方法內捕獲,java先執行try中語句,直至產生異常處,然后跳過try中語句,執行捕獲此異常的 7、簡述java語言的特點? Java語言是一種跨平臺的、適合于分布式計算機環境的面向對象的編程語言。它具有可移植、穩定、簡單、高性能動態執行等特性。 8、char型變量中能不能存貯一個中文漢字?為什么? 不能 char 只占一個字節。 漢字通常是兩個字節來表示,可以使用char數組來表示漢字。 例如 char a[5]="你"; 9、多線程有幾種實現方法,都是什么?同步有幾種實現方法,都是什么? 多線程有兩種實現方法,分別是繼承Thread類與實現Runnable接口 同步的實現方面有兩種,分別是synchronized,wait與notify 10、簡述Java程序的開發過程? Java應用程序的運行經過編寫、編譯、運行三個步驟。 第1步,編寫程序。使用記事本或其他軟件編寫程序的源代碼,將源代碼保存為文件filename.java文件。 第2步,編譯程序。在MS-DOS命令窗口,將當前目錄轉換到Java源程序所在的保存目錄;輸入“javac filename.java”形式的命令進行程序編譯。 第3步,執行程序。在同樣的命令窗口中輸入“java filename”形式的命令執行程序。 完成了程序的開發,查看相應t目錄,其中應該具有兩個文件,分別是XXXX.java和XXXX.class。 11、在一個循環中使用break和continue語句有什么不同的效果? Break是結束整個循環語句的執行,continue只能再循環體中使用,只結束本次循環,不是終止整個循環的執行。 12、package語句與import語句分別作用是什么? Package:定義類所屬的包 import:一個java由若干類組成,“import 說明”是為新定義的類指出要使用java系統已有的類,這些類部分是由java運行環境提供的,部分是用戶開發的 13、接口和抽象類有何區別? interface的抽象完全可以用abstract來定義.但是要想讓繼承的子類能實例化一個對象,你必須把abstract中的所有方法全部實現,否則子類還是abstract的 而interface不一樣的地方就是你可以在它的implements中實現你自己所需要的那些方法,然后就可以實例化一個對象。 接口可以有很多個。抽象類不能創建任何對象,只是用來被其子類繼承 14、什么是包?為何使用包? Package為保留字,定義類所屬的包,包在系統分析時對應于一個單位的部門、子系統。在實現時應對應類所屬的子目錄名。 15、簡述Java環境變量的設置。 1.安裝j2sdk以后,需要配置一下環境變量,在我的電腦->屬性->高級->環境變量->用戶變量或系統變量中添加以下環境變量(假定你的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;
|