「java期中考试试卷」java考试试卷及答案

博主:adminadmin 2023-01-25 08:27:06 366

今天给各位分享java期中考试试卷的知识,其中也会对java考试试卷及答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

看看我的JAVA期中试题2

二. 选择题 (18题,共42分)。

(一)单选题(共12题,每题2分,共24分)。

程序设计语言的三种基本控制结构是:(B)

A. 输入、处理、输出 B. 顺序、选择、循环  

C. 树形、网形、环形 D. 主程序、子程序、函数

在Java中,下列哪句话是正确的:(A )

A. 几个类可以写在一个文件里 B. 一个类可以写在几个文件里

C. 类的名称是不区分大、小写的 D. 方法的名称是不区分大、小写的

一个必须被继承的类要用哪个关键字来描述:(D )

A. static B. protected C. final D. abstract

下面程序的输出结果是:(D )

class DemoClass{

public static void main(String args[]){

int i=1,s=5;

do{

s += i;

i++;

}while(i 5);

System.out.println(“s=”+s); }}

A. s=0 B. s=5 C. s=10 D. s=15

下列方法method的定义正确的是(A)。

private int method () {char ch=’a’; return (int) ch; }

public void method {int a=8; return a;}

int method (int i ) {return (double) (i+10) ;}

method (int a) {return a;}哪一组都是Java关键字:( )

A. Student, float, main, public B. byte, boolean, box, float

C. long, extends, float, double D. classes, float, short, import

下面哪种说法是正确的: ( )

A. String是用来处理字符串的类,而B. StringBuffer不C. 是

D. StringBuffer是用来处理字符串的类,而E. String不F. 是

G. String和StringBuffer都是用来处理字符串的类

H. String和StringBuffer都不I. 是用来处理字符串的类

int x=1,a=0,b=0;

switch(x){

case 0: b++;

break;

case 1: a++;

break;

case 2: a++;b++;

break;

}

System.out.println("a="+a+",b="+b);

该程序的输出结果是 ( A)

A. a=1,b=0 B. a=1,b=1 C. a=1,b=2 D. a=2,b=2

下面哪个赋值语句是不合法的?

A、float a = 2.0 B、double b = 2.0

C、int c = 2 D、long d = 2

下面四组变量命名,符合JAVA变量命名规则的是(D )。

A. a@bc B. 6x C. void D. ye_78

定义类A及类中的方法getVar(),定义类A的子类B,若要在类B中覆盖类A的同名方法,下面正确的定义是( )

class A

{

private float x = 1.0f;

protected float getVar()

{return x;}

}

class B extends A

{

private float x = 2.0f;

//覆盖类A中的同名方法的代码放在此处}

float getVar(){return x;}

protected float getVar(float y){return x_y;}

protected float getVar(){return x;}

public float getVar(){return x;}

根据下面给出的代码,判断哪个叙述是正确的。(a )

public class Person {

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

public static void main ( String a[] ) {

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

}

}

编译时将发生错误

编译时正确但是运行时出错

输出为0

输出为null

]

新手 丢人现眼了 还等高手来答答吧!!!!

java试卷

第一,谈谈final,

finally,

finalize的区别。

final

修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为

abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载

finally

再异常处理时提供

finally

块来执行任何清除操作。如果抛出一个异常,那么相匹配的

catch

子句就会执行,然后控制就会进入

finally

块(如果有的话)。

finalize?方法名。java

技术允许使用

finalize()

方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在

object

类中定义的,因此所有的类都继承了它。子类覆盖

finalize()

方法以整理系统资源或者执行其他清理工作。finalize()

方法是在垃圾收集器删除对象之前对这个对象调用的。

第二,anonymous

inner

class

(匿名内部类)

是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能extends(继承)

其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

第三,static

nested

class

inner

class的不同,说得越多越好(面试题有的很笼统)。

nested

class

(一般是c++的说法),inner

class

(一般是java的说法)。java内部类与c++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http:

//

;page=1

注:

