文档库 最新最全的文档下载
当前位置:文档库 › Java 综合实验及练习(参考答案)

Java 综合实验及练习(参考答案)

Java 综合实验及练习(参考答案)
Java 综合实验及练习(参考答案)

Java实验综合实验及练习

第一部分:编程题

1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5)

1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1

1 2 3 4 3 2 1

1 2 3 2 1

1 2 1

1

2.给出年、月、日,计算该日是该年的第几天?

3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。

4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。

评分规则:分数为60~100分。选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。

5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。写一个程序测试这个类

6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。

设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。

7、编写一个完整的Java Application 程序。包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:

⑴、接口Shape:

double area():求一个形状的面积

double perimeter ():求一个形状的周长

⑵、类 MyRectangle :

实现Shape 接口,并有以下属性和方法:

① 属性

width : double 类型,表示矩形的长

height : double 类型,表示矩形的高

② 方法

MyRectangle(double w, double h):构造函数

ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,

area=2.0”

⑶、类MyTriangle :

实现Shape 接口,并有以下属性和方法:

① 属性

x,y,z: double 型,表示三角形的三条边

s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,

开方可用Math.sqrt(double)方法)

② 方法

MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋

初值。

ToString():输出矩形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0” ⑷、Test 类作为主类要完成测试功能

① 生成MyRectangle 对象

② 调用对象的ToString 方法,输出对象的描述信息

8 完成以下窗体制作

参考:这一题考虑使用组合布局,将上面控件放置在JPanel上,再将JPanel放到内容面板的中间。下面四个按钮先放在某JPanel再放置在内容面板的South部分

9、以JDBC技术创建一个通讯录应用程序,要求通讯录中必须含有编号、姓名,性别、电话、地址、Email等等。实现该类并包含添加、删除、修改、按姓名查等几个方法。编写主程序测试。

参考如下:

第一步:编写一个Person联系人类

public class Person {

private int pid; //编号

private String name; //姓名

private String sex; //性别

private String tel; //电话

private String address; //地址

private String email; //email

/*构造函数以及set-get函数*/

}

第二步:编写一个PersonDao封装对联系人类的有关操作

public class PersonDao {

//添加联系人

public void addPerson(Person p){

String sql=””;

DBHelper.executeUpdate(sql);

}

//通过人的编号删除联系人

public void deletePersonByID(int pid){

String sql=”delete from person where pid=”+pid;

DBHelper.executeUpdate(sql);

}

//通过人的姓名查找联系人,返回一个集合

public List queryPersonByName(String name){

….

}

//...其余方法

}

第三步:编写一个测试Swing类,有界面使用JTable显示,参考书本上关于JTable控件的使用,参考界面如下

public class TestFrm extends JFrame{

}

第二部分:选择题

1、下面关于变量及其作用范围的陈述哪个是不对的?()

A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建。

D.局部变量在使用前必须被初始化。

2、下面哪条语句把方法声明为抽象的公共方法?()

A.public abstract method();

B.public abstract void method();

C.public abstract void method(){}

D.public void method() extends abstract;

3、若在某一个类定义中定义有如下的方法:final void aFinalFunction( );

则该方法属于()。

A、本地方法

B、静态方法

C、最终方法

D、抽象方法

4、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、

类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为()。

A、隐藏

B、覆盖

C、重载

D、Java不支持此特性

5、在Java applet程序中,用户自定义的Applet子类常常覆盖父类的( )

方法来完成applet界面的初始化工作。

A、start( )

B、stop( )

C、init( )

D、paint( )

6、下列关于构造方法的叙述中,错误的是()

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

7、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、

在其他包中的该类的子类

B.可以被两种类访问和引用:该类本身、该类的所有子类

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

8、执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的()

A.x[9]为0

B.x[9]未定义

C.x[10]为0

D.x[0]为空

9、类Test1定义如下:

1. public class Test1{

2.public float aMethod(float a, float b){ }

3.

4.}

将以下哪种方法插入行3是不合法的。()

A、public float aMethod(float a,float b,float c){ }

B、public float aMethod(float c,float d){ }

