黑马Java测试题错题归纳

这篇博客汇总了黑马Java测试题目中的易错点,包括赋值语句的正确性、程序输出结果、二维数组声明、类继承、this关键字的使用、构造函数的特性、字符串操作、文件I/O以及递归算法等核心知识点。

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

黑马Java测试题错题归纳


  1. 下面哪些赋值语句是正确的( )
A. long test = 012;
B. float f = -412;
C. int other = (int) true;
D. double d = 0x12345678;
E. byte b = 128;
  1. 尝试运行下面的代码会发生什么?( )
public class Test {
    public static void main(String[] args) {
        boolean m = true;
        if(m = false) {
            System.out.println("true");
        } else {
            System.out.println("false");
        }
    }
}

A. 输出字符串”true”
B. 输出字符串”false”
C. 编译时错误
D. 运行时错误

3. 下面程序的输出结果是什么( )

int[] arr = new int[10];
System.out.println(arr[0]);

A. 编译时错误
B. 运行时错误
C. 输出null
D. 输出0

4. 下面哪个语句可以正确的声明一个整型的二维数组()

A. int a[][] = new int[][];
B. int b[10][10] = new int[][];
C. int c[][] = new int[10][10];
D. int[] d[] = new int[10][10];



5. 下列关于类的继承的描述,正确的有()
A. 一个类可以同时继承多个父类
B. 一个类可以具有多个子类
C. 子类会自动拥有父类的所有方法
D. 一个类继承另一个类需要使用extends关键字


6. 下列选项中关于this关键字的错误说法有()
A. this关键字是一个对象的引用
B. this关键字可以用于引用当前类以外其他类型的对象
C. this关键字用于构造函数中,调用类本身重载的构造方法,但是必须写在首行
D. this可用于静态方法中


7. 下列关于构造函数的说法,正确的是()
A. 方法名必须与类名相同
B. 使用new关键字创建对象时,java虚拟机会自动调用构造方法
C. 我们在定义一个类时,必须要声明至少一个构造方法
D. 构造函数中不能使用return语句


8. 运行下面的main()方法,结果是( )

public static void main(String[] args) {
    String myString;
    int x = 100;

    if(x < 100) myString = "x is less than 100";
    if(x > 100) myString = "x is greater than 100";
    System.out.println(myString.length());
}

A. 编译时报出错误提示信息”变量myString没有被初始化”
B. 编译通过
C. 编译未能通过。但如果变量myString在第8行前的代码中被初始化,代码可以编译通过,运行时可以输出字符串myString的长度
D. 以上都不对


9. 有如下代码,请问哪些是正确的()

class ClassA() {}
class ClassB extends ClassA{}
class ClassC extends ClassA{}

ClassA p0 = new ClassA();
ClassB p1 = new ClassB();
ClassC p2 = new ClassC();
ClassA p3 = new ClassB();
ClassA p4 = new ClassC();

A. p0 = p1;
B. p1 = p2;
C. p1 = (ClassB)p3;
D. p2 = (ClassC)p4;


10. 编译并运行以下代码的输出结果是?( )

String s1 = new String("amit"); 
System.out.println(s1.replace('m','r')); 
System.out.println(s1); 
String s3 = "arit"; 
String s4 = "arit"; 
String s2 = s1.replace('m','r'); 
System.out.println(s2 == s3); 
System.out.println(s3 == s4);
A. arit amit false true

B. arit arit false  true

C. amit amit false true

D. arit amit true true



11. 下列哪些代码可以顺利通过编译和运行? ( )

A.Integer i =  new Integer('A');
B.Integer i = new Integer("7");
C.Character c = new Character("A");
D.Boolean b = new Boolean(null);
E.Integer i = new Integer("0x10");



12. 在Java中,如果要在字符串类型对象s=”java”中,得到字符 ‘v’ 出现的位置,可使用下面的那个方法?( )

A. s.matches('v');
B. s.charAt('v');
C. s.indexOf('v');
D. s.substring('v');



13. 下面程序的输出结果是什么( )

Set set= new HashSet();
set.add("aaa");
set.add("bbb");
set.add("aaa");
System.out.println(set.size());

A. 编译不通过
B. 运行时出错
C. 输出3
D. 输出2


14. 下列哪些方法是ArrayList和LinkedList集合中都定义的( )

A. add(Object o)
B. removeFirst()
C. remove(Object o)
D. add(int index,Object o)
  1. 下面程序的运行结果是( )
 FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);
  fos.write(“abc”);
  fos.close();

A.在C盘创建文件demo.txt,但文件是空的
B.在C盘创建文件demo.txt,并写入数据abc
C.将C盘已有的文件demo.txt中追加写入abc
D.编译失败


16. 下列关于Java中文件输入输出的说法正确的是( )
A. 在Java中,文件的输入输出功能是通过流来实现的
B. 如果要把数据写入到一个文件中,需要创建一个输入流对象
C. 字符流在某些方面比如汉字的处理,比字节流更方便
D. 可以通过Reader r = new Reader(“c:\pet.txt”)创建一个输入流对象


17. 关于方法的递归算法,说法正确的是( )
A.递归就是方法自己调用自己
B.递归的次数不能过大,否则会导致栈内存溢出
C.使用递归算法,方法必须有返回值
D.构造方法不可以使用递归算法


18. 49.正则表达式中可以表示所有的单词字符信息的是下面哪个规则:( )

A. \W
B. \w
C. [a-zA-Z]
D.[a-zA-Z_0-9]












答案
1. A、B、D
2. B
3. D
4. C、D
5. B、D
6. B、D
7. A、B
8. A、C
9. A、C、D
10. A
11. A、B、D
12. C
13. D
14. A、C、D
15. D
16. A、C
17. A、B、D
18. B、D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值