热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java理论基础题库精编_必备|Java核心知识点练习题库

本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。

一、选择题

1.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是(C)

A、public B、private C、protected D、无修饰

private:Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。

default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。

protected:介于public和private之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

public:Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。

2.在以下供选择的方法中,属于接口MouseMotionListener的方法是(D)

A、mouseReleased()B、mouseEntered()C、mouseExited()D、mouseMoved()

3.以下是关于线程的叙述,正确的是(C)

A、多线程的使用可以提高设备的平行工作能力,但是使系统管理变得复杂

B、同一个进程下的线程都有自己的状态、专用数据段和独立的内存资源

C、线程是能独立运行的程序

D、进程的执行效率比线程的执行效率高

4.在编写访问数据库的Java程序时,ResultSet对象的作用是(D)

A、建立新数据库连接B、用来表示与数据库的连接

C、在指定的连接中处理SQL语句D、存储查询结果

5.关于方法main()的说法哪个正确?(C)

A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改

C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中

6.抽象方法:(C)

A.可以有方法体(错)B.可以出现在非抽象类中

C.是没有方法体的方法D.抽象类中的方法都是抽象方法

7.this和super:(C)

A.都可以用在main()方法中B.都是指一个内存地址

C.不能用在main()方法中D.意义相同

8.字符流与字节流的区别在于(D)

A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写

C.二者没有区别,可以互换使用D.每次读写的字节数不同

9.类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是(C)。(抽象类不能被实例化,即不能创建对象)

A.B x1=new B();B.B x1=C();

C.C x1=new C();D.C x1=new B();

10.线程对象的生命周期中,哪个不是其经历的状态(A)。

(五种基本状态:新建;就绪;运行;阻塞;死亡)

A.中断B.运行C.就绪D.死亡

11.对于可以随着窗口的宽度变化而改变相应的控件的位置的布局对象是哪一种(A)

A、FlowLayout B、GridLayout

C、BordyLayout D、CardLayout

12、对于import java.awt.Button;以下那种说法错误(D)

A、Button属于java.awt包B、Button在java.awt目录下

C、Button在java.awt文件中D、Button属于Sun的类

13、用abstract定义的类(D)

A、可以被实例化B、不能派生子类

C、不能被继承D、只能被继承

14、continue语句(C)

A、只中断最内层的循环B、只中断最外层的循环

C、只中断所在层循环中的当次循环D、只中断某一层的循环

15、每个使用组件的程序必须有一个(B)

A、按钮B、容器C、菜单D、标签

16、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的(D)方法来完成一些画图操作。

A.start()B.stop()

C.init()D.paint()

二、判断题

1.对于容器javax.swing.JPanel,它的默认布局是BorderLayout。(×)JPanel中的默认布局是FlowLayout

2.Socket通常也称为套接字,用于描述IP地址和端口。(√)

3.线程的优先级在1至10之间,数值越小任务越紧急。(×)

线程的优先级用1-10之间的整数表示,数值越大优先级越高,即越高执行越快,默认的优先级为5。

Java语言的类只允许单继承。(√)

5.Java源程序的扩展名是.java,经过编译后的程序的扩展名是.class。(√)

6.在一个时间只能由一个线程访问的资源称为临界资源。访问临界资源的代码称为临界代码。(×)

多个线程间共享的数据称为临界资源

7.并发就是事件、任务在同一时刻开始。(×)(并行才是同一时刻开始)

8.URL在网络中是唯一的。(√)(一个URL必须唯一地,永久地代表一个在线对象)

三、填空题

1.Java语言采用多种机制来保证可移植性,其中最主要的是___java虚拟机___。

2.程序包声明的格式是__package包名.包名.包名…;。

3.当联编推迟至运行时间实现时,该联编过程称为_动态联编_____。

4.使用默认字节字符对应表,将字符串转化为字节数组的方法是___getBytes();。

5.在Swing中,带有滚动条的面板的类名是__JScrollPanel____。

6.组合框(JComboBox)是____文本框和列表_____的组合。

7.在Java语言中,文件随机访问可以利用___RandomAccessFile___类实现。

8.Java程序可以用纯Java的___JDBC_____驱动程序,实现与数据库连接。

9.下列哪个叙述是不正确的?(B)

A.JButton在javax.Swing包中

B.ActionEvcent在java.awt包中(其实在javax.Swing包中)

C.ActionListener在java.awt.event包中

D.Font类在java.awt包中

10.下列流中哪些不属于字节流(D)(菜鸟教程IO流讲解里面有详细介绍)

A.FileInputStream B.BufferedInputStream C.FileInputStream D.InputStreamReader

四、简答题

1.请写出Applet类中init()方法的功能。

init()方法:主要是为了Applet的正常运行做一些初始化的工作。

