最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

java基础试题答案

来源:动视网 责编:小OO 时间:2025-09-29 18:14:02
文档

java基础试题答案

Java试题一、选择题(单选每题2分共20分)1.下列有关Java语言的叙述中,正确的是A、Java是不区分大小写的B、源文件名与public类型的类名必须相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限2.下列关于栈的叙述正确的是A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征3.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送A、调用语句B、命令C、口令D、消息4.下列语句执行后,k的值为()Inti=6,j=8
推荐度:
导读Java试题一、选择题(单选每题2分共20分)1.下列有关Java语言的叙述中,正确的是A、Java是不区分大小写的B、源文件名与public类型的类名必须相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限2.下列关于栈的叙述正确的是A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征3.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送A、调用语句B、命令C、口令D、消息4.下列语句执行后,k的值为()Inti=6,j=8
Java 试题

一、选择题(单选 每题2分 共20分)

1.下列有关Java语言的叙述中,正确的是  

A、Java是不区分大小写的 

B、源文件名与public类型的类名必须相同 

C、源文件名其扩展名为.jar 

D、源文件中public类的数目不限

2. 下列关于栈的叙述正确的是  

  A)栈是非线性结构  B)栈是一种树状结构  

  C)栈具有先进先出的特征  D)栈具有后进先出的特征 

3. 在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送  

A、调用语句  B、命令  C、口令 D、消息

4.  下列语句执行后,k的值为()

    Int i=6,j=8,k=10,m=7;

    if(!(i>j | m>k++)) k++; 

   A、 12   B、11    C 、10   D、 9

5.  关于下列程序段的输出结果,说法正确的是 

public class MyClass{ 

static int i; 

public static void main(String argv[]){ 

System.out.println(i); 

A、有错误,变量i没有初始化。 

B、null 

C、1 

D、0

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

A ArrayList myList=new Object(); 

B List myList=new ArrayList(); 

C ArrayList myList=new List(); 

D List myList=new List(); 

7. 下列赋值语句中错误的是  

A、float f=11.1f 

B、double d=5.3E12; 

C、char c='\\r'; 

D、byte bb=433; 范围 是-128 到127 之间

8. 下列哪个类声明是正确的?   

  A)abstract final class HI{···} B)abstract private move(){···} 

  C)protected private number; D)public abstract class Car{···}

9. 下列叙述中,错误的是  

A、接口与类的层次无关 

B、通过接口说明类所实现的方法 

C、通过接口可了解对象的交互界面 

D、接口与存储空间有关

10. 下列代码的执行结果是:   