静态内部类(inner

class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象

第四,和的区别。

是位运算符。是布尔逻辑运算符。

第五,hashmap和hashtable的区别。

都属于map接口的类,实现了将惟一键映射到特定的值上。

hashmap

类没有分类或者排序。它允许一个

null

键和多个

null

值。

hashtable

类似于

hashmap,但是不允许

null

键和

null

值。它也比

hashmap

慢,因为它是同步的。

第六,collection

collections的区别。

collections是个java.util下的类,它包含有各种有关集合操作的静态方法。

collection是个java.util下的接口,它是各种集合结构的父接口。

第七,什么时候用assert。

断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为

true。如果表达式计算为

false,那么系统会报告一个

assertionerror。它用于调试目的:

assert(a

0);

//

throws

an

assertionerror

if

a

=

断言可以有两种形式:

assert

expression1

;

assert

expression1

:

expression2

;

expression1

应该总是产生一个布尔值。

expression2

可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的

string

消息。

断言在默认情况下是禁用的。要在编译时启用断言,需要使用

source

1.4

标记:

javac

-source

1.4

test.java

要在运行时启用断言,可使用

-enableassertions

或者

-ea

标记。

要在运行时选择禁用断言,可使用

-da

或者

-disableassertions

标记。

要系统类中启用断言,可使用

-esa

或者

-dsa

标记。还可以在包的基础上启用或者禁用断言。

可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。

第八,gc是什么?

为什么要有gc?

(基础)。

gc是垃圾收集器。java

程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:

system.gc()

runtime.getruntime().gc()

第九,string

s

=

new

string("xyz");创建了几个string

object?

两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

第十,math.round(11.5)等於多少?

math.round(-11.5)等於多少?

math.round(11.5)返回(long)12,math.round(-11.5)返回(long)-11;

第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

都不能

请教几道非常简单的JAVA期中考试题~~~请各位一定帮忙~~明天要交了~~

1题 选B 因为EOFException继承自IOException

改错1

System.out.println("i="+i+",sum="+sum);这一句在循环外面了,i是循环内的局部变量,所以这句编译不会通过,

修改方法:

改为System.out.println("sum="+sum);

或者是将System.out.println("i="+i+",sum="+sum);放到循环里面

2

import java.util.Arrays;

import java.util.Scanner;

public class Test2 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("请输入数字的数量:");

int[] nums = new int[input.nextInt()];

for(int i =0; inums.length; i++){

System.out.print("请输入第"+(i+1)+"个数字:");

nums[i] = input.nextInt();

}

Arrays.sort(nums);

for(int i = 0; inums.length; i++)

System.out.print(nums[i]+" ");

}

}

3

public class Person

{

private String name;

private String birthDate;

private boolean isMale;

public Person(String name,String birthDate,boolean isMale){

this.name=name;

this.birthDate=birthDate;

this.isMale=isMale;

}

public void outputName(){

System.out.println("姓名:"+name);

}

public void outputBirthDate(){

System.out.println("生日:"+birthDate);

}

public void outputSex(){

System.out.println("性别:"+(isMale?"男":"女"));

}

}

求助一道JAVA题(全)

我想弄清楚,

第3个要求,

得分超过80分,指的是总评成绩还是期中?期末?期末上机?平时?

第6个要求,全班平均分是?总评成绩平均分么?

好了,以下程序可以直接运行

public class student {

public static void main(String[] args) {

int[] no={101,102,103,104,105,106,107,108};

int[] usua={90,78,90,50,88,64,60,81};

int[] mid={88,60,86,44,87,72,61,84};

int[] endo={87,70,91,36,90,70,55,83};

int[] end={84,75,93,60,92,80,55,87};

double[] comment=new double[8];

double avg;

for(int i=0;ino.length;i++)

{

comment[i]=end[i]*0.5+endo[i]*0.15+mid[i]*0.25+usua[i]*0.1;

}

System.out.println("---------------学生成绩表---------------");

System.out.println("学号\t平时成绩\t期中成绩\t期末上机\t期末笔试\t成绩总评");

for(int i=0;ino.length;i++)

{

System.out.println(no[i]+"\t"+usua[i]+"\t"+mid[i]+"\t"+endo[i]+"\t"+end[i]+"\t"+comment[i]);

}

System.out.println("\n总评成绩超过80分(包括80分)同学的学号分别为:");

for(int i=0;icomment.length;i++)

{

if(comment[i]=80)

{

System.out.print(no[i]+"\t");

}

}

System.out.println();

System.out.println("\n总评成绩低于60分的同学学号分别为:");

{

for(int i=0;icomment.length;i++)

{

if(comment[i]60)

{

System.out.print(no[i]+"\t");

}

}

}

int total=0;

for(int i=0;ino.length;i++)

{

total+=comment[i];

}

System.out.println("\n\n---------------学生名次单-----------------");

System.out.println("学号\t平时成绩\t期中成绩\t期末上机\t期末笔试\t成绩总评");

int index=0;

do{

double max=comment[0];

int l=0;

for(int i=1;ino.length;i++)

{

if(comment[i]max)

{

max=comment[i];

l=i;

}

}

System.out.println(no[l]+"\t"+usua[l]+"\t"+mid[l]+"\t"+endo[l]+"\t"+end[l]+"\t"+comment[l]);

comment[l]=0;

index++;

}while(index8);

avg=total/no.length;

System.out.println("平均成绩为:"+avg);

}

}

帮忙做一份JAVA试卷 后天就要拉

三、填空题

1、Java 2 platform分成三个版本套件____51_J2SE_____、_____52____J2EE__、_______53___J2ME______。

4、Arrays类的_______54__sort____方法可以对数组进行排序。