2.请写出空布局安置组件的两个步骤。

1)首先利用setLayout(null)语句将容器的布局设置为null布局(空布局)。

2)再调用组件的setBounds(int x,int y,int width,int height)方法设置组件在容器中的大小和位置,单位均为像素。

3.在Swing中,对话框有几种?并请写出它们的主要区别。

五种:文件对话框、消息对话框、输入对话框、确认对话框、颜色对话框

实现功能不同,调用的函数也不同

4.请写出用Runnable接口实现多线程的主要工作。(注意大小写类名以及变量的名称)

Public class MyRunnable implements Runnable{

Public void run(){

for(int i&#61;0;i<10000;i&#43;&#43;){

System.out.println("aaaaaaaaaaaaa");

}

}

Public class TestDemo{

Public static void main(String[]args){

MyRunnable mr&#61;new MyRunnable();

Thread t&#61;new Thread(mr);

T.start();//线程启动

}

}

5&#xff0e;编写一个程序&#xff0c;创建一个文本文件&#xff0c;从键盘输入字符到这个文本文件中&#xff0c;以END结束。

注意大括号不要漏了

import java.io.*;

import java.util.Scanner;

public class Demo4{

public static void main(String[]args){

//TODO Auto-generated method stub

System.out.println("请输入字符&#xff1a;");

Scanner scanner&#61;new Scanner(System.in);

String str&#61;scanner.next();

File f&#61;new File("d:\\ss.txt");

//字节流输出

FileOutputStream fos&#61;null;

try{

fos&#61;new FileOutputStream(f);

//定义一个数组

byte[]bytes&#61;new byte[1024];

//如何把String转换成byte数组

fos.write(str.getBytes());

}catch(Exception e){

//TODO Auto-generated catch block

e.printStackTrace();

}

finally

{

try{

fos.close();

}catch(IOException e){

//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

6&#xff0e;Java语言的特点。

Java语言的特点&#xff1a;

(1)简单的

(2)面向对象的

(3)分布式的

(4)健壮性的

(5)安全的

(6)体系结构中立的

(7)可移植的

(8)解释型的

7&#xff0e;在Java中&#xff0c;怎样创建一个线程&#xff1f;

(1)通过继承Thread类创建线程

(2)通过实现Runnable接口创建线程

(3)通过Callable和Future创建线程

8.事件处理的三要素是什么&#xff1f;

1)事件源(Event Source)&#xff1a;即事件发生的场所&#xff0c;就是指各个组件&#xff0c;如按钮等&#xff0c;点击按钮其实就是组件上发生的一个事件&#xff1b;

2)事件(Event)&#xff1a;事件封装了组件上发生的事情&#xff0c;比如按钮单击、按钮松开等等&#xff1b;

3)事件监听器(Event Listener)&#xff1a;负责监听事件源上发生的特定类型的事件&#xff0c;当事件到来时还必须负责处理相应的事件&#xff1b;

9.抽象类与接口有何不同&#xff1f;

抽象类中可以存在非抽象的方法&#xff0c;接口中的方法被默认的变成抽象方法&#xff1b;

(2)实现抽象类的方法时,如果方法是抽象的,子类必须重写抽象的方法.如果方法不是抽象的,子类可以选择继承&#xff0c;实现了接口就必须实现接口中的所有方法,因为接口中的方法默认的全部都是抽象的方法&#xff1b;

(3)抽象类可以有私有的成员变量和成员方法&#xff0c;接口中的方法全都被默认的修饰为:public abstract类型的方法&#xff1b;

(4)一个类只能继承一个抽象类&#xff0c;一个类可以实现多个接口,接口可以实现多继承

(5)抽象类中的非抽象的方法可以选择继承&#xff0c;接口中的方法必须全部被重写,并且全部是公有的public方法.



推荐阅读
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 深入理解Java SE 8新特性:Lambda表达式与函数式编程
    本文作为‘Java SE 8新特性概览’系列的一部分,将详细探讨Lambda表达式。通过多种示例,我们将展示Lambda表达式的不同应用场景,并解释编译器如何处理这些表达式。 ... [详细]
  • 处理Android EditText中数字输入与parseInt方法
    本文探讨了如何在Android应用中从EditText组件安全地获取并解析用户输入的数字,特别是用于设置端口号的情况。通过示例代码和异常处理策略,展示了有效的方法来避免因非法输入导致的应用崩溃。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 本文将详细介绍如何使用Java编程语言生成指定数量的不重复随机数,包括具体的实现方法和代码示例。适合初学者和有一定基础的开发者参考。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • JUC并发编程——线程的基本方法使用
    目录一、线程名称设置和获取二、线程的sleep()三、线程的interrupt四、join()五、yield()六、wait(),notify(),notifyAll( ... [详细]
author-avatar
香香画室_769
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有