public class Test5{ 

public static void main(String args[]){ 

String s1=new String("hello"); 

String s2=new String("hello"); 

System.out.print(s1==s2); 

System.out.print(

System.out.println(s1.equals(s2)); 

A、true,false 

B、true,true 

C、false,true 

D、false,false

二、填空(每空2分 共12分)

  1 Java语言中____________ 是所有类的根。object

  2下面程序对数组中每个元素赋值,然后按逆序输出.请在横线处填入适当内容,使程序能正常运行.

  import java.io.*;

  public class ArrayTest{

    public static void main(String args[]){

    int i;

    int a[] = new int[5];

    for(i=0;i<5;i++)

      a[i]=i;

    for(____i=4____;i>=0;i- -)

      System.out.println("a["+i+"]="+a[i]);

    }

  }

  

 3. __final____类型数据不可以做类型转换。

  4. 每个Java应用程序可以包括许多方法,但必须有且只能有一个___主方法____方法。

  5. 在一个MVC用户界面中,存在三个通讯对象,它们分别是:模型、__视图______和控件。

6. 以下程序的输出结果是 _sum=45_________________

public class ko6_9 

public static void main(String args[]) 

int sum=0; 

int ko[][]={{1,2,3},{4,5,6},{7,8,9}}; 

for(int n=0;n<3;n++)

for(int m=0;m<3;m++)

sum+=ko[n][m]; 

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

 

三、问答题(每题3分 共21分)

1.&和&&的区别? 

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作

 

2.说出ArrayList,Vector, LinkedList的存储性能和特性?

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。LinkedList也是线程不安全的,LinkedList提供了一些方法,使得LinkedList可以被当作堆栈和队列来使用。 

ArrayList和vector都是数组形式的存储方式访问性能好

LinkedList是双向链表对数据的操作效率高

 

3.抽象类和接口的区别? 

1.抽象类可以有构造方法,接口中不能有构造方法。

    2.抽象类中可以有普通成员变量,接口中没有普通成员变量

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

    4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然

    eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5. 抽象类中可以包含静态方法,接口中不能包含静态方法

6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

7. 一个类可以实现多个接口,但只能继承一个抽象类。

定义的关键字不同,

抽象类中可以有非抽象方法,抽象方法必须的有方法体。继承抽象类的非抽象子类比需重写抽象方法。

接口中定义的方法不可以有方法体,实现改接口的类必须实现该接口中的方法。

4.什么是类的返射机制? 

Java反射机制是Java语言被视为准动态语言的关键性质。Java反射机制的核心就是允许在运行时通过Java Reflection APIs来取得已知名字的class类的相关信息,动态地生成此类,并调用其方法或修改其域(甚至是本身声明为private的域或方法)。

实现的功能

1.在运行时判断任意一个对象所属的类2.在运行时构造任意一个类的对象3.在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至可以调用private方法) 4.在运行时调用任意一个对象的方法(*****注意:前提都是在运行时,而不是在编译时)

 

5.JSP中有哪些内置对象?

pagecontext ,request,response,session,application,out,page ,config,exception

6.hibernate的核心配置文件是什么及其作用?

Hibernate-config.xml

作用是配置数据源信息,管理数据库表映射文件

 

7.在struts中如何通过一个url找到一个action,它的核心配置文件是什么? 

Struts1中的核心文件是Struts-config.xml 文件中定义了action的相应配置包括映射url,返回地址,formbean等

Struts2中的文件时struts.xml文件中也是定义了相应配置包括请求的路径通过filterDispatcher将相应的路径解析出来调用相应action

 

四、程序编写(7分)

编写一个程序,测试求和公式:n*(n+1)/2=1+2+3+.....+n 

产生一个0--100 之间的随机整数,把所有1--n的整数累加,计算公式n*(n+1)/2 的值,然后把这两个值打印

出来看它们是否相等。输出形式如下:

n =  14 (随机产生的)

sum =  105 

n*(n+1)/2 = 105 

public class Test(){

  public void static main(String[] args){

     int n=(int)Math.Ceil(Math.random()*100);

     System.out.println(“n=”+n);

Int[] list=new int[n]();

Int sum=0;

For(int i=1;i<=n;i++){

List[i-1]=i;

Sum+=I;

}

System.out.println(“sum=”+sum);

System.out.println(“n*(n+1)/2=”+n+(n+1)/2);

}}  

Oracle 试题

一、选择题(单选 每题2分 共8分)

1. SQL语句中修改表结构的命令是______。

  A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE

2. 从数据库中删除表的命令是______。

  A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE

3. 设有图书管理数据库:

  图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

  读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

  借阅(借书证号C(4),总编号C(6),借书日期D(8))

  对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。

  SQL语句正确的是______。

  SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE;

  借阅.借书证号="0001" AND;

  ______

  ______

  A、图书.总编号=借阅.总编号 AND;

  读者.借书证号=借阅.借书证号

  B、图书.分类号=借阅.分类号 AND;

  读者.借书证号=借阅.借书证号

  C、读者.总编号=借阅.总编号 AND;

  读者.借书证号=借阅.借书证号

  D、图书.总编号=借阅.总编号 AND;

  读者.书名=借阅.书名

4. 设有图书管理数据库:

  图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

  读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

  借阅(借书证号C(4),总编号C(6),借书日期D(8))

  对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是______。

  SELECT 单位,______ FROM 借阅,读者 WHERE;

  借阅.借书证号=读者.借书证号 ______

  A、COUNT(借阅.借书证号) GROUP BY 单位 B、SUM(借阅.借书证号) GROUP BY 单位

  C、COUNT(借阅.借书证号) ORDER BY 单位 D、COUNT(借阅.借书证号) HAVING 单位

二、问答题(每题4分 共16分)

1.比较truncate和delete 命令? 

1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。

2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。

3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。

4、TRUNCATE不能触发任何DELETE触发器。

5、不能授予任何人清空他人的表的权限。

6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。

7、不能清空父表。

 

2.使用索引的理由 ?

第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 

第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 

第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 

第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 

第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能

3.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别?

事前触发:发生在触发事件发生之前

事后触发:发生在触发事件发生之后

语句级触发:在执行语句前或后执行

行级触发:每当触发器影响数据库表中一行记录后就发生一次

   4.存储过程和函数的区别?

存储过程是用户自定义的 针对特定表的语句集合它涉及到特定表与对象之间的关系,用户可以调用

函数是数据库中已经写好的方法 一定有返回值不涉及用户特定表

三、查询语句 (每题4分 共8分)

1.设有图书管理数据库:

    图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

1)检索书价在15元至25元(含15元和25元)之间的图书的书名、作者、书价和分类号,结果按分类号升序排序。

Select * from 图书 where 单价 between 15 and 25 order by 分类号 asc

2)为图书表建立一个视图.  

