专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java相关笔试题及答案(java笔试题目及答案分析)

temp10 2024-09-08 09:36:26 java教程 11 ℃ 0 评论

1.以下对class的声明,正确的有()

A.public final Class A B.public Class A extends B,C

Java相关笔试题及答案(java笔试题目及答案分析)

C.public static Class A D.public Class A implements B,C

答案 AD

Java支持单继承,B是错误的,类可以用public,protected,缺省的,private ,final修饰,不能用static修饰顶级类,C错;java可以多实现中间用,隔开,而且B,C必须是接口,而且要在A中实现B,C的全部接口

2.String s=new String(“12dfgds”),创建了()个String Object

A.1 B.2 C.3 D.4

答案 B

创建一个s对象,还有一个是指向s对象的对象

3.下列集合类,线程安全的有()

A.Map B.Hashtable C.TreeSet D.SortedSet

答案 B

Hashtable是线程安全的

4.java中switch(n)语句中的n不应该是()

A.字符型变量 B.逻辑型常量 C.整型常量 D.整型变量

答案 B

switch语句中,变量只能是整型 jdk1.7及以上版本支持字符型

5.下面这行代码String [][]s=new String[2][];的正确陈述是()

A.该行代码非法

B.s是一个2行2列的数组

C.s是一个包含2个一维数组的二维数组

D.s中每个元素设为””

答案:C

以上声明了一个2个一维数组的二维数组

6.给出以下代码,关于该程序以下哪个说法是正确的()

public class Peson{

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

public static void main(String a[]){

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

}

}

A.编译时讲产生错误

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

C.输出零

D.输出空

答案 C

int 类型的数组没赋值的话默认值为0

7. 网络应用的类引用,正确的是(D)

A.import java.sql.*; B.import java.util.*;

C.import java.io.*; D.import java.net.*;

答案 D

sql包主要是操作数据库的一些类,util包常用的一些日期之类的工具包,io主要处理文件

8. 你使用mkdir命令创建一个临时文件夹/temp/aaa,并将一些文件复制其中。

你使用完后要删除/mnt/temp文件夹及其中的所有文件,应该使用命令()

A.rm/temp/aaa B.rm -r /temp/aaa C.midir -r/temp/aaa D.rmdir/temp/aaa

答案 B

Linux命令rm –r 加目录是删除该目录下所有文件夹和文件

9.设x位int型变量,则执行以下句段后,x的值为:( )

x=10;

x+=x-=x-x;

A.30 B.20 C.40 D.10

答案 B

根据运算结合的优先级会先计算x-x=0,然后计算x-=0 为10,然后计算x+=10 结果为20

10假设A类有如下定义,设aA类的一个实例,下列语句调用哪个是错误的?(

class A{

int i;

static String s;

void method1() { }

static void method2() {

}

}

A、System.out.println(a.i);

B、a.method1();

C、A.method1();

D、A.method2()

答案C

静态属性和静态方法的调用,类中的静态属性和静态方法可以通过类名.方法名()的方式来调用!而非静态属性和方法只能通过对象名.方法名()和对象名.属性名的方式来调用

11.下面代码中弹出的值是()

var a="100" ;

var b=100;

var s=a+b;

alert(parseInt(s));

A.NaN B.200 C.100100 D.以上都不正确

答案C

JS中会自动识别数据类型,a被声明为字符,因此s=a+b是做的拼接运算

12. { Java 题目 }编译并运行以下程序段的结果是:(

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

答案A

被final static修饰的变量必须赋初始值

13. ORACLE表达式NVL(phone,‘0000-0000’)的含义是( )

A.当phone为字符串0000-0000时显示空值

B.当phone为空值时显示0000-0000

C.判断phone和字符串0000-0000是否相等

D.将phone的全部内容替换为0000-0000

答案 B

NVL(a,b)的用法,当a为空时显示b,不为空时显示a;引申:NVL2(a,b,c)的用法,a为空时显示c,不为空时显示b;

14.下列关于HAVING字句描述正确的有(A)

A.HAVING字句必须与GROUP BY 子句同时使用,不能单独使用

B.使用HAVING的同时不能使用where子句

C.使用HAVING子句的作用是限定分组条件

D.HAVING子句中条件字段无法应用索引

答案 A

HAVING字句必须与GROUP BY 子句同时使用,不能单独使用,使用HAVING是可以使用where子句的,限定分组条件是group by

15. { Java 题目 }类Test1定义如下:

public class Test1{

public float aMethod(float a, float b){

}

____

}

将以下哪种方法插入__处是不合法的。(

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){ }

答案B

考验重载的知识点,重载需要方法名相同,参数列表不同(即参数类型,参数顺序,参数个数不同)。

16.下列说法不正确的是( )

A. IOException必须被捕获或抛出

B. java语言会自动初始化变量的值

C. java语言允许同时继承一个类并实现一个接口

D. java语言会自动回收内存中的垃圾

答案 B

java中除了数组,其余变量的值不会自动初始化,必须手动赋初始值

17. { Java 题目 }观察以下代码,结果是()(选一项)

publicclass Test{

int k=-1;

private void action() {

int k;

k++;

}

public static void main(String[] args){

Test t1=new Test();

t1. action();

System.out.println(t1.k);

}

}

A.1 B.0 C.-1 D.编译报错

答案 D

全局变量和局部变量,本题中action中的k为局部变量,未赋初值,执行k++语句的时候会报编译异常

18.abstract class和interface有什么区别

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

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

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

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

但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

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

6).抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。抽象类只支持单继承,一个接口可以实现多个接口;

19.List,Map,Set三个接口,存取元素时,各有什么特点?

答:List特点:元素有放入顺序,元素可重复

Map特点:元素按键值对存储,无放入顺序

Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,List接口有三个实现类:LinkedList,ArrayList,Vector

LinkedList:底层基于链表实现,链表内存是散乱的,

每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢

ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低

Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet

SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现)

Query接口有一个实现类:LinkList

Map接口有三个实现类:HashMap,HashTable,LinkeHashMap

HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null

SortedMap有一个实现类:TreeMap

其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对

set 一般无序不重复.map kv 结构 list 有序

但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)

20.什么是java序列化,如何实现java序列化?

答:Java的序列化指把Java对象通过流的形式保存到一个byte数组放在硬盘或内存等存储介质中,需要的时候通过反序列化再读取成对象。 Java实例序列化的作法是:Java类实现序列化接口Serializable,最好显示声明序列化ID,防止反序列化时版本不一致,序列化类的所有属性都必须实现序列

化或被transient修饰,然后通过ObjectOutputStream的writeObject方法输出到指定介质中.

(更多精彩内容请关注华育国际官网及微信公众号)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表