[Java] 基础练习题(选择题)

下面关于 JAVA 语言特点的描述中,错误的是( D)

A.JAVA 程序与平台无关、可移植性好

B.JAVA 支持多线程

C.JAVA 支持分布式的网络应用

D.JAVA 是纯面向对象编程语言,支持单继承和多继承


Java语言共有十大特点,分别为:简单性、面向对象、分布性、编译和解释性、稳健性、安全性、可移植性、高性能、多线程性、动态性。

java不支持多继承


下面标识符在 Java 语言中不合法的是(C )

A.persons$

B.yourname

C.class

D._hello


java标识符命名规则有:1、可由字母、数字、下划线_及美元符号$组成;2、不能以数字开头;3、不能与关键字冲突;4、不能和java类库的类名冲突;

class为java关键字


设数组 Array 由以下语句定义(C )int[] Array=new int[10];则数组的最后一个元素的正确引用方法为:

A、Array[0]

B、Array[10]

C、Array[9]

D、Array


java下标从0开始,所以最后一个元素的下标为9。


关于访问控制符 protected 修饰的成员变量,以下说法正确的(B)

A.可以被该类自身、同一个包中的其他类、在其他包中其他类所引用

B.可以被该类本身、该类的所有子类访问和引用

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问



关于构造函数的说法哪个正确?(C)

A.一个类只能有一个构造函数

B.一个类可以有多个不同名的构造函数

C.构造函数与类同名

D.构造函数必须自己定义,不能使用父类的构造函数


1. 构造函数也称为构造方法,构造函数名和类名相同。

2. 构造函数不能有返回值,也不能用void声明。

3. 构造函数可以有参数,也可以无参数,在一个类中,可以定义多个构造函数。

4. 构造函数主要是对类进行初始化,在new的时候调用。

5. 任何一个类对象被生成时一定会调用该类的构造函数。

6. 无论一个类中定义了多少个构造函数,在生成类对象时一定只会调用其中的某一个构造函数。

7. 所有的类都有构造函数,在定义一个类时,如果你不定义构造函数,则系统默认生成一个空的构造函数,如果你自己定义了构造函数,则系统默认的构造函数就失效。

8. 创建类对象语句:A aa = new A(); 其实new后面的A()就是构造函数。


下面关于抽象方法的说法中正确的是( C)

A.抽象方法可以有方法体

B.抽象方法可以出现在非抽象类中

C.抽象方法是没有方法体的方法

D.抽象类中的方法都是抽象方法


抽象方法的特点:

  1. 抽象方法是一个不完整的方法,没有方法体。

  1. 抽象方法一定是抽象类,抽象的类里不一定有抽象方法 (接口中的方法一定是抽象方法!)

  1. 抽象方法和类都要由abstract 修饰

  1. 抽象类不能通过new 来实例化,抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。

  1. 抽象方法里可以有普通的方法

  1. 有抽象方法一定是抽象类;抽象类中也可能没有抽象方法

abstract 关键字和哪些关键字不能共存:

final:被final修饰的类不能有子类(不能被继承)。而被abstract修饰的类一定是一个父类(一定要被继承)。

private: 抽象类中的私有的抽象方法,不被子类所知,就无法被复写。而抽象方法出现的就是需要被复写。

static:如果static可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。那抽象方法运行就没意义。


以下关于继承的叙述正确的是(A)

A . 在 Java 中 类 只 允 许 单 一 继 承

B.在 Java 中一个类只能实现一个接口

C.在 Java 中一个类不能同时继承一个类和实现一个接口

D.在 Java 中接口只允许单一继承


单继承,多接口

在 Java 中一个类能同时继承一个类和实现一个接口

类的继承格式:子类 extends 父类

接口只能继承接口,不能继承类,且接口支持多继承(类是单继承关系)。接口继承语法如下:

[修饰符] interface 接口名 extends 接口1,接口2

类和类之间的继承关系用extends关键字来表示,接口和接口之间也只能是继承关系,也使用extends 关键字来表示。

接口和实现类之间只能是实现关系,而且是类实现接口,用implements关键字来表示。