2.已知一个表(students)的结构为: 

         姓名 科目 成绩 

         张三 语文  20  

         张三 数学  30  

     张三 英语  50  

     李四 语文  70  

     李四 数学  60  

     李四 英语  90  

     怎样通过select语句把他变成以下结构: 

       姓名 语文 数学 英语 

     张三  20   30   50  

     李四  70   60   90

Select 姓名 ,

sum(select a.成绩 from students a where 科目=‘语文’ and a.姓名=students.姓名) as 语文,

sum(select b.成绩 from students b where 科目=’数学’ and b.姓名=students.姓名) as 数学,

sum(select c.成绩 from students c where 科目=‘英语’ and c.姓名=students.姓名) as 英语

From students group by 姓名

Java 开发基础试题(一共20个小题,每题5分 20*5=100)

1.如何将String转换为Integer?如何将Integer转换为String?

Integer.ParseInt(String)  Integer.toString() 

2.如何获得当前时间?格式为yyyy-MM-dd HH:mm:ss?

Date date=new Date();

SimpleDateFormate sdf=new SimpleDateFormate(“yyyy-MM-dd HH:mm:ss”);

Sdf.parse(date);

3.作用域 public,private,protected 有什么区别?

作用域 当前类 同一package 子孙类 其他package 

public  √  √  √  √ 

protected   √  √  √  × 

private  √  ×  ×  × 

4.阐述一下什么是MVC?

M模型层v视图层c控制器层

通过控制器层将数据访问层和视图层分离开 实现了解耦合 提高了程序的可维护性和可扩展性。

5.JSP中动态INCLUDE与静态INCLUDE的区别?

动态INCLUDE用jsp:include动作实现   它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数   静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面   <%@ include file="included.htm" %>

试题一(两个小题,每个10分 10*2=20分)

  请回答下述数据库设计问题.

试题一: 请回答下述SQL语言问题.(六个小题,每题5分  6*5=30分)

问题描述:为管理岗位业务培训信息,建立3个表:

S(S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号,学员姓名,所属单位,学员年龄

C(C#,CN) C#,CN 分别代表课程编号,课程名称

SC(S#,C#,G) S#,C#,G 分别代表学号,所选修的课程编号,学习成绩

1,使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名

SELECT S.S# , S.SN FROM S WHERE S.S# IN (SELECT SC.S# FROM C,SC WHERE C.CN=’税收基础’ AND SC.C#=C.C#)

2,使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位

SELECT S.SN , S.SD FROM S WHERE S.S# IN (SELECT SC.S# FROM SC , C WHERE C.C#=’C2’ AND C.C#=SC.C#)

3,使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位

SELECT S.SN,S.SD FROM S WHERE S.S# NOT IN (SELECT  SC.S# FROM SC , WHERE C.C#=’C5’ AND C.C#=SC.C#)

4,使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位 

SELECT S.SN,S.SD FROM S WHERE S.S# IN ( SELECT SC.S#,COUNT(*) FROM SC,C WHERE SC.C#=C.C# GROUP BY SC.S# HAVING COUNT(*) =(SELECT COUNT(*) FROM C)) 

5,查询选修了课程的学员人数

SELECT COUNT(*) FROM S WHERE S.S# IN (SELECT SC.S# FROM SC,C WHERE SC.C#=C.C# GROUP BY SC.S# )

6,查询选修课程超过5门的学员学号和所属单位

SELECT S.SN,S.SD FROM S WHERE S.S# IN ( SELECT SC.S# ,COUNT(*) FROM SC GROUP BY SC.S# HAVING COUNT(*)>5)

试题二: 请回答下述存储过程问题(两个小题,每题5分 5*2=10分)

问题1:写一个存储过程,用游标来作,声明是在begin后还是在前?用完后是否要关闭?

问题2:存储过程和函数的区别

他俩最大的区别就是存储过程可以没有返回值,而函数必须有返回值

存储过程是用户自定义的针对某个表操作的语句集合,它涉及特定用户表及对象之间的关系他可以被用户调用。

函数是数据库已定义好的方法必须有返回值他不涉及特定用户表

JAVA部分

一、选择题(每小题3分,共18分)

1、以下哪个Hibernate主键生成策略是实现主键按数值顺序递增的?(3分)

A.increment

B.identity

C.sequence

D.native

2、请说明下面的程序执行后,输出哪个结果是正确的? (3分)

public class Q {

 public static void main(String argv[]){

 int anar[]=new int[5];

 System.out.println(anar[0]);

 }

}

1) Error: anar is referenced before it is initialized 

2) null 

3) 0 

4) 5 

3、在jsp中,page指令的()属性用来引入需要的包或类。

A.extends 

B.import 

C.language 

D.contentType

4、在下面程序的第6行补充上下列哪个方法,会导致在编译过程中发生错误?

1)    class Super{

2)         public float getNum(){

3)             return 3.0f; 

4)        }

5)         public class Sub extends Super{

6)        

7)     }

