Java基础知识考点Java开卷考试

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开卷考试,共2个小时,要求卷面整洁,书写清晰。

一判断题10分,每题1分

在编程时编写过多的注释,会使编译之后生成的程序文件变大。(错)

放心,编译器会删除所有的注释。所以,哪怕你在程序中写了一部长篇小说,也不会拖慢程序的运行速度。

一个Java 源文件中只能定义一个公有类,并且类名必须与文件名一致。(对)

.通过在程序中引入“import javax.swing.*;”语句,就可以使用javax.swing 包中的所有类(包括其嵌套的子包中的类)。(错)

要使用嵌套子包中的类,必须再次添加import子句

J2SE 的功能是J 2 ME 的一个子集。(错)

Java 规定所有的方法都必须放到某个类中,不存在独立于类的方法。(对)

java中所有类是ng.Object 类的子类(对)

Swing是一套GUI组件,采用了新的思路设计Java应用程序的界面,它完全地替换掉了原有的AWT。(错)

Swing仍然使用AWT的事件模型,并非完全抛弃。

值得注意的NetBeans 6.9.1完成最新的更新组件后,创建Java桌面应用程序时,有了一个新的提示消息框:

二简答题40分,每题5分,共8个小题。

现代编程语言有两种主要的类型:一种是“编译型”的,比如 C ,程序源码必须经过编译才能运行;另一种是“解释型”的,这种类型的语言(比如早期的Basic )通常都拥有一个交互环境,用户输入一句代码计算机就执行一句代码。

Java 属于上述哪种类型?如果你认为Java 不属于上述任何一种类型,那么它是不是一种新的编程语言类型?

Java源程序需要编译,但运行时需要即时“解释”为本地CPU能执行的机器指令,所以它不属于“纯”的编译型或解释型,而是一种混合类型。

Java 中有两个关键字:void 和null ,它们有什么区别?

void是无类型,null是空值,一个是对返回类型来说,一个对值来说的。Void表示这个方法执行结束后不返回任何值。

void :Public void sort();表示方法没有返回值

Null 表示一个对象为null,就是没有分配内存,没有初始化。

3. 简述“类(Class)”、“类库(Class Library)”、“包(Package)”、“ Jar 文件”这四个概念间的联系。

类库其实是一个“统称”,它是类的集合。包则是类库的组织形式,它类似于C++中的namespace,可以解决类的同名问题。

Jar则是一个采用Zip格式压缩的文件包,主要是为了方便Java组件的复用,简化Java 应用程序的部署和发布。Jar包中可以保存任意类型的多个文件和多级嵌套的文件夹。比如JDK就包容了不少Jar压缩包,你可以使用解压缩工具(比如WinRAR)去查看它的内容。可以把Jar文件看成是Java类库的一个物理“载体”,之所以称其为“物理”的,是因为我们可以在计算机中直接“看见”并“操作”它。

在一个很大的循环(比如循环100000 次)中,如果需要进行大量字符串的连接操作,通常人们会使用StringBuffer (或StringBuilder)而不是String 类型,请解释这么做的理由。

StringBuffer 可存放允许修改的字符串,String对一串字符进行操作,不可变类。

StringBuffer内部结构是数组,字符可以动态改变,String是final类型,不可改变。

因为String的对象是不能修改的,进行加操作,会产生新的对象,在很大的循环中这样做会浪费内存空间。而StringBuffer是对同一个内存对象,进行修改,节省内存,增加效率。

现有两个长度不同的数组:

int[] arr1 = new int[10];

int[] arr2 = new int[100];

那么以下语句能通过编译吗?

arr1 = arr2;

如果你认为可以通过编译,得到这个结论的依据是什么?如果不能通过编译,你认为其原因是什么?

可以。因为哪怕是基本类型的数组,数组本身也是引用的,用=号时,只是将一个数组的地址,指向另一个,并不是进行复制。

请看以下代码:

double d1 = 100.1;

double d2 = 1001/10;

System.out.println(d1 == d2); // 输出:false

明明d1 与d2 是相等的,为什么程序运行时会输出一个让人意外的结果:false ?

Double d2=1001/10 1001和10都是int型它们相除得出一个int型100

前面用double类型所以是100.0 所以的d1和d2不相等。

请看以下示例代码:

String s1 = "Hello";

String s2 = "Hello";

System.out.println(s1 == s2); // 输出:true

String s3 = new String("Hello");

String s4 = new String("Hello");

System.out.println(s3 == s4); // 输出:false

请解释一下为什么上述代码中“System.out …”两句代码输出完全不同的结果?

请看代码

String s="北京";

s=s+"奥运会";

请问上面代码产生几个String对象

3个

请看代码

short s=1;

short t=s+1;

以上代码是否可以编译,如果不能,请说明原因

不能,1是int型s为short型都转换为int型short t=(short)(s+1)

谈谈你对interface的理解和应用。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

三简单编程题30分,每题5分,共6个小题。

以所有学习过程中练习过的作业为原型,注意适当的变化和新要求。

试凑法、迭代法、最大最小值、打印图形、求素数、排序等。

1.编写一个程序,用户输入任何一个字符串之后,反转输出其结果。其运行结果如下所示:

请输入一个字串:我在学习 Java 程序设计,您输入了:计设序程 avaJ 习学在我

package fei;

public class fanchuan {

public static void main(String[] args) {

String s="计设序程 avaJ 习学在我";

char array[]=s.toCharArray();

for(int i=array.length-1;i>=0;i--){

System.out.println(s.charAt(i));

}}}

package fei;

import java.util.Scanner;

public class Fanchuan2 {

public static void main(String[] args) {

相关文档
最新文档