若 有 定 义 String tom="I am a good cat" ; 则tom.replace('a', 'b')的返回值为(C)。

A."I am a good cat" B." I bm a good cat" C."I bm b good cbt" D."I am a good cbt"


replace() 方法通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串。

语法:replace(searchChar, newChar)

参数:

  1. searchChar -- 原字符。

  1. newChar -- 新字符。

返回值:

替换后生成的新字符串。


OutputStream 类或 Writer 类的子类是所有的(B)

A.输入流

B.输出流

C.输入/输出流

D.Java 通信类


在 Java 中所有输出流类都是 OutputStream 抽象类(字节输出流)和 Writer 抽象类(字符输出流)的子类。


如果要监控键盘事件,可用于添加监视器的方法是(B)

A.addActionListener

B . addKeyListener

C.addItemListener

D.addTextListener


addActionListener:监听器父类,其他监听器可以监听的事件都可以被它捕获

addKeyListener:监听键盘

addItemListener:用于捕获带Item的组件产生的事件

addTextListener:文本监听

ps:看单词的意思


编译 HelloWorld.java 的正确命令是:(C)

A. java HelloWorld.class

B. java HelloWorld.java

C. javac HelloWorld.java

D. javac HelloWorld.class

正确运行 HelloWorld.java 的正确命令是:(A)

A. java HelloWorld

B. javac HelloWorld.java

C. javac HelloWorld.class

D. javac HelloWorld.class

下面不属于 Java 保留字的是:(C)

A. abstract

B. if

C. malloc

D. this


malloc 是C语言的


下面属于非法的 Java 标识符的是:(D)

A. abc_xyz

B. $abc

C. _abc_

D. abc-d


java标识符命名规则有:1、可由字母、数字、下划线_及美元符号$组成;2、不能以数字开头;3、不能与关键字冲突;4、不能和java类库的类名冲突;


在 Java 中,下面关于类的继承关系描述正确的是(A)。

A.一个父类可以有多个子类

B.一个子类可以有多个父类

C.子类可以使用父类的所有属性和方法

D.子类一定比父类有更多的成员方法


一个子类只能有一个父类

子类可以继承父类的所有属性和方法,但是只能使用非私有的属性及方法


以下关于接口的说法正确的是(C)。

A.一个类只能实现一个接口

B.接口间不能有继承关系

C.实现一个接口必须实现接口的所有方法

D.接口和抽象类是同一回事


一个类可以实现多个接口

接口间有继承关系,而且是多重继承

抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。 抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。 举个简单的例子,飞机和鸟是不同类的事物,但是它们都有一个共性,就是都会飞。


假设 String s=“I love java”,则 s.indexOf(‘a’, 4)的结果是(A)

A.8

B.9

C.10

D.11


indexOf(ch, fromIndex):返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

indexOf(ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

s.indexOf(‘a’, 4):从下标为4的地方开始查找,a第一次出现的下标位置为8

注意空格


假设 double d=3.14,则 Math.ceil(d)的值是(B)。

A.3.0

B.4.0

C.3.1

D.3.2


Math.ceil(a)

返回值为double类型,返回一个大于或等于参数a的最小整数。即它返回一个整数,这个整数是所有大于等于a的整数中最小的一个。

Math.floor(a)

返回值为double类型,返回一个小于或等于参数a的最大整数。即它返回一个整数,这个整数是所有小于等于a的整数中最大的一个。

Math.round(a)

返回最接近参数a的整数,该方法等同于Math.floor(a + 0.5)并将结果转换为long或int类型,即四舍五入取整。


在 Java 中,尝试对 null 对象操作时,会产生( D)类型的异常。

A.ArithmeticException

B.EOFException

C. IOException

D.NullPointerException


ArithmeticException是出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。

EOFException:当输入过程中意外到达文件或流的末尾时,抛出此异常。

IOException :输入或输出异常

NullPointerException:空指针异常


若准备按字节读取文件中的内容(数据),应使用流(D)。

A.FileWriter

B.FileReader

C.FileOutputStream

D.FileInputStream


FileWriter :字符输出流

FileReader:字符输入流

FileOutputStream:字节输出流

FileInputStream:字节输入流


  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我好想敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值