【java】java期末考试模拟题(含答案)

一、单项选择题

1、如下哪个是Java中的标识符(D

A、public

B、super

C、3number

D、width

2、如下哪个是Java中的标识符(A

A、fieldname

B、super

C、3number

D、#number

3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( C

A、s += "books";

B、s = s + 100;

C、int len = s.length;

D、String t = s + “abc”;

4、如下哪个是Java中有效的关键字( C

A、name

B、hello

C、false

D、good

5、下面的代码段执行之后count的值是什么( D

int count = 1;

for (int i = 1; i <= 5; i++ {

count += i;

}

System.out.println(count;

A、5

B、1

C、15

D、16

6、定义一个类,必须使用的关键字是( B

A、public

B、class

C、interface

D、static

7、定义一个接口必须使用的关键字是(C

A、public

B、class

C、interface

D、static

8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是(C

A、p.add(b;

B、p.add(b,"North";

C、p.add(b,"South";

D、b.add(p,"North";

9、声明并创建一个按钮对象b,应该使用的语句是(A

A、Button b=new Button(;

B、button b=new button(;

C、Button b=new b(;

D、b.setLabel(“确定”;

10、Frame对象默认的布局管理器是(B

A、FlowLayout

B、BorderLayout

C、CardLayout

D、null

11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象(C

A、import java.sql.*;

B、import java.util.*;

C、import java.io.*;

D、import java.net.*;

12、下面哪一个import命令可以为我们提供编写网络应用程序的类(D

A、import java.sql.*;

B、import java.util.*;

C、import java.io.*;

D、import java.net.*;

13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(A

A、FileInputStream

B、FileOutputStream

C、DataOutputStream

D、FileWriter

二、填空题

1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java才能正常编译。

2、Java程序中的单行注释符是(//,多行注释符是(/* */ 。

3、Java中布尔类型的常量有两种,它们是(true和(false。

4、Java中用于定义小数的关键字有两个:(float和(double,后者精度高于前者。

5、Java中用于两个数相等比较的运算符是:(==,用于不相等比较的运算符是(<>。

6、在Java中定义一个字符串类型的变量str的语句是:(String str;,定义一个具有10个元素的整型数组a的语句是:(int [] arr = new int[10];。

7、导入mypackage包中的所类的命令是(import mypackage.*;。

8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int,数组名是(arr,数组的大小为(5,数组元素下标的使用范围是(0到4。

9、假设x=13,y=4,则表达式x%y != 0的值是(true,其数据类型是(boolean。

10、异常处理是由(try、(catch和finally块三个关键所组成的程序块。

四、简答题

1、简述Java中异常处理的机制?

答:首先Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。

Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally。

1.异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成。其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行finally块。

2.抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。

2、什么是继承?

答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。

3、请简述重载和重写的区别?

答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading 是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading。Overloaded的方法是可以改变返回值的类型。

五、程序设计题

1、按以下要求编写程序

(1 创建一个Rectangle类,添加width和height两个成员变量

(2 在Rectangle中添加两种方法分别计算矩形的周长和面积

(3 编程利用Rectangle输出一个矩形的周长和面积

public class Rectangle {

float width, height;

public Rectangle(float width, float height {

this.width = width;

this.height = height;

}

public float getLength({

return (this.width + this.height * 2;

}

public float getArea({

return this.width * this.height;

}

public static void main(String [] args {

Rectangle rect = new Rectangle(10, 20;

System.out.println("周长是:" + rect.getLength(;

System.out.println("面积是:" + rect.getArea(;

}

}

2、按以下要求编写程序

(1 编写Animal接口,接口中声明run( 方法

(2 定义Bird类和Fish类实现Animal接口

(3 编写Bird类和Fish类的测试程序,并调用其中的run(方法解答:

public interface Animal {

void run(;

}

class Bird implements Animal {

public void run( {

System.out.println("鸟儿在飞...";

}

}

class Fish implements Animal {

public void run( {

System.out.println("鱼儿在游...";

}

}

public class TestAnimal {

public static void main(String[] args {

Bird bird = new Bird(;

bird.run(;

Fish fish = new Fish(;

fish.run(;

}

}

3、编写一个Frame框架应用程序,要求如下:

(1 在窗口设置两个菜单“文件”、“编辑”

(2 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”

(3 在“编辑”菜单里添加两个菜单项“复制”、“粘贴”

(4 点击关闭菜单项时,使程序关闭。

import java.awt.Color;

import java.awt.Frame;

import java.awt.Menu;

import java.awt.MenuBar;

import java.awt.MenuItem;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

/*

* 主窗体

*/

public class MyFrame extends Frame {

private static final long serialVersionUID = 6895463895656626294L;

private Frame frmMain; // 窗体

MenuBar mb; // 菜单栏

Menu mnuFile; // "文件"菜单

Menu mnuEdit; // "编辑"菜单

MenuItem miOpen; // "打开"菜单项

MenuItem miSave; // "保存"菜单项

MenuItem miClose; // "关闭"菜单项 

MenuItem miCopy; // "复制"菜单项 

MenuItem miPaste;  // "粘贴"菜单项

public MyFrame() { 
frmMain = new Frame("主窗体"); 
// 创建菜单栏
 mb = new MenuBar(); 
// 创建菜单
 mnuFile = new Menu("文件"); 
mnuEdit = new Menu("编辑"); 
// 创建菜单项 
miOpen = new MenuItem("打开"); 
miSave = new MenuItem("保存"); 
miClose = new MenuItem("关闭");
 miCopy = new MenuItem("复制");
 miPaste = new MenuItem("粘贴");
 } 
public void showFrame( ){
 frmMain.setSize(800, 600);
 frmMain.setLocation(100, 100); 
frmMain.setBackground(Color.white);
 frmMain.setVisible(true; frmMain.setLayout(null; frmMain.addWindowListener(new WindowHandler()));
 // 注册窗口监听器 // 将菜单栏放入窗体中
 frmMain.setMenuBar(mb); 
 // 将菜单放入菜单栏中
 mb.add(mnuFile; mb.add(mnuEdit);
 // 将菜单项放入菜单中 
 mnuFile.add(miOpen);
 mnuFile.add(miSave);
 mnuFile.add(miClose);
 mnuEdit.add(miCopy);

 mnuEdit.add(miPaste);
 // 注册动作事件监听器 
 miClose.setActionCommand("miClose_Clicked");
 miClose.addActionListener(new MenuHandler(); 
} 
// 定义一个内部类,在这个类中编写窗口关闭事件处理程序。
 private class WindowHandler extends WindowAdapter { 
 public void windowClosing(WindowEvent e {
 System.exit(0);
 // 退出应用程序,状态码 0 表示正常终止,非 0 表示异 常终止。
 });
 } 
// 定义一个内部类,在这个类中编写动作事件处理程序。
 private class MenuHandler implements ActionListener { public void actionPerformed(ActionEvent e { 
if (e.getActionCommand( )== "miClose_Clicked" )
   { System.exit(0; // 退出应用程序 } 
}
}
} 
public class TestMyFrame 
{ public static void main(String[] args) {
 // 启动主窗体 
MyFrame guiWindow = new MyFrame(); 
guiWindow.showFrame();
 } 
}

  • 15
    点赞
  • 211
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1给定如下Java程序,编译运行时,将在()出现错误。(选一项) public class Test{ public static void main(String[]args){ int i= 0; //a语句 for(;i5){ String test = “hello”; //c语句 } } System.out.println(test); //d语句 } } A.a B.b C.c D.d(出作用域) 2在Java下列代码的运行结果是()。(选一项) public static void main(String[]args){ int a = 1,b=2,c=3; if(a<0){ if(b<0) c=10; else c=20; } System.out.pritnln(c); } A.输出:10 B.输出:20 C.输出:3 D.编译错误 3给定如下Java代码片段,编译运行时的结果是()。(选一项) int i= 2; switch(i) { default: System.out.pritnln(“default”); case 0: System.out.println(“zero”); break; case 1: System.out.pritnln(“one”); break; case 2: System.out.println(“two”); } A输出:default B输出:default C输出:two zero D编译出错,default语句的位置不符合switch结构的语法结构 4在Java,要向控制台打印输出“Welcome to Space!”并自动换行,可以实现此功能的语句是()。(选一项) a) System.print(“Wecome to Space!”); b) System.out.print(“Wecomr to Space!”); c) System.out.println(“Wecome to Space!”); d) System.println(“Wecome to Space!”); 5分析下面的Java源程序,编译后的运行结果是()。(选一项) import java,util.*; public class Test{ public static void main(String[] args){ int[]numbers = new int[]{2,1,3}; Arrays.sort(numbers); System.out.println(Arrays.binarySearch(numbers,2)); } } A.输出:0 B.输出:1 C.输出:2 D.输出:3 6分析下面的Java程序,编译运行结果是()。(选一项) public class B{ public static void main(String[]args){ String s =”y”; System.out.println(s+1+2); System.out.println(1+2+s); } } A输出:y12 B输出:y12 C输出:y3 D程序编译出错 3y 12y 3y 7分析下面的Java代码片段,编译运行后的输出结果是()。(选一项) for(int i = 0;i<6;i++){ int k = ++i; while(k<5){ System.out.print (i); break; } } A.024 B.02 C.123 D.13 8在Java,源文件Test.java包含如下代码段,则程序编译运行结果是( )。(选择一项) public class Test{ public static main (String [ ] args) { system.out.print(“Hello!”); } } A输出:Hello! B编译出错,提示“无法解析system” C运行正常,但没有输出任何内容 D运行时出现异常 9在Java,给定代码片段如下所示,则编译运行后,输出的结果是()。(选择一项) for (int i = 0; i < 10; i++) { if(i==10-i){ break; } if(i%3!=0){ continue; } System.out.print(i+" ");} A.0 B.0 3 C.0 3 6 D.0 3 6 9 10分析下面JAVA程序段,编译运行后的输出结果是().(选择l项) public class Test{ public void changeString(StringBuffer s){ s.append(“stringbuffer2”); } Public static void main(String[] args){ Test a = new Test(); StringBuffer sb = new StringBuffer(“stringbuffer1”); a.changeString(sb); System.out.println(“sb=”+sb); } } A.sb=stringbuffer2stringbuffer1 B.sb=stringbuffer1 C.sb=stringbuffer2 D.sb=stringbuffer1stringbuffer2 11给定一个Java程序的代码如下所示,则编译运行后,输出结果是()。(选择一项) public class Test { int count=9; public void count(){ System.out.println("count="+count++); } public static void main(String[] args) { new Test().count(); new Test().count(); } } A.count=9 B.count=10 C.count=10 D.count=9 count=9 count=9 count=10 count=10 12在Java语言,有如下代码: (选择两项) switch(x){ case 100: System.out.println(“One hundred”); break; case 200: System.out.println(“Two hundred”); break; case 300: System.out.println(“Three hundred”); break; } 下列x的定义,()可能使得上段代码编译通过。 A.double x=100; B.char x=100; C.String x=”100”; D.Int x=100; 13给定如下所示的Java代码,要使这段代码能够编译成功,横线处应该填入( )。(选择一项) Public______count(int i,double d){ return i*d; } A.void B.int C.char D.double 14在java,源文件Test.java包含如下代码段,则编译运行结果是(). public class HelloWorld{ public static void main(String[] args){ System.out.print(“Hello World!”); } } A输出:Hello Word! B编译出错,提示“共有类HelloWorld 必须在HelloWorld.java文件定义”。 C运行正常,但没有输出内容 D运行时出现异常。 15java类的main方法如下所示,当程序启动运行后,用户在控制台输入“你好”,则程序将()。(选择一项) public static void main(String args[]){ Scanner input=new Scanner(System.in); int score=input.nexInt(); System.out.println(score); } A输出“你好” B输出“你“ C程序运行正常,但是不输出任何内容。 D程序出现错误,被断,提示输入内容不匹配,无法获得整型数值。 16分析如下所示的Java代码,编译运行后的输出结果是( )。 (选择一项) public static void main(String arg [ ] ) { boolean b = true; System.out.print(b); if (b) { System.out.print(“真”); } else { System.out.print(“假”); } } A.true B.true 真 C.tere 假 D.1 17在Java,Scanner类提供从控制台获取键盘输入的功能,下列语句()能够正确实例化Scanner类的对象,用于获得键盘输入的数据。(选一项) a) Scanner input = new Scanner(System.out); b) Scanner input = new Scanner(System.in); c) Scanner input = new Scanner(System); d) Scanner input = new Scanner(); 18关于Java带参数的方法,下列选项的说法错误的是( )。 (选择一项) A使用带参数的方法分为两步:1.定义带参数的方法:2.调用带参数的方法 B带参数方法的返回值不能为void C带参数方法的参数个数可以为一个或多个 D带参数方法的参数可以是任意的基本类型数据或引用类型数据 19在Java语言的控制结构,break语句是经常用到的语句。下面一段代码break语句起到( )的作用。 (选择一项) int pointer=0; while(pointer<=10){ switch(pointer%3){ case 1: pointer+=1; break; case 2: pointer+=2; break; default: pointer+=3; break; } } A结束当次循环,使控制权直接转移到控制循环的条件表达式 B从嵌套循环内部跳出最里面的循环 C终止switch语句的语句序列,提高switch-case语句性能 D退出循环

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛酸菜吃鸭子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值