A.public float getNum(){return 4.0f;}

B.public void getNum(){}

C.public void getNum(double d){}

D.public double getNum(float d){return 4.0d;}

5、执行下面的代码,输出结果是什么?

 int i=1;

 switch (i) {

 case 0:

 System.out.println("zero");

 break;

 case 1:

 System.out.println("one");

 case 2:

 System.out.println("two");

 default:

 System.out.println("default");

 }

1) one 

2) one, default 

3) one, two, default 

4) default 

二、填空(每小题3分,共9分)

1、Struts采用_jsp______作为MVC的视图,由ActionServlet具体指定的___action________作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为____struts-config.xml____的配置文件设置。

2、请写出下列程序段的执行结果。

public class Pass{

    static int j=20;

    public static void main(String argv[]){

    int i=10;

     Pass p = new Pass();

     p.amethod(i);

     System.out.println(i);

     System.out.println(j);

    }

 public void amethod(int x){

     x=x*2;

     j=j*2;

    }

}

1) Error: amethod parameter does not match variable 

2) 20 and 40 

3) 10 and 40 

4) 10, and 20

三、判断(第1题3分,第2题9分,共12分)

1、在同一个目录下有下面几个文件,如果没有编译Basw.java的情况下,尝试编译运行Class1.java,会发生什么?

//Base.java

package Base;

class Base{

    protected void amethod(){

     System.out.println("amethod");

    }//End of amethod

}//End of class base

package Class1;

//Class1.java

public class Class1 extends Base{

    public static void main(String argv[]){

     Base b = new Base();

     b.amethod();

    }//End of main

}//End of Class1

1) Compile Error: Methods in Base not found 

2) Compile Error: Unable to access protected method in base class 

3) Compilation followed by the output "amethod" 

4)Compile error: Superclass Class1.Base of class Class1.Class1 not found

2、当被访问文件不存在的情况下,下面的代码执行结果将是什么?(共9分)

import java.io.*;

public class Mine {

    public static void main(String argv[]){

    Mine m=new Mine();

    System.out.println(m.amethod());

    }

    public int amethod() {

    try {

        FileInputStream dis=new FileInputStream("Hello.txt");

    }catch (FileNotFoundException fne) {

        System.out.println("No such file found");

        return -1;

    }catch(IOException ioe) {

    } finally{

        System.out.println("Doing finally");

    }

    return 0;

    }

}

1) No such file found 

2 No such file found ,-1 

3) No such file found, Doing finally, -1 

4) 0 

四、简答(共11分)

1、代码String str=new String(“xyz”) 是创建了几个String Object,str==”xyz”和str.equals(“xyz”)相同吗?(4分)

创建了两个对象 ,==的是即判断两个对象的地址也判断两个对象的值 equals是判断两个对象的值

2、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?(3分)

会执行 在return之前

3、请回答下面哪个结果是正确的?(4分)

String s=new String("Bicycle");

int iBegin=1;

char iEnd=3;

System.out.println(s.substring(iBegin,iEnd));

1) Bic 

2) ic 

3) icy 

4) error: no method matching substring(int,char)

五、冒泡排序:依次比较相邻的两个数,将大数放在前面,小数放在后面。第一趟结束,在最后的数必是所有数中的最小数。重复以上过程,直至最终完成排序。由于在排序过程中总是大数往前放,小数往后放,相当于气泡往上升,所以称作冒泡排序。请用JAVA语言编写一个完成冒泡排序算法的程序。(10分)

public void maopao(){

int [] list=new int[]{1,2,5,3,4};

for(int i=0;ifor(int j=I;jint temp=list[i];

if(list[i]>list[j]){

list[i]=list[j];

list[j]=temp;

}

}

}

}

ORACLE部分

1、以下代码用于java访问本机Oracle数据库、取得记录并输出到界面,数据库名是dbtest,用户名和密码都是sa,请将代码补充完整。(10分)

……

Class.forName("oracle.jdbc.driver.OracleDriver__ ");

Connection conn=DriverManager.getConnection(“_jdbc:oracle:thin:@localhost:1521:dbtest__”,”_sa”,”___sa__”);

Jdbc:oracle:thin:@localhost:1521:dbtest

Statement stmt=conn.createStatement();

String str="select * from ";

ResultSet rs=stmt.executeQuery(__str_____);

While(rs.next())

{

……

}

rs.close();

stmt.close();

conn.close();

啊啊啊啊

文档

java基础试题答案

Java试题一、选择题(单选每题2分共20分)1.下列有关Java语言的叙述中,正确的是A、Java是不区分大小写的B、源文件名与public类型的类名必须相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限2.下列关于栈的叙述正确的是A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征3.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送A、调用语句B、命令C、口令D、消息4.下列语句执行后,k的值为()Inti=6,j=8
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top