C、public int aMethod(int a,int b){ }

D、private float aMethod(int a,int b,int c){ }

10、以下哪个接口的定义是正确的?( )

A、interface A

{ void print() { } ;}

B、abstract interface A

{ void print() ;}

C、abstract interface A extends I1, I2 // I1、I2为已定义的接口

{ abstract void print(){ };}

D、interface A

{ void print();}

11、关于以下程序段,正确的说法是( )

1. String s1=“a”+“b”;

2. String s2=new String(s1);

3.if(s1==s2)

4.System.out.println(“= =is succeeded”);

5. if (s1.equals(s2))

6.System.out.println(“.equals() is succeeded”);

A.行4与行6都将执行 B.行4执行,行6不执行C.行6执行,行4不执行 D.行4、行6都不执行

12、下面哪个函数是public void aMethod(){...}的重载函数?()

A、void aMethod( ){...}

B、public int aMethod(){...}

C、public void aMethod ( ){...}

D、public int aMethod ( int m){...}

13、下面关于继承的哪些叙述是正确的? ( )

A.在java中允许多继承。

B.在java中一个类只能实现一个接口。

C.在java中一个类不能同时继承一个类和实现一个接口。

D. java的单一继承使代码更可靠。

14、关于length()这个方法的表述正确的是哪个? ( )

A.数组有length()这个方法,string也有length()这个方法。

B.数组有length()有这个方法,string没有length()这个方法。

C.数组没有length()这个方法,string有length()这个方法。

D.数组没有length()这个方法,string也没有length()这个方法。

15、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择( )。

A)最大的B)最小的C)任意的D)头上的

16、类与对象的关系是( )。

A. 类是对象的抽象

B. 类是对象的具体实例

C. 对象是类的抽象

D. 对象是类的子类

17、下列关于修饰符混用的说法,错误的是( )

A. abstract不能与final并列修饰同一个类

B. abstract类中不可以有private的成员

C. abstract方法必须在abstract类中

D. static方法中能处理非static的属性

18、编译并运行下述程序段的结果是:( )。

public class Test{

public static void main(String argv[]){

int[] count = new int[4];

System.out.println(count[4]);

}

}

A.编译时错误

B.运行时错误

C.输出0

D.输出null

19、下面是有关子类继承父类构造函数的描述,其中正确的是( )。

A.创建子类的对象时, 先调用子类自己的构造函数,然后调用父类的构造函数。B.子类无条件地继承父类不含参数的构造函数。

C.子类必须通过super关键字调用父类的构造函数。

D.子类无法继承父类的构造函数。

20、下面哪个不是String类的方法?()

A、subString()

B、startsWith()

C、toString()

D、t oUpperCase()

21、编译并运行以下程序段的结果是:()

public class MyClass{

final static int i;

MyClass(){i =0;}

public static void main(String args[]){

System.out.println(i);

}

}

A、编译出错

B、null

C、1

D、0

22、下面关于java中类的说法哪个是不正确的?()

A、类体中只能有变量定义和成员方法的定义,不能有其他语句。

B、构造函数是类中的特殊方法。

C、类一定要声明为public的,才可以执行。

D、一个java文件中可以有多个class定义。

23、下列哪个类声明是正确的? ( )

A、 abstract final class H1{…}

B、 abstract private move(){…}

C、 protected private number;

D、 public abstract class Car{…}

24、方法重载是指 ( )

A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同

B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同

C.两个以上的方法名字不同,但形参的个数或类型相同

D.两个以上的方法取相同的方法名,并且方法的返回类型相同

25、Frame的默认的布局管理器是下列哪一个? ( )

A.FlowLayout

B.BorderLayout

C.GridLayout

D.CardLayout

26、下面的哪个用户界面组件不是容器? ( )

A. JScrollPane

B. JFrame

C. JWindows

D. JScrollBar

27、在下列事件处理机制中哪个不是机制中的角色? ( 无 )

A. 事件

B. 事件源

C. 事件接口

D. 事件处理者

28.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( )

A、 ArrayList myList=new Object();

B、 List myList=new ArrayList();

C、 ArrayList myList=new List();

