错题本-Java

针对没有记牢的知识点和错题做记录。

如下

选择题

  • System不是Java中进行简单输入、输出的基本类,下面则是:
    • Scanner
    • NumberFormat
    • DecimalFormat
  • File类不能用来写入用户数据,但可以用来:
    • 获取文件长度
    • 查询文件路径
    • 删除文件
  • 颜色不属于Java文字字形要素,以下则属于:
    • 字体
    • 样式
    • 字号
  • catch属于Java的保留关键字,以下则不是:
    • else
    • define
    • include
  • 设已有JFrame对象frame,一个字符串对象str,则构造一个强制对话框的语句是JDialog(frame, true), 以下则为错误语法:
    • JDialog(frame)
    • JDialog(frame, str, false)
    • JDialog(frame, str)
  • 当使用输入数据流类中的read()方法时,如果输入流读取结束,则返回值为**-1**,以下则不是:
    • 0
    • true
    • false

填空题

  • 整形常量的最大值在Java中用 Integer.MAX_VALUE 表示
  • continue语句的作用是 立即结束本次循环 ,开始执行下一次循环
  • 在Java中,在字节流和字符流之间起到中介作用,充当字节流和读者之间接口的两个类是 InputStreamReader、OutputStreamWriter
  • 在Java中进行绘图操作时,当组件被显示出来时,需调用 paint(Graphics g) 方法
  • JDialog类通常用于创建 自定义 对话框
  • Java中可以调用 interrupt 方法中断线程的执行
  • \b和\'属于转义字符常量
  • 子类对象is a父类对象
  • AWT包含本地代码,被称为重量级组件
  • JComboBox是一个下拉式菜单
  • 文件对话框是专门用于对文件或目录进行浏览和选择的对话框
  • 在JAVA中通过对象互斥锁来实现不同线程对共享数据操作的同步
  • 编写Java时加入适当的空白并使用缩进格式可以增加程序的 易读性
  • Java中通常用 CLASSPATH 指定搜寻包的路径
  • StringBuffer类用于处理 可变字符串
  • Java允许将一个子类的对象赋给父类的变量,这称为 对象转型
  • 写Java基本数据类型需要用到 DataOutputStream
  • JScrollPane 是带有滚动条的面板,它是Container类的子类,只能添加一个组件
  • 文本或JTextField和JTextArea 组件可用于显示信息和提供用户输入功能
  • 通过实现 Runnable 接口可以创建一个线程

简答题

请说明while语句和do语句的区别

  1. while语句先计算条件表达式的值,当值为真时,重复执行循环语句,直到条件表达式为假时结束,如果第一次检查时条件表达式为假,则循环语句一次也不执行。
  2. do语句首先执行循环体语句,然后计算条件表达式的值,当值为真时,重复执行循环体语句,直到表达式的值是假结束循环。不论条件表达式的值为真为假,do循环中的循环体都至少执行一次。

访问数组元素时需注意哪些问题

  1. 数组必须已经初始化,且有内存空间
  2. 访问数组元素通过数组名加上下标。即:数组名[下标数字],下标从0开始
  3. 注意访问下标必须小于数组的length属性的值,否则会抛出越界异常

什么是抽象类、抽象方法?在使用过程中有什么注意事项?

  1. 定义时只定义了方法但没有定义具体实现的类称为抽象类,在JAVA中通过关键字abstract把一个类定义为抽象类,每一个未被定义具体实现的方法也用关键字abstract修饰,这样的方法称为抽象方法,只有抽象类才有抽象方法。
  2. 在使用抽象类和抽象方法时,要注意:
  • 不能用抽象类作为模板创建对象,必须定义抽象类的子类后,用子类作为模板才能创建实例。
  • 对于抽象方法不能进行调用,子类将抽象方法实现以后才可以调用

请说明按钮和按钮组的关系

按钮可以添加到按钮组中,这是首先要创建一个按钮组,然后调用按钮组的add()方法将按钮添加进去。当多个按钮被添加到同一个按钮组后,如果用户选中一个按钮,那么其他按钮就会变成未选中状态,即同一个按钮组中只能有一个按钮处于被选中状态。

