目录
- 题目
- 知识点:
- 1.1
- 2.1
- 3.1
题目
选自牛客网
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 源代码中有如下声明:
-
A a0=new A();
-
A a1 =new B();
-
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
看起来选a是没问题,在不考虑代码逻辑的情况下。
但是在考虑代码情况下
java无法识别and
知识点:
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 来读取数据