1、第一章 走进java世界 一. 1. Sun公司于 年正式对外公布Java语言。 正确答案: 第一空: 1995 22007年11月,Google公司宣布推出基于Linux的开源智能手机操作系统 ,它使用Java语言来开发应用程序,使用类似 的Dalvik虚拟机来运行程序,这给了Java一个新的发展和推广机遇。 正确答案: 第一空: Android;安卓 第二空: JVM;Java虚拟机 3JVM是 英文单词的缩写;JDK是 英文单词的缩写,
2、由JRE和编译、运行、调试Java应用程序的各种工具和资源包构成。如果我们只想运行别人开发的Java程序,只需要安装即可JRE( ) 英文即可。 正确答案: 第一空: Java Virtual Machine 第二空: Java Development Kit 第三空: Java Runtime Environment 4Java分为三个版本: 、 和 。 正确答案: 第一空: Java EE;JavaEE
3、j2ee 第二空: Java ME;JavaME;j2me 第三空: Java SE;JavaSE;j2se 5Java程序运行的五个步骤:_______________、_______________、_______________、_______________、_____________。 正确答案: 第一空: 编辑 第二空: 编译 第三空: 加载 第四空: 验证 第五空: 运行;执行 6Java采用_______________和_______________的结合,实现了执行效率和可移植性的双重提高。 正确答案: 第一空: 编译 第二空: 解释 7请列出
4、Java程序的各种形态:_______________、______________、_______________、_____________。 正确答案: 第一空: Application 第二空: Applet 第三空: JSP/Servlet 第四空: JavaBean 8JDK安装后一般设置三个环境变量:______________、_______________、_____________。 正确答案: 第一空: java_home 第二空: classpath 第三空: path 9SCJP是_______________的英文缩写,翻译过来是_______
5、后来Sun公司被_______________收购,SCJP也就改为了_______________。 正确答案: 第一空: Sun Certificated Java Programmer 第二空: Sun认证的Java程序员 第三空: Oracle 第四空: OCJP 10一个Java源文件中可定义多个_____________和_____________,但_____________class如果有的话只能定义一个,并且其类名与_____________必须相同。 正确答案: 第一空: class;类 第二空: interface;接口 第三空: p
6、ublic;公共 第四空: java源文件名 11目前比较流行的Java IDE有二十多种,请列举出常见的IDE(至少五种):_______________、_______________、_______________、________________、______________等。 正确答案: 第一空: Eclipse 第二空: JBuilder 第三空: JCreater 第四空: MyEclipse 第五空: NetBeans 二.Java源程序应该写在扩展名为. 的文本文件中。 正确答案: 第一空: java 2无package语句的H
7、elloWorld.java的编译命令: ,运行命令: 。(分隔只能用一个空格) 正确答案: 第一空: javac HelloWorld.java 第二空: java HelloWorld 3有package zyj.chap1;语句的HelloWorld.java的编译命令: 。运行命令: 。 正确答案: 第一空: javac –d .HelloWorld.java 第二空: java zyj.cha
8、p1.HelloWorld
4 语句相当于C语言的#include
9、 2标识符命名大小下要求:包名要求全部 ,组成类名、接口名的各单词首字母大写,方法名、变量名首字母小写,其余各单词首字母大写,常量名要求全部 。 正确答案: 第一空: 小写 第二空: 大写 3Java语言共有 个关键字,其中 和 作为保留字。(第2,3空按字母顺序回答) 正确答案: 第一空: 50 第二空: const 第三空: goto 4String s="abc"; char[]ca=s. ();//String转换为字符数组 s=
10、 ;//字符数组转换为String 正确答案: 第一空: toCharArray 第二空: new String(ca) 5在Java中,小数默认为 ,如果要指定 类型请在小数后加F/f。 正确答案: 第一空: double 第二空: float 6从键盘上输入数据的代码如下: Scannersc=new Scanner( ); System.out.print("输入提示信息:"); int n=sc. ;//输入一个整数 double d=sc.
11、 ;//输入一个小数 Strings=sc. ;//输入一个字符串 正确答案: 第一空: System.in 第二空: nextInt 第三空: nextDouble 第四空: nextLine 7int对应的包装类是 ,char对应的包装类是 。 正确答案: 第一空: integer 第二空: Character 8Java语言采用双字节的 编码。 正确答案: 第一空: Unicode 9将十进制int类型变量i转换为十六进制String的代码:String s=
12、 ; 将十进制int类型变量i转换为二进制String的代码:String s=Integer. ; 正确答案: 第一空: Integer.toHexString(i) 第二空: Integer.toBinaryString(i) 10String s=”127”;将s转换为int的代码:int i= ,将s转换为double的代码:double d= 。 正确答案: 第一空: Integer.parseInts 第二空: Double.parseInts 11int a=5;booleanflag=
13、false; System.out.println(a=5);//控制台输出: ; System.out.println(a==5);//控制台输出: ; System.out.println(flag=false);//控制台输出: ; System.out.println(flag==false);//控制台输出: ; 正确答案: 第一空: 5 第二空: true 第三空: false 第四空: true 12System.out.println(10+”.”+20);控制台输出:
14、 ; System.out.println(10+20+”.”); 控制台输出: ; System.out.println(10+20+’ ’); 控制台输出: ;注:空格的ASCII码为32 System.out.println(”.”+10+20); 控制台输出: ; System.out.println(20+'a'); 控制台输出: ; 正确答案: 第一空: 10.20 第二空: 30. 第三空: 62 第四空: .1020 第五空: 117 13int i=
15、5,j=6; System.out.println(i++*j++);//控制台输出: ; i=5;j=6; System.out.println(++i*++j);//控制台输出: ; 正确答案: 第一空: 30 第二空: 42 14int a =10;int b = 20; int temp=a; a=b; b=t; System.out.println("a="+a+";b="+b);//控制台输出: ; 正确答案: 第一空: a=20;b=10 15补齐下面代码,要求用对话框输入一个float类型
16、的小数: String str=JOptionPane. ("请输入一个小数:"); float f= ; 正确答案: 第一空: showInputDialog 第二空: Float.parseFloat(str) 16booleanflag=true; System.out.println(flag?"左岸":"右岸"); //控制台输出: ; 正确答案: 第一空: 左岸 17for语句和while语句都是先判断后执行;循环体执行次数>=0。do...while语句:是 ;循环体执行次
17、数 ; 正确答案: 第一空: 先执行后判断 第二空: >=1 18补齐下面代码,要求输出double时总长度不限,保留两位小数,输出字符要求总场宽为5,右对齐。 System.out.printf("E= ,Pi= ,String= ,char= ", "HDCZYJ",Math.PI,Math.E,'A'); 正确答案: 第一空: %3$.2f 第二空: %2$.2f 第三空: %1$s 第四空: %4$5c 19补齐下面代码,要求用信息对话框输出123456: String str=
18、 (null,“123456”,“标题栏”,1); 正确答案: 第一空: JOptionPane.showMessageDialog 20for语句的无限循环语句: ; while语句的无限循环语句: ;(循环体为空即可,不要加任何多余的空格) 正确答案: 第一空: for(;;){} 第二空: while(true){} 二. 1写出输出ASCII码为100的字符:System.out.println( ); 我的答案: 第一空: (char)100 2字符’A’的ASCII码是
19、 ,字符’a’的ASCII码是 。 我的答案: 第一空: 65 第二空: 97 三. 1返回系统当前时间到1970-1-1 00:00:00 00之前毫秒数的代码:longtime=System. ()。 我的答案: 第一空: currentTimeMillis 2int[] ia=new int[10];将数组ia所有元素都赋值为1的代码: ;。 我的答案: 第一空: Arrays.fill(ia,1) 3 在控制台上输出回车的代码: 。 我的答案: 第一空: System.ou
20、t.println(""); (待求证) 四. 1补全代码:如何生成'0'-'9'之间随机的一个字符?char c=(char)('0'+ ); 我的答案: 第一空: (待求证)(int)(Math.random()*10) 2如何将一个char[]转换为String? char[]ca={’a’,’b’,’c’} String s= ; 我的答案: 第一空: new String(ca) 3 补全代码:如何生成’A’-’Z’ 之间随机的一个字符?char c =(char)(65+ ); 我
21、的答案: 第一空: (int)(Math.random()*26) 第三章 面向对象的编程基础 一. 1用 修饰的类叫抽象类。抽象类只能被继承,不能被实例化。用 修饰的类叫最终类,只能被实例化,不能被继承。 正确答案: 第一空: abstract 第二空: final 2构造方法是Java类中一种特殊方法,用于实例化类的一个对象,为对象分配内存空间和成员变量初始化(数值类型byte,short,int,long,float,double初始化为 ,boolean初始化为 ,char初始化为'
22、 ',引用类型全部初始化为 )。 正确答案: 第一空: 0 第二空: false 第三空: \0 第四空:null 3面向过程提供 、 、 三种逻辑结构,每种逻辑结构要求单入口和单出口。(拼音顺序) 正确答案: 第一空: 分支 第二空: 顺序 第三空: 循环 4java.lang. 类是所有Java类的根父类。 正确答案: 第一空: Object 5Java类封装了 (表明对象的状态)、 (表明对象所具有的行为)
23、 (Constructor)、 (InnerClass)、静态/非静态 。 正确答案: 第一空: 变量;属性;成员变量; 第二空: 方法;成员方法 第三空: 构造方法;构造器 第四空: 内部类 第五空: 语句块;初始化语句块 6面向对象的四大特征: 、 、 、 。(拼音顺序) 正确答案: 第一空: 抽象 第二空: 多态 第三空: 封装 第四空: 继承 7对象成员变量建议为 ,然后为其统一提供
24、 和 方法来读写。 正确答案: 第一空: private;私有 第二空: Getter 第三空: Setter 8创建或实例化对象一般通过” +构造方法()”的方式来完成。 正确答案: 第一空: new 9UML类图:第一框格表示类的 ,第二个框格表示类的 ,第三个框格表示类的 。 正确答案: 第一空: 名字;名称; 第二空: 属性;变量 第三空: 方法 10Java类或接口前的文档注释,@ 表示作者,@
25、 表示程序版本。 正确答案: 第一空: author 第二空: version 11用运算符 可以判断一个对象是不是某一个类的对象(即使该对象进行过上溯造型)。 正确答案: 第一空: instanceof 12方法或构造方法前的文档注释,@ :形式参数说明信息;@ :方法的返回参数类型说明信息;@ :与@ 相同,方法可能抛出的异常;@ :该方法已经过时,不推荐使用。 正确答案: 第一空: param 第二空: return 第三空: thr
26、ows 第四空: exception 第五空: deprecated 二. 1(半对办错,待求证)一个类要实现swing中窗口类必须继承 类。单行文本框是 类,单行密码文本框是 类,多行文本框是 类,命令按钮是 类,标签是 类。 我的答案: 第一空: 第二空: JTextField 第三空: 第四空: JTextArea 第五空: JButton 第六空: lable 三. job3.24已完成 1(错,待求证)一个类继承一个抽
27、象类,就必须实现该抽象类中所有的 ,否则该类只能声明成 。 我的答案: 第一空: 方法子类 第二空: abstract 2用运算符 可以判断一个对象是不是某一个类的对象(即使该对象进行过上溯造型) 我的答案: 第一空: instanceof 3(错,待求证)Circle c=newCircle(5);输出对象c的信息可以通过 ;,可以省略写成 ;。 我的答案: 第一空: System.out.println(c) 第二空: 第四章 面向对象编程高级
28、 一. 1 指在类体中、方法外定义的有 修饰的语句块,当其所在类被JVM载入内存时自动执行一次,负责 的初始化。将一个类载入内存,必须先载入其 。 正确答案: 第一空: 静态语句块;static语句块 第二空: static 第三空: 类;class 第四空: 父类 2在Java中,可以用 … … 结构对异常进行捕获和处理。也可以在可能产生异常的方法定义首部用 声明抛出异常。 正确答案: 第一空: try 第二空: catch 第三空: finally 第
29、四空: throws 3经过多次的上溯造型和下溯造型,当我们不能确定某个对象是不是某个类的对象时,可以使用运算符 来判断。 正确答案: 第一空: instanceof 4成员变量初始化的原则:byte,short,int,long,float,double数值类型默认初始化为 ,boolean类型初始化为 ,char类型初始化为' ',引用类型全部初始化为 。 正确答案: 第一空: 0 第二空: false 第三空: \0 第四空:null 5 本质上是一个比 更加抽象的类, 在接口中只
30、能定义 和 。 正确答案: 第一空: 接口;interface; 第二空: 抽象类;abstract class 第三空: 常量 第四空: 抽象方法 6关键字 修饰的方法为抽象方法(只有方法的定义,没有方法的实现)。含有抽象方法的类必须声明为 类。 正确答案: 第一空: abstract 第二空: 抽象 7关键字private 修饰的成员的可见范围: ,没有权限修饰符成员的可见范围: ,关键字protected修饰的成员的可见范围: ,关键字p
31、ublic修饰的成员的可见范围是所有包中所有类都可以访问。 正确答案: 第一空: 当前类 第二空: 当前包 第三空: 当前包和该类的子类 8 块指在类体中、方法外定义的语句块,当调用 实例化对象之前JVM会自动执行一次,用于 的初始化。调用一个类的构造方法,JVM会自动先调用 的构造方法。 正确答案: 第一空: 非静态语句 第二空: 构造方法 第三空: 对象 第四空: 父类 9final用在变量前面,该变量成为 ,只能赋值一次。final用在方法前面,该方法成为 ,
32、不能被子类的方法覆盖。final用在类前面,该类成为 ,只能实例化,不能被继承。 正确答案: 第一空: 常量;constant; 第二空: 最终方法;final方法;final method 第三空: 最终类;final 类;final class 10程序可能发生异常时,应该把不管异常发生与否都执行的代码放到 子句中。 正确答案: 第一空: finally 第五章 JDK常见类的使用 一. 1Java提供的与日期相关的类和接口主要有: (该类大部分构造方法和一般方法都已经不推荐使用)、 、GregorianC
33、alendar和DateFormat、 等。 正确答案: 第一空: Date 第二空: Calendar 第三空: SimpleDateFormat 2两种方法产生1-5的随机整数:int n= ;,另一种方法:Random rd=new Random();int m= ;。 正确答案: 第一空: intMath.random*5+1;intMath.random*5+1; 第二空: rd.nextInt(4)+1 3当定义
34、一个类时,没有用extends关键字显式指定继承的父类,则编译器自动加上 extends 。 正确答案: 第一空: Object;java.lang.Object 4引用类型数据的地址备份用 实现,引用类型数据(对象)的备份用Object类中的 ()方法实现。 正确答案: 第一空: 赋值;赋值语句;= 第二空: clone;克隆 5密码要求必须由数字或字母组成,长度是6-12,请写出密码的正则表达式: 。手机号以1开始,第2位为358中任意一位其它全部是数字,长度是11位,写
35、出手机号的正则表达式: 。 正确答案: 第一空: ^[\\da-zA-Z]{6,12} 第二空: 1[358]\\d{9} 6 代表标准输入设备, 代表标准输出设备, 代表标准出错设备。 正确答案: 第一空: System.in 第二空: System.out 第三空: System.err 7Java集合类主要包括 和 两大类。前者及其实现类主要用来盛放 ,而后者及其实现类用来盛放
36、 。 正确答案: 第一空: Collection 第二空: Map 第三空: Object;对象 第四空: Key-Value;键值对;key value 8工具类 与Arrays类相同,提供了操作 及其子类的工具方法,如排序、二分法查找、洗牌、反向排序、填充、复制等。 正确答案: 第一空: Collections 第二空: Collection 9接口List的主要实现类有: 、 和Vector等,接口Set的主要实现类有 、 和EnumSet等,接口M
37、ap的主要实现类有 、Hashtable和 。(并列填空请按字母顺序填写) 正确答案: 第一空: ArrayList 第二空: LinkedList 第三空: HashSet 第四空: TreeSet 第五空: HashMap 第六空: TreeMap 1int compareTo(T o)返回负整数、0、正整数,分别代表本对象 、 、 指定对象o。 我的答案: 第一空: 小于 第二空: 等于 第三空: 大于 2(错误)HashSeths=new HashSet();其中<<
38、 span="">……>代表Generic即 ,代表集合类的类型。 我的答案: 第一空: 通用 3覆盖父类Object中 ()方法以重新定义对象的输出信息。 我的答案: 第一空: toString 4(错误)通过实现java.lang. 接口中的compareTo方法,以重新定义对象的排序规则。 我的答案: 第一空: comparable 5(错误) 类相当于数学中的集合,用于存放对象,可以动态扩展,元素具有无序性和互异性。 我的答案: 第一空: TreeSet 6(半对半错)覆盖
39、父类Object中 ()和 (Object obj)方法,以重新定义对象是否相等的规则。 我的答案: 第一空: hashcode 第二空: equals 7 类相当于数学中的集合,用于存放对象,可以动态扩展,元素具有互异性,且以升序排列。 我的答案: 第一空: TreeSet 三. 1比较String的地址用 操作符,比较String的内容用public boolean (Object anObject)方法,比较两个String是否相同时忽略字母大小写用pu
40、blic boolean (String anotherString)。 我的答案: 第一空: == 第二空: equals 第三空: equalsIgnoreCase 2(半对半错)字符数组转换为String有两种方法: char[] ca={’a’, ’b’, ’c’}; Strings=new ; s=String. (ca); 我的答案: 第一空: String (ca) 第二空: toString 3(半对半错)将StringBuffer转换为String有两种方法:调用
41、 类的构造方法public String(StringBuffer buffer);用StringBuffer类中的方法public String ()。 我的答案: 第一空: String 第二空: StringBuffer 4经常进行增删改操作的字符串尽量采用 或StringBuilder类来代替字符串常量的 类,以提高程序运行效率。 我的答案: 第一空: StringBuffer 第二空: String 5(半对半错)补全代码:将"1212121212"中字符’1’全部替换为’壹’。 System.out
42、println("1212121212". ('1','壹')); System.out.println("smiles".substring(1, 5));控制台输出为 。 我的答案: 第一空: replace 第二空: iles 6补全代码: char[]ca={’a’, ’b’, ’c’}; Strings=new (ca); char[]ca1=s. (); 我的答案: 第一空: String 第二空: toCharArray 7publicboolean matches(S
43、tring regex),其中regex代表 。System.out.println("0123456789".matches("\\d{10}"));控制台输出为 。 System.out.println("012345ab89".matches("\\d{10}"));控制台输出为 。 System.out.println("012346".matches("\\d{10}"));控制台输出为 。 我的答案: 第一空: 正则表达式 第二空: true 第三空: false 第四空: fals
44、e 四. job5.2.1已完成 1将String转换为StringBuffer:调用 类的构造方法public StringBuffer (String str); 我的答案: 第一空: StringBuffer 2(错误)在StringBuffer类中, ()方法返回StringBuffer对象的实际字符个数, ()方法返回StringBuffer对象的当前最大字符容量。 我的答案: 第一空: public StringBuffer length 第二空: public StringBuffer capa
45、city 3System.out.println(newStringBuffer("123abc321").delete(3,6));控制台输出 。 System.out.println(newStringBuffer("123abc").insert(3,"邯郸"));控制台输出 。 System.out.println(newStringBuffer("123abc321").replace(3,6,"邯郸"));控制台输出 。 我的答案: 第一空: 123321 第二空: 123邯郸abc 第三空: 123邯郸3
46、21 第六章 Java IO技术 Job6.1已完成成绩: 80.0分 1 类是对文件和文件夹的一种抽象表示(引用或指针)。 正确答案: 第一空: File 2Java通过 类实现对象的序列化,通过 类实现对象的反序列化。 正确答案: 第一空: ObjectOutputStream 第二空: ObjectInStream 3 类支持“随机访问”方式,可以跳转到文件的任意位置处同时完成读和写基本数据类型的操作。 类直接从底层输入流读取Java的八种基本类型数据,
47、 类能够将Java基本类型数据写出到一个底层输出流。 正确答案: 第一空: RandomAccessFile 第二空: DataInputStream 第三空: DataOutputStream 4 负责把字节输入流转换为字符输入流, 负责把字节输出流转换为字符输出流。 正确答案: 第一空: InputStreamReader 第二空: OutputStreamWriter 5JDK中与输入输出相关的包和类都集中存放在 包中,其中最重要的5个类: 、
48、 、 、 和 。(按字母顺序) 正确答案: 第一空: java.io 第二空: File 第三空: InputStream 第四空: OutputStream 第五空: Reader 第六空: Writer 6只有实现Java.io. 接口的类的对象才能被序列化和反序列化。用关键字 修饰的对象变量将不会序列化。 正确答案: 第一空: Serializable 第二空: transient 7JDK1.4之前java.io包提供了基于字节流或字符流的
49、阻塞IO操作的API,简单易用但效率较低。从JDK1.4开始,Java开始提供新的I/O处理类库 它能提供基于缓冲区和块的非阻塞IO操作的API,效率很高,但编程实现比较复杂。 正确答案: 第一空: NIO 8 可以将多个输入流逻辑串联起来,成为一个独立的输入流,以方便进行统一的操作。 正确答案: 第一空: SequenceInputStream 9按Java的命名惯例,凡是以 结尾的类型为字节输入流,以 结尾的类型为字节输出流。凡是以 结尾的类均为字符输入流,以
50、 结尾的类均为字符输出流。 正确答案: 第一空: InputStream 第二空: OutputStream 第三空: Reader 第四空: Writer 10 是 软件基金会的开放源码程序库,它提供通过Java语言对Microsoft Office文件进行读写的API,支持Office97-2008文档格式。 正确答案: 第一空: POI 第二空: Apache 第八章 多线程技术 job8.1已完成成绩: 77.7分 1 接口中只有一个抽象方法:V call() throws Except






