Bigdata1234.cn Java 课堂测试

Java源文件中有一个公共类名称为Test,则该源文件名必须是:Test.java
.

Java中的基本数据类型共有8个:byte、short、int、long、float、double、char、boolean。
在这里插入图片描述

.
Eclipse中内容补全的快捷键是alt+/
Eclipse 中自动导包的快捷键是 Ctrl + Shift + O,代码自动排版的快捷键是 Ctrl + Shift + F。
.

int[][] a=new int[5][6],则a.length的值为5
.

下列定义数组的语句,哪些是错误的(多选)?AB
A. int a[10];
B. int[][] a=new int[][6];
C. int a[]=new int[5];
D. int[][] a=new int[6][];
.

String[] a=new String[10];则a[1]的值为:null
.

表达式1+“2”+3的值为:123
表达式1+2+“3”的值为:33

.
canner sc=new Scanner(System.in);int a=sc.nextInt();String b=sc.nextLine();输入
123
abc
则b的值为空字符串
.

数组元素的类型可以为任何类型
.

在 Java 中,源代码文件通常使用 .java 作为文件扩展名,而编译后的文件通常使用 .class 作为文件扩展名。

.
获取数组长度的属性为 length,获取字符串长度的方法为 length()。

.
在这里插入图片描述
.

类 A 定义构造方法的语法是 A(){}。
.

把类放入包中使用package关键字,要放在源文件第1句。
.

引入别的包中的类,需要使用import关键字,该语句可以有多个。
.

在类或成员的访问控制符中,public修饰符表示访问权限最大,private表示访问权限最小,默认(default)是在同一包内访问。
.

在 Java 中,可以通过类名来访问静态成员,也可以通过对象名来访问静态成员。
.

在 Java 中,不可以通过类名来访问实例成员,因为实例成员是与对象相关联的,而不是与类本身相关联的。只有创建类的实例后,才能通过对象名来访问实例成员。
.

在一个类内,静态方法不能直接调用非静态方法。
.

在 Java 中,类的成员变量不是必须赋初值的,如果没有赋初值,则会自动初始化为默认值。
.

在 Java 中,同一个包下的类不必在同一个源文件中,可以分别存放在不同的源文件中。
.

自定义类时允许定义如下方法public void toString() { },这句话是错误的,因为返回值应该是String
.

接口定义使用关键字interface
.

定义子类时,在父类前加extends
.

实现接口使用关键implements
.

定义抽象类或抽象方法时,类和方法前要加abstract
.

子类构造方法调用父类构造方法要使用 super ( 实参 ),要放在第一句,当没调用时,系统会自动调用父类 无参 构造方法。
.

抽象方法正确写法:abstract void f();
.

假设B是A的子类,下列语句运行正确的是:A

A. A a=new B();

B. B b=new A();

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

A.子类对象可以直接赋值给父类变量
B.父类对象不可以直接赋值给子类变量,在编译阶段就会报错
C.将父类对象强制转换为子类对象,编译时不会报错,但在运行阶段可能会抛出 ClassCastException 异常,因为如果实际上该对象不是 B 类型的对象或其子类的对象,就会抛出 ClassCastException 异常(强制转换异常)。

.
一个类只能继承一个直接父类,但可以实现多个接口。

.
只有抽象类才能包含抽象方法。
.

一个普通类实现接口,就要实现接口中所有的抽象方法。
.

A a=new A();System.out.println(a);此时输出的是对象a的toString()方法的返回信息。
.

将字符串“123“转换成整数123,可以使用哪些方法?BC

A. (int)"123"

B. Integer.parseInt("123")

C. new Integer("123").intValue()

D. (Integer)"123"

B. Integer.parseInt(“123”):该方法是将字符串解析为整数的常用方法。它将字符串作为参数传递,并返回一个表示相应整数值的 int 类型值。
C. new Integer(“123”).intValue():该方法使用 Integer 类的构造函数将字符串转换为 Integer 对象,然后使用 intValue() 方法将 Integer 对象转换为 int 类型值。
选项 A. (int)“123” 和 D. (Integer)“123” 是错误的,因为不能将字符串直接转换为整数,必须使用相应的转换方法。
.

日期相关类有:
1、Date:Java 中用于表示日期和时间的类。
2、Calendar:Java 中用于操作日期和时间的类,提供了各种方法来获取和设置日期和时间的各个部分,例如年份、月份、日期、小时数、分钟数、秒数等。
3、SimpleDateFormat:Java 中用于将日期和时间格式化为指定格式的类。

.
Object 类是所有类的直接或间接父类,包含了不同对象的公共的属性和方法。

.
String s1=“123”; String s2=“50”; System.out.println(s1.compareTo(s2));的输出结果为:-4

public class Test {
 public static void main(String args[]) {
    String str1 = "Strings";
    String str2 = "Strings";
    String str3 = "Strings123";

    int result = str1.compareTo( str2 );
    System.out.println(result);
  
    result = str2.compareTo( str3 );
    System.out.println(result);
 
    result = str3.compareTo( str1 );
    System.out.println(result);
}
}
以上程序执行结果为:
0
-3
3