D、 List myList=new List();

29器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( )

A、 CardLayout

B、 FlowLayout

C、 BorderLayout

D、 GridLayout

30个关键字可以对对象加互斥锁? ( )

A、 transient

B、 synchronized

C、 serialize

D、 static

31Teacher和Student是类Person的子类;

Person p;

Teacher t;

Student s;

//p, t and s are all non-null.

if(t instanceof Person) { s = (Student)t; }

最后一句语句的结果是: ( )

A、将构造一个Student对象;

B、表达式是合法的;

C、表达式是错误的;

D、编译时正确,但运行时错误。

32行下列程序, 会产生什么结果 ( 自己 )

public class X extends Thread implements Runable{

public void run(){

System.out.println("this is run()");

}

public static void main(String args[])

{

Thread t=new Thread(new X());

t.start();

}

}

A、 in the Inner outer

B、 outer

C、 in the Inner

D、编译不通过

33下面哪个是对字符串String的正确定义()

A、String s1=null;

B、String s2=’null’ ;

C、String s3=(String) ‘abc’ ;

D、String s4=(String) ‘\uface’; 34下面哪条语句定义了5个元素的数组()

A、int [] a={22,23,24,25,12};

B、int a []=new int(5);

C、int [5] array;

D、int [] arr;

35给出一段程序,选择运行结果

public class sss {

public static void main(String args[])

{

String s1=args[1]; String s2=args[2];

String s3=args[3]; String s4=args[4];

System.out.println(“args[2]=”+s2);

}

}

命令行执行: java sss 1 2 3 4 结果是下面哪一个?( )

A、args[2]=2

B、args[2]=null

C、args[2]=1

D、运行出现异常

36下面哪个描述是正确的()

A、Applet程序中不需要main()方法,也不能有

B、Application程序中可以没有main()方法。

C、Applet程序中可以不定义init( )方法

D、Application程序中必须有run( )方法

37给出一段程序,试判断哪个是正确的结果()

public class rtExcept{

public static void throwit(){

System.out.print(“throwit”);

throw new RuntimeException(); }

public static void main(String [] aa){

try{

System.out.print(“hello “);

throwit(); }

catch(Exception re){

System.out.print(“caught ”); }

finally{

System.out.print(“finally ”); }

System.out.print(“after ”);

}

}

A、hello throwit caught

B、hello throwit caught finally after

C、hello throwit RuntimeException after

D、hello throwit caught finally after RuntimeException

38下面哪个描述是正确的()

A、Applet程序中不需要main()方法,也不能有

B、Application程序中可以没有main()方法。

C、Applet程序中可以不定义init( )方法

D、Application程序中必须有run( )方法

39面哪个修饰符修饰的变量是所有同一个类生成的对象共享的()

A、public

B、private

C、static

D、final

40面关于java中类的说法哪个是不正确的()

A、类体中只能有变量定义和成员方法的定义,不能有其他语句。

B、构造函数是类中的特殊方法。

C、类一定要声明为public的,才可以执行。

D、一个java文件中可以有多个class定义。

41下面程序运行后的输出结果为()

class A

{static int y=3;

void showy( ){System.out.println(“y=”+y); } }

class testA

{

public static void main(String aaa [])

{ A a1=new A( );

A.y+=1; a1.y++;

a1.showy( );

}

}

输出结果选择:

A、y=3;

B、y=4;

C、y=5;

D、程序运行出错

43在java的一个异常处理中,哪个语句块可以有多个()

A、catch

B、finally

C、try

D、throws

44果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?( ) A、BoxLayout B、GridLayout C、BorderLayout D、FlowLouLayout

45.给出如下代码:

class Test{

private int m;

public static void fun() {

// some code...

}

}

如何使成员变量m 被函数fun()直接访问? ( )

A、将private int m 改为protected int m

B、将private int m 改为 public int m

C、将private int m 改为static int m

D、将private int m 改为 int m

45 AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名

AB作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( )

B. public voidmethod( )

C. final void method( )

D. abstract void method( )

46.类Teacher和Student是类Person的子类;

Person p;

