一、单选题
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;
|