总结:

  • 如果两个字符串的前缀部分相同,但一个字符串比另一个字符串长,则长的字符串被认为是更大的字符串,此时返回字符串长度的差值。
  • 如果两个字符串的前缀部分不同,则比较它们第一个不同的字符的 ASCII 码值大小。

.
异常处理时,catch块可以有多个,要把子类异常放在前面。原因:Java 中的异常处理机制会根据 catch 块的顺序进行匹配,如果把父类异常放在子类异常之前,则子类异常永远不会被捕获。

.
抛出异常用throw语句,方法声明后通知上级方法要处理的异常列表用throws引导。

.
Scanner sc=new Scanner(System.in);String a=sc.next();Integer.parseInt(a);当用户输入的不是整数时会发生NumberFormatException异常,即字符串无法转换为数字时产生的异常。

.
下列哪些是接口:ABC

A. List

B. Map

C. Set

D. ArrayList

D 不是接口,它是 List 接口的一个实现类。
.

用来存储key-value对的集合类型是Map
.

集合元素不允许重复的集合类型Set

.
List实现类中,用数组实现的是 ArrayList ,用链表实现的是 LinkedList。ArrayList 是用数组实现的 List 接口的实现类,而 LinkedList 是用链表实现的 List 接口的实现类。

.
Set实现类中,记录元素插入先后顺序的是LinkedHashSet类。
Set实现类中,元素有序的是TreeSet类。
HashSet 也是 Set 接口的一个实现类,但是它不维护元素的插入顺序,在避免哈希冲突的影响下,查询效率高,空间占用少。TreeSet 内部使用红黑树来存储元素,并且按照元素自然排序(默认为升序)的方式来进行排序。TreeSet 、HashSet 、LinkedHashSet 中数据元素都是唯一的。在 TreeSet、HashSet 和 LinkedHashSet 中,元素的唯一性是通过 equals() 方法和 hashCode() 方法来判断的。如果它们的 hashCode() 值相等,然后两个对象的 equals() 方法比较为 true ,则这两个对象将被视为相同的元素,只会保存其中一个。
.

Map 添加元素的方法是 put ,map 对象的 key 不能重复。
.

定义类时实现 Comparable 接口,就表明该类对象可比较大小。

.
先hashCode,如果hashCode相等,再equals。
要使 HashSet 正常工作,通常需要改写元素的 hashCode 和 equals 方法,如果 equals 结果相等,则 hashCode 值应该相同。 hashCode 值不同,则 equals 也应该不等。简单理解,equals 条件更苛刻,hascode 条件较宽松。
.

在 Java 中,泛型类型可以使用的类型参数必须是类或接口类型,包括 Java 内置类型的包装类,如 Integer( int 包装类 )、Double( double 包装类 )等,以及一些其他的对象类型,比如 String。而 double 和 int 是 Java 中的基本数据类型,不是类或接口类型,因此不能作为泛型类型的类型参数。
.

对List里面的元素排序,可以使用 Collections 类的sort方法,该方法使用归并排序(Merge Sort)算法来实现,它是一种稳定的排序算法。
Arrays 类中的 sort 方法使用的是快速排序(Quick Sort)算法,它是不稳定的。

.
用Arrays或Collections对数组或集合排序时,可以定义排序器类设置排序规则,排序器实现的接口是 Comparator。
.

集合类大都在 java.util 包下。

.
Reader 和 Writer是字符流,InputStream 和 OutputStream 是字节流。

.
利用File对象建立多级目录(如d:/dir1/dir2/dir3,dir1,dir2,dir3都不存在),使用的方法是 mkdirs()。

.
d盘下有1.txt和2.txt,使用renameTo方法将1.txt重命名为2.txt,不会将原来2.txt覆盖。

.
输入输出流类大多在 java.io 包下。

.
按照输入输出分为 输入流 和 输出流
按照传输单位分为 字节流 和 字符流
按照功能分为 节点流(低级流) 和 处理流(高级流)
.

字节缓冲流:BufferedInputStream,BufferedOutputStream
字符缓冲流:BufferedReader,BufferedWriter
.

调用输入流 read() 方法时,当读到结尾处,该方法返回 -1。参数为数组的方法 read( char[] c ) 或 read( byte[] b ) 的返回值表示 实际读取个数。
.

File对象的 length () 方法返回单位是 字节 ( byte ),lastModified () 返回值类型是 long。
.

JFrame 是窗口类。

.
把窗口分为东西南北中5部分的是 BorderLayout 布局
实现布局嵌套采用的中间容器是 JPanel。
.

动作事件( ActionEvent )有:
在这里插入图片描述
关闭窗口不是动作事件( ActionEvent ),而是窗口事件( WindowEvent )的一种。
.

点击窗口关闭按钮的默认行为是 隐藏窗口,窗口默认可见性为 不可见。
.

通常将事件监听器指定为 this,this 表示当前实例对象对应的事件监听器。

.
通常将事件监听器指定为 this 的原因为 窗口对象方便访问界面元素。

.
JFrame 默认布局分别为 边界布局,JPanel 默认布局分别为流布局。

猜你喜欢

转载自blog.csdn.net/m0_64799907/article/details/131046204