请简述线程的概念

线程时进程执行过程中产生的多条执行线索,是比进程单位更小的执行单位,线程在形式上同进程十分相似,都是用一个按序执行的语句序列来完成特定的功能。不同的是,线程没有入口,也没有出口,自身不能自动运行,必须栖身于某一个进程中,由进程触发执行,并且属于同一进程的线程共享该进程的系统资源。

JAVA中的数据类型是如何划分的,请分别举一个数字、字符、布尔类型的常量。

JAVA的数据类型共分为两大类,分别为基本数据类型和复合数据类型。基本数据类型有8种,分为4小类,具体为字符型、整型、浮点型、布尔型。整型和浮点型有时也合称为数值型。符合数据类型包括数组、类和接口。
整型常量:int number = 10
字符常量:char ch = 'a'
布尔常量:boolean result = true

请回答JAVA中异常的分类及其概念

JAVA中异常可分为三类:受检异常、运行时异常和错误。
受检异常是程序执行期间发生的严重事件的后果。
运行时异常通常是程序中逻辑错误的结果。
错误是指发生了不正确的情况,这些情况都比较严重,一般程序很难处理。

说明系统为String类和StringBuffer类的对象分配内存时的区别

JAVA系统为String类分配内存时,按照对象中所含字符的实际个数等量分配,而为StringBuffer类对象分配内存时,除去字符所占空间外,再另加16个字符大小的缓冲区

什么是数据流,数据流分为哪些类,各类的特点是什么?

数据流是一组有顺序的、有起点和重点的字节集合。数据流分为输入数据流和输出数据流,输入数据流只能读不能写,输出数据流只能写不能读。从数据流中读取数据时,必须有一个数据源与该数据流相连。

线程的结构都包含哪些部分,作用分别是什么?

在JAVA中,线程由虚拟CPU、执行的代码、处理的数据三部分组成。虚拟CPU的作用是控制整个线程的运行,执行的代码的作用是由Thread类控制按序运行,处理的数据的作用是传递给THread类,由代码在执行过程中进行处理。

什么是继承

将一个已有的类中的数据和方法保留,并加上自己特殊的数据和方法,从而构成一个新类,这就是继承的概念。

请说明Java中数据类型转换的分类及其适用情况

Java中的数据类型转换分为自动转换和强制转换两类。转换的一般原则是位数少的类型转换为位数多的类型,这称为自动类型转换。当位数多的类型向位数少的类型转换时,需要再程序中明确指明,这种转换称为强制类型转换

什么是构造方法重载?

在进行对象实例化时可能会遇到许多不同情况,于是要求针对所给定的不同的参数,调用不同的构造方法。这时,可以通过在一个类中同时定义若干个构造方法来实现,这就是构造方法的重载

使用方法覆盖要注意什么原则

  1. 覆盖方法的允许访问范围不能小于原方法
  2. 覆盖方法所抛出的异常不能比原方法更多

请说明Java基本字符流中读者/写者出现的原因及作用

有些程序设计语言使用ASCII字符集,而Java使用Unicode字符集表示字符和字符串。ASCII字符集以一个字节表示一个字符,可以认为一个字符就是一个字节。Java中使用两个字节表示一个字符,这时字节和字符就不再相同。Java为实现与其他程序语言及不同平台的交互,提供了一种新的数据流处理方案,称为读者和写者。读者和写者的作用是在字节流和字符流之间做中介,在构造方法中应指定一定的平台规范,以便把字节方式表示的流转换为特定平台上的字符表示

请说明模式对话框和非模式对话框的区别

对话框分为模式(强制)对话框和非模式(非强制)对话框两种。模式对话框被关闭之前,其他窗口无法接收任何形式的输入。非模式对话框可以中断对话过程,去响应对话框之外的事件。

程序填空题

语法错误

  1. 创建一个数组: int x[] = new int[长度]
  2. FileOutputStream的写入方法是:fos.write()
  3. 创建一个列表的语法是:JList list = new JList(listItem)
  4. 为组合框设置默认值的语法是:
    JcomboBox jcb = new JComboBox();
    jcb.setSelectIndex(1)