Teacher t;

Student s;

//p, t and s are all non-null.

if(t instanceof Person) { s = (Student)t; }

最后一句语句的结果是:

A、将构造一个Student对象;

B、表达式是合法的;

C、表达式是错误的;

D、编译时正确,但运行时错误。

47.对于下列代码:

public class Parent {

public int addValue( int a, int b) {

int s;

s = a+b;

return s;

}

}

class Child extends Parent {

}

下述哪些方法可以加入类Child? ( )

A、 int addValue( int a, int b ){// do something...}

B、 public void addValue (int a, int b ){// do something...}

C、 public int addValue( int a ){// do something...}

D、 public int addValue( int a, int b )throws MyException {//do something...}

48.给出下面代码:

public class test{

static int a[] = new a[10];

public static void main(String args[]) {

System.out.println(arr[10]);

}

}

那个选项是正确的? ( )

A、编译时将产生错误;

B、编译时正确,运行时将产生错误;

C、输出零;

D、输出空。

49.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( )

A 安全性

B 多线程

C 跨平台

D 可移植

50.内部类是在一个类内嵌套定义的类。其特点描述错误的是( )

A.只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名

B.可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量

C.可以作为其它类的成员,而且可访问它所在类的成员

D.除static内部类外,不能在类内声明static成员

Java基础强化练习题2(附答案)

1. 下列代码的输出结果是: public class Yikes { public static void go(Long n) { System.out.println("Long "); } public static void go(Short n) { System.out.println("Short "); } public static void go(int n) { System.out.println("int "); } public static void main(String[] args) { short y = 6; long z = 7; go(y); go(z); } } A. Long Long B. Short Long C. int Long D. int int 正确答案:C 2. 下面不属于接口的是:()。 A. java.sql.Connection B. java.sql.Driver C. java.sql.DriverManager D. java.sql.ResultSet 正确答案:C 3. synchronized关键字做同步,可以使用在:()。 A. 方法上 B. 接口上 C. 变量上 D. 类上

正确答案:A 4. 类A的定义如下: class A { protected void f() throws FileNotFoundException { ……… } } 下列代码段没有编译错误的是:()。 A. class B extends A { public void f() throws Exception { ……… } } B. class B extends A { public void g() throws IOException { f(); } } C. class B extends A { public void g() { try{ f(); ……… } catch(IOException e) { ……… } catch(FileNotFoundException e1) { ……… } } } D. class B extends A { public void g() { try { f(); } catch(FileNotFoundException e) {

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

Java基础练习题-附答案

Java基础练习题附答案 一、简单Java程序调试 1)以下哪个是Java应用程序main方法的有效定义 A. public static void main(); B. public static void main( String args ); C. public static void main( String args[] ); D. public static void main( Graphics g ); 【 E. public static boolean main( String a[] ); 2) 编译和运行以下代码的结果为: public class MyMain{ public static void main(String argv){ "Hello cruel world"); } } A.编译错误; ~ B.运行输出 "Hello cruel world"; C.编译无错,但运行时指示没有定义构造方法。 D.编译无错,但运行时指示没有正确定义main方法。3)下列选项中不属于Java虚拟机的执行特点的一项是:A.异常处理 B.多线程 C.动态链接 D.简单易学4)不属于Java语言特点的一项是: A.分布式 B. 安全性 C. 编译执行 D.面向对象5)以下程序的运行结果为: ; public class Test{ public static void main(String argv[ ]){ "x="+5); } } A. 5 B. x=5 C. "x="+5 D. "x="5

