java测试

这是一份关于Java编程的基础测试题目集,涵盖了类访问权限、方法重载、文件操作、日期处理、集合框架等多个核心概念。题目包括选择题、填空题和问答题,涉及String与Date的转换、集合类特性、面向对象特性等内容,适合初学者巩固基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、选择题(2分/题)

注意:在每小题的备选答案中选出正确答案,答案为1或多个。多选错选少选均不给分
1、给出如下代码:   
class Test{
private int m;
public static void fun() {
// some code...
}
}
如何使成员变量m 被函数fun()直接访问?   C
 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
2、下面哪几个函数是public void example(){...}的重载函数?AD
 A、 public void example( int m){...}
 B、public int example(){...}
 C、public void example2(){...}
 D、 public int example ( int m, float f){...}   
3、文件类File 可以用于 A B D

  A.获取文件大小

  B.是文件夹可以获取子文件列表

  C.读取文件内容

  D.创建或删除文件

4、已知如下定义:String s = "story";
下面哪个表达式是合法的?A  D

 A、 s += "books";
 B、char c = s[1];
 C、int len = s.length;
 D、String t = s.toLowerCase();

5、Java中能表示日期的类型有?  B C
 A、 String B、Date C、Calendar D、Exception

6、如下哪些字串符合Java的语法规范? A E
 A、fieldname
 B、super
 C、3number
 D、#number
 E、$number

7、 整型数据类型中,需要内存空间最少的是:D

A.short

B.int

C.long

D.byte

8、java中能操作集合的工具类与操作数组的工具类分别是?A C
 A、Collections.
 B、Collection.
 C、Arrays.
 D、HashMap.

9、适合频繁修改内容的List集合是?
 A、ArrayList
 B、Vector
 C、LinkedList
 D、HashMap.

 10 已知如下代码:
switch (m)
{
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1"); 
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default: System.out.println("Other Condition"); 
}
当m 的值什么时能输出"Condition 2"? ABC
 A、 0 B、1 C、2 D、3 E、4
11 如果类中的成员变量可以被同一包访问,则使用如下哪个修饰符?  B C D
 A、 private B、public C、protected D、no modifier E、final 
121 String中截取字符串的方法是? C
 A、 length() B、replace() C、substring()  D.trim() 
13、已知如下类定义:
class Base {
    public Base (){ //... }
    public Base ( int m ){ //... }
    protected void fun( int n ){ //... }
}
public class Child extends Base{
// member methods
}
如下哪句可以正确地加入子类中?C  D
 A、 private void fun( int n ){ //...}
 B、void fun ( int n ){ //... }
 C、protected void fun ( int n ) { //... }
 D、public void fun ( int n ) { //... } 

14、下列包装类对象创建正确的是  A  B  

 A   Integer i =100;

 B   Boolean b = new Boolean(“true”);

 C   Character c = new Character(“A”);

 D   Float f = new Float(“3.14a”);

15、Set集合的特点是  B C

 A.可以包含重复元素

 B.没有索引

 C.不能包含重复元素

 D.元素由键+值组成

16、下面的是关于类及其修饰符的一些描述,不正确的是(C   )

 A、abstract类只能用来派生子类,不能用来创建abstract类的对象

B、abstract不能与final同时修饰一个类

 C、final类不但可以用来派生子类,也可以用来创建final类的对象

 D、abstract方法必须在abstract类中声明,

但abstract类定义中可以没有abstract方法

17、运行下列程序,结果是  C

class Base{

public static void print(){

System.out.println("Base");

}

}

class Inherit extends Base{

public static void print(){

System.out.println("Inherit");

}

}

public class Print{

public static void main(String[] args){

Base base=new Base();

Base in=new Inherit();

base.print();

in.print();

}

}

A:Base,Base B:Inherit,Inherit C:Base,Inherit D:Compilation error

18、以下属于字符流的是:  B  C

A FileInputStream  

B FileReader

C PrintWriter

D ObjectInputStream

19、指出下列程序的运行结果:D

public class Static{

static{

int x=5;

}

static int x,y;

public static void main(String args[]){

x--;

myMethod();

System.out.println(x+y+ ++x);

}

public static void myMethod(){

y=x++ + ++x;

}

}

A compiletime error  

B prints:1   

C prints:2

D prints:3  

E prints:7  

F prints:8

20.Set与list都可以使用那些方式循环 B C

A.  for循环+get(index)方法

B.  Foreach 语句

C  Iterator 迭代器

D  while循环+get(index)方法

二、填空题(2分/空)

1. Iterator 迭代器中判断有无下一个元素的方法是_hasNext()_____,取出下一个元素的方法是___next()_____

2.String与Data类做日期格式化转换的类是_SimpleDateFormat_,日期格式需要表示为2019年03月20日 星期三 则对应的日期转换格式为__yyyy年MM月dd日 E________

3. Date构造函数中设置年份为2021年实际应该填写的是__2021-1900______。

4. 缓冲输出字符流是_BufferedWriter_____,能读取出对象的输入流是_ObjectInputStream________.

5. Collection的两个子接口分别是__List____ 和 ___Set_____

6.HashMap中取出所有的值的方法是_values()__ 取出所有键的方法是__keySet()______

7.LinkedList中每个元素为一个Node其中包含三个组成部分分别是_上一个元素的地址_,__本元素地址____,__下一个元素地址____

8.面向对象三大特征__封装___,_ 继承_____,_ 多态____

9.ArrayList内实际保存元素的是一个__对象数组 Object[]____

10.两个同类对象能比较大小必须实现_Comparable_接口,能在IO中进行输入输出必须实现__序列化__接口(不记得单词 可以写中文类名)

三 问答题

1.简述所学的集合中集合类及各自特点(20分)

List  可以重复 有序集合

   ArrayList(动态数组,集合元素放置在一起 适合循环遍历 不适合添加删除元素)

   LinkedList(链表集合,每个元素都有上下元素的指针,不适合循环遍历,适合添加删除元素)

   Vector(本质和ArrayList相同 ,有线程安全机制)

Set   不能重复  无序集合

   HashSet 由元素的hashcode值决定在集合内的位置

   TreeSet 会对元素进行排序,要求元素必须类型相同且实现Comparable接口

Map  键 值 对集合,键不能重复 无序,值可以重复

   HashMap 由key的hashCode值决定位置

   TreeMap 由key的大小进行排序摆放,要求key必须类型相同且实现Comparable接口

   Hashtable 本质和HashMap类似 加上了线程安全特性

2.编写学生类,包含属性 name sex score

  a要求实现当三个属性都相同时,

两个学生类对象equals为true(5分)

  B.要求两个对象能比较大小,

先比较score ,再比较sex,最后比较name(5分)

3.谈谈 String ,StringBuffer,StrringBuilder的异同(10分)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值