5、______55____Interface___关键字用来定义一个接口。

6、在java中,把数据类型分为两大类为_______56____基本类型_______和__________57______对象类型___。

8、若在java程序中设置包语句,则使用关键字_______58___package______。若要导入其他包中的类则需要使用关键字_________59______import_______。

9、设x、k均为int型变量,x已经赋值。用三目条件运算符,求变量x的绝对值,并赋给变量k的赋值语句是__60___k=x0?x:(-1)*x__________。

10、(在同一包中)子类不能继承父类中的 61____private__ 成员,除此之外,其它所有的成员都可以通过继承变为子类的成员。

11、下面是以命令行参数形式输入double型数据的程序,并对出现的数组越界异常(IndexOutOfBoundsException异常)和数据格式错误异常(NumberFormatException异常)进行捕获处理。请将程序补

充完整。

class Catch2Demo{

public static void main(String args[]){

(_______62_ throws __IndexOutOfBoundsException,__NumberFormatException____){

String s=args[0];

double d=Double.parseDouble(s);

System.out.println("d的平方为:"+d*d);

}

catch(IndexOutOfBoundsException e){

System.out.println("没有输入命令行参数");

e.printStackTrace();

}

( ______63____catch(NumberFormatException e)______){

System.out.println("没有输入正确的数据");

e.printStackTrace();return;

}

}

}

五、编程题

一)按照以下要求编写程序

1、编写一个矩形类Rect,包含:

两个protected属性:矩形的宽width;矩形的高height。

两个构造器方法:

(1)一个带有两个参数的构造器方法,用于将width和height属性初化;

(2)一个不带参数的构造器,将矩形初始化为宽和高都为10。

两个方法:

(1)求矩形面积的方法area()

(2)求矩形周长的方法perimeter()

答:

public class Rect{

protected double width;

protected double height;

public Rect(double width,double height){

this.width=width;

this.height=height;

}

public Rect(){

this.width=10;

this.height=10;

}

public double area(){

return width*height;

}

public double perimeter() {

return 2*(width+height);

}

}

2、通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用矩形的左上角坐标来标识,包含:

添加两个属性:矩形左上角坐标startX和startY。

两个构造器方法:

(1)带4个参数的构造器方法,用于对startX、startY、width和height属性初始化;

(2)不带参数的构造器方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;

添加一个方法:

判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。

提示:点在矩形类是指满足条件:

x=startXx=(startX+width)ystartYy=(startY+height)

答:

public class PlainRect extends Rect{

private double startX;

private double startY;

public PlainRect(double startX,double startY,double width,double height){

this.width=width;

this.height=height;

this.startX=startX;

this.startY=startY;

}

public PlainRect(){

this.width=0;

this.height=0;

this.startX=0;

this.startY=0;

}

public isInside(double x,double y){

if(x=startXx=(startX+width)ystartYy=(startY+height) ){

return true;

}else{

return false;

}

}

}

3、编写PlainRect类的测试程序

(1)创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;

(2)计算机并打印输出矩形的面积和周长;

(3)判断点(25.5,13)是否在矩形内,并打印输出相关信息。

public class TestPlainRect{

public static void main(String[] args){

PlainRect plainRect=new PlainRect(10,10,20,10);

System.out.println("矩形面积:"+area());

System.out.println("矩形周长:"+perimeter());

System.out.println("判断点(25.5,13)是否在矩形内:"+isInside(25.5,13));

}

}

二)按照以下要求编写程序

定义一个类A,类中有一个private的整型变量data;一个private的字符串对象str。类中有两个构造函数,一个不含参数,初始化data 和str为其缺省值;另一个有两个参数,分别用来初始化data 和str

。类中还定义三个方法,方法头的定义和其功能如下:

1)public A add(int k,String s):该方法把data和str的值分别加上k和s。

2)public A clearA():该方法把data和str的值分别清除为其缺省值。

3)public String toString():该方法把data和str的值转变为字符串返回,便于显示。

编写测试类TestA,创建类A对象并使用类A中的三个方法。并写出输出结果。

答:

public class A{

private int data;

private String str;

public A(){

this.data=0;

this.str="";

}

public A(int data,String str){

this.data=data;

this.str=str;

}

public A add(int k,String s){

this.data+=k;

this.str+=s;

}

public A clearA(){

this.data=0;

this.str="";

}

public String toString(){

retrun "整型值:"+data+",字符串值:"+str;

}

}

public class TestA{

public static void main(String[] args){

A a=new A(123,"Java");

// 输出结果为:整型值:123,字符串值:Java

System.out.println(a.toString());

a.add(456,"World");

// 输出结果为:整型值:579,字符串值:JavaWorld

System.out.println(a.toString());

a.clearA();

// 输出结果为:整型值:0,字符串值:

System.out.println(a.toString());

}

}

关于java期中考试试卷和java考试试卷及答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。