每日一练,java05

题目

选自牛客网
1.下列表述错误的是?()

A.int是基本类型,直接存数值,Integer是对象,用一个引用指向这个对象。
B.在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
C.封装的主要作用在于对外隐藏内部实现细节,可以增强程序的安全性
D.final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性。

正确答案:D 在Java中,final 不能修饰抽象类。final
修饰的类不能被继承,因此不能用于修饰抽象类。抽象类的目的是为了被继承,而 final 修饰的类则禁止继承。
因此,D 选项的表述是错误的。正确答案是 D。


2.A 是抽象父类或接口, B , C 派生自 A ,或实现 A ,现在 Java 源代码中有如下声明:

  1. A a0=new A();

  2. A a1 =new B();

  3. A a2=new C();

问以下哪个说法是正确的?( )

A.第1行不能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的

正确答案:A
如果 A 是抽象父类或接口,那么不能直接实例化它。因此,第 1 行 A a0 = new A();不能通过编译。正确答案是 A。第 2 和第 3 行可以通过编译,因为 B 和 C 分别派生自 A 或实现 A,所以可以赋值给类型为 A 的引用。但是,如果 A 是抽象类,那么第 1 行会编译出错,因为抽象类不能被实例化。如果 A 是接口,那么第 1 行也会出错,因为接口也不能被实例化。


3.一个文件中的数据要在控制台上显示,首先需要( )。

A.System.out.print (buffer[i]);
B.FileOutputStream fout = new FileOutputStream(this.filename);
C.FileInputStream fin = new FileInputStream(this.filename);。
D.System.in.read(buffer)。

正确答案:C 要从文件中读取数据并显示在控制台上,首先需要使用 FileInputStream 来读取文件内容。因此,正确答案是
C.FileInputStream fin = new FileInputStream(this.filename);。这行代码创建了一个
FileInputStream 对象,用于读取指定文件的内容。然后,可以使用 read()
方法读取文件数据,并将其输出到控制台。其他选项与文件读取和控制台输出无关。


4…下列关于计算机系统和Java编程语言的说法,正确的是()

A.计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分。
B.Java语言编写的程序源代码可以不需要编译直接在硬件上运行。
C.在程序中书写注释不会影响程序的执行,可以在必要的地方多写一些注释。
D.Java的集成开发环境(IDE),如Eclipse,是开发Java语言必需的软件工具。

正确答案:C

计算机系统由硬件和软件组成,操作系统是软件的一部分,但并不是所有计算机都必须有操作系统。有些嵌入式系统可能没有操作系统。Java语言编写的源代码需要经过编译才能在硬件上运行。Eclipse 是一个 IDE,但并不是开发 Java 程序的必需工具,可以通过其他 IDE 或编辑器来编写 Java程序。而注释在程序中不会被编译,因此不会影响程序的执行,可以在必要的地方多写一些注释来解释代码。正确答案是 C。


5.以下程序段执行后将有()个字节被写入到文件afile.txt中。

try {
FileOutputStream fos = new FileOutputStream(“afile.txt”);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(3);
dos.writeChar(1);
dos.close();
fos.close();
} catch (IOException e) {}

A.3
B.5
C.6
D.不确定,与软硬件环境相关

正确答案:C writeInt() 方法写入 4 个字节,writeChar() 方法写入 2 个字节,所以总共写入了 6 个字节到文件中。
正确答案是 C。

6.已知x >= y and y >= z 为真,那么x > z or y = z 值为
A.真
B.假
C.无法确定
D.x y z同为正数时为真

正确答案:C 答案应该是C 条件可以简单分析为数学不等式 x>=y>=z,那么x>z不一定为true
当x>z为true,后面的条件忽略,结果为真; 当xz,x>z为fslae,继续判断后一个条件
如果z
0,则y=z为false,结果为假; 如果z!=0,则y=z为true,结果为真; 所以,最后的结果是不确定的。


知识点:

1.1

区别:

public:可以被所有其他类所访问

private:只能被自己访问和修改

protected:自身、子类及同一个包中类可以访问

default:同一包中的类可以访问,声明时没有加修饰符,认为是friendly。

2.1

线程的优先级并不直接决定线程的执行速度,它只是给线程分配 CPU 时间的一个提示。在实际运行中,线程的执行速度还受到操作系统和 JVM 的调度策略的影响。高优先级的线程并不一定比低优先级的线程运行得更快。

3.1

在 Java 中,System.in 是一个 InputStream 对象,它代表了标准输入流,通常用于从控制台读取用户输入。为了读取控制台输入,我们需要使用 InputStream 的 read() 方法,但每次只能读取一个字节。如果想要更方便地读取控制台输入,可以使用 java.util.Scanner 类,它提供了更高级的读取方法,如 nextInt()、nextLine() 等,但它的构造函数需要一个 InputStream 对象作为参数,通常传入 System.in。所以,虽然 Scanner 类可以简化输入,但并不是必要的,我们可以直接使用 System.in 来读取数据

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

布说在见

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

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

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

打赏作者

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

抵扣说明:

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

余额充值