6) 以下程序的运行结果为: public class Test{ ` public static void main(String argv[ ]){ "good"+"morning"); } } A. goodmorning B. "good"+"morning" C. good morning D. good+morning 二、Java符号与表达式 1) 现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为: , A.int类型 B. double类型 C. float类型 D. long类型 2)下面程序段的输出结果是: int a = 2; a++); a); A.333 B.334 C.234 D.233 3) 以下代码的输出结果 public class Test{ ] int x=3; public static void main(String argv[]){ int x= 012; } } A.12 B.012 C.10 D.3 4) 下列定义语句正确的是: A.char c="/n"; B.int i=12; C.float f=; D.boolean b=null; … 5)检查如下代码: public class Quiz2_l{ public static void main(String[] args) { int a = 8;

java 试题练习题(第5套)

学 —— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷 一、单项选择题(20题;每题2分,共40分) 1、如果x=4,y=2,则z=x&y 值是 。 A )z=0 B )z=1 C )z=2 D ) z=4 答案A 难度系数 B 知识点:逻辑表达式运算 2、接口中定义的数据成员是 。 A )整型数据 B ) 字符型数据 C )常量型数据 D )任何数据 答案C 难度系数 B 知识点:接口,数据成员 3、Java 语言具有许多优点和特点,_______反映了Java 程序并行机制的特点。 A) 安全性 B) 多线性 C) 跨平台 D) 可移植 答案:B ;难度系数:C ;知识点:java 特性。 4、_______的类声明是正确的。 A )abstract final class HI{???} B )abstract private move(){???} C )protected private number; D )public abstract class Car{???} 答案:D ;难度系数:B ;知识点:语法基础。 5、Character 流与Byte 流的区别是_______。 A) 每次读入的字节数不同 B) 前者带有缓冲,后者没有 C) 前者是块读写,后者是字节读写 班 级 : 姓名: 学号: 试题共 页 加 白纸 张 密 封 线

D) 二者没有区别,可以互换使用 答案:C;难度系数:B;知识点:文件IO。 6、Java语言中,_________是Japplet的默认布局管理器。 A)BoederLayout B)FlowLayout C)GridLayout D)CardLayout 答案:A(难度系数C)知识点:GUI编程 7、下列语句正确的是________。 A)int a={1,2,3} B)int b=(1,2,3); C)int c[]={1,2,3} D)int []d={1 2 3} 答案:C(难度系数C)知识点:数组 8、当需要在文件中写入字符而不是字节时,最好选用的类是_______。 A)java..io.RandomAccessFile B)java..io.Printwriter C)java..io.PrintStream D)java..io.PrintOutputWriter 答案:B(难度系数B)知识点:GUI编程 9、_________事件监听器可以处理在文本框中输入回车键的事件 A)ItemListener B)ActionListener C)MotionListener D)AdjustListener 答案:B(难度系数B)知识点:事件处理 10、下列陈述正确的是_________。 A)一个组件只能发生一种事件B)一个监听器处理一种事件 C)多个事件监听器被注册到一个组件会引起编译错误 D)如果多个事件监听器被注册到一个组件上,这些事件监听器一般都会起作用,但各个事件的处理顺序不确定 答案:D(难度系数A)知识点:事件处理 11、以下描述正确的是___。 A)JAVA不可以用来开发手机程序 B)在JAVA程序中java.awt包是唯一自动引入的类库 C)java.io包是JAVA语言的输入输出类库 D)JAVA的包中可以有相同的类名

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

Java练习题及答案

Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5

int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

Java练习题附答案

练习题: 一、读程序,写出和程序输出格式一致的输出结果。1、class J_SuperClass { void mb_method() { System.out.println("J_SuperClass::mb_method"); } static void mb_methodStatic() { System.out.println("J_SuperClass::mb_methodStatic"); } } public class J_Test extends J_SuperClass { void mb_method() { System.out.println("J_Test::mb_method"); } static void mb_methodStatic() { System.out.println("J_Test::mb_methodStatic"); } public static void main(String[] args) { J_SuperClass a = new J_Test(); a.mb_method(); a.mb_methodStatic(); J_Test b = new J_Test(); b.mb_method(); b.mb_methodStatic(); } } 输出结果: 3 2 3 4 2、 class ValHold { public int i = 10; } public class ObParm { public static void main(String[] args) { ObParm o = new ObParm(); o.amethod(); } public void amethod() { int i = 99; ValHold v = new ValHold(); v.i = 30;

JAVA试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

精选-java基础习题及答案

程序设计—基础篇习题 1.作图. 2. 输出101--500之间的所有奇数,奇数之和. 3. 输出100--200间不能被3整除的数. 4. 输入初值 ,输出100个不能被3整除的数. 5. 求S=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值. 6. 设S=1*2*3*...*n,求S不大于400000时的最大n. 7. 设S=11*22*33*...*n n,求S不大于400000时的最大n. 8. 找出1~1000间的全部”同构数”.如果一个数出现在其平方数右端,则称此数为同构数,如1在12=1的右端,5在52=25的右端,25在252=625的右端等. 9. 百鸡问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?” 10.利用一维数组,统计一个班学生0-9,10-19,..90-99及100各分数段的人数.

11.插入法排序.排序方法: 设有10个数存放在数组A中,分别用A[1],A[2],..,A[10]表示. 先将A[1]与A[2]比较,若A[2]j) System.out.print(" "); else if(i<=j&&j-i<=7) System.out.print("*"); } System.out.println(); } } } (2) public class Ex1_2 { public static void main(String[] args){ for(int i=1;i<=5;i++) { for(int j=1;j<=16;j++) { if(i>j) System.out.print(" ");

JAVA语言复习题及答案

14年(下)程序设计(JAVA语言)复习题 第一:单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()。 (A) 12 (B) 18 (C) 9 (D) 15 2. 下列选项中,不是Java关键字的是()。 (A) double (B) Integer (C) float (D) default 3. 在成员变量与局部变量重名时,若想在方法使用成员变量,要使用的关键字是()。 (A) super (B) import (C) this(D) return 4. 下列说法中错误的是( B )。 (A) 一个类中的实例方法可以调用其他实例方法 (B) 静态方法可以调用实例方法 (C) 实例方法可以调用静态方法 (D) 静态方法可以调用静态方法 5. 下列关于super的说法中错误的是()。 (A) 用来访问父类被隐藏的成员变量 (B) 用于调用父类中被重写的方法 (C) 用于定义父类 (D) 用于调用父类的构造函数 6. 下列选项属于接口中方法默认访问控制方式的是()。 (A) public (B) private (C) protected(D) default 7. 定义一个名为key的类,下列选项中使其不能被继承的定义是()。 (A) class key{} (B) native class key{} (C) class key{ final;} (D) final class key{} 8. 若有定义String tom=""我们是学生"";则tom.length()的值是()。 (A) 5 (B) 10 (C) 6 (D) 11 9. 调用repaint()方法,会出现什么情况( C )。 (A) 清除以前pain()方法所画的容 (B) 保留原来pain()所画的容 (C) 清除pain()以前所画的容,再一次调用pain()方法 (D) 在pain()以前所画容基础上,再一次调用pain()画新的容 10. 从下面的main()调用java lyrics a kiss is but a kiss 中可以访问单词“kiss”的是()。 (A) args[0] (B) args[5] (C) args[4] (D) args[3] 11. 使一个线程放弃处理器并休眠1.5秒,应调用的方法是()。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500) 12. 如要使处于等待状态的线程恢复到运行状态,应调用的方法是()。 (A) start() (B) run() (C) resume() (D) notify() 13. 如果想获得一个InetAddress对象的主机域名,可调用的方法是()。 (A) getName() (B) getHostName() (C) getAddress() (D) getHostAddress()

java考试试卷及答案

JA V A考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对 14、下列不是String类的常用方法是:C

Java练习题及答案

Java练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet( Java Application、 Java Applet)。 3、安装JDK后,Java开发工具在Bin目录。 4、声明接口的保留字是interface。 5、类的声明“public class Test extends Applet implements Runable{}”中,定义的类名是Test ,其父类 是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java(写出包括扩展名的文件名)。 6、一个完整的Java应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名 为main的方法 7、JDK下解释执行Java的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1中的元素有10个;c2中的元素有10个;已初始化赋值的是c2(c1 c2)。

9、执行完下列程序后i的值为5。 int i=0; while(i<5) { i++; } 10、运行下列程序段后,结果c的取值为120。 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java中已提供的类,我们需要用import语句来引入所需要的类。语句import java.io.*;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B、final C、abstract D、private 2、对成员的访问控制保护最强的是(C)。

相关文档