《java程序设计》复习题
第一部分选择题(单选)
1.
javac 是 java的(B)
A.解释器
B.编译器
C.小程序浏览器
D.调试器
2.
appletviewer是java的(C)
A.解释器
B.编译器
C.小程序浏览器
D.调试器
3.
编译一个定义了三个类和三个方法的 java源码文件,总共会产生几个字节码文件,其扩展名是什么?(C)
A.5个字节码文件,其扩展名是“.java”
B.2个字节码文件,其扩展名是“.java”
C.3个字节码文件,其扩展名是“.class”
D.2个字节码文件,其扩展名是“.class”
4.
java源码文件的名称与主类的名称(B)
A.必须相同但不区分大小写
B.必须相同且区分大小写
C.必须不同
D.任意
5.
下面那些选项不能用做变量名的首字符(C)
A.字母
B.下划线(_)
C.数字
D.美元符号($)
6.
下面哪个不是java的原始数据类型?(B)
A.short
B.boolean
C.Int
D.Float
7.下面哪条语句不会出现编译警告或错误?(A)
A.float f=1.3F;
B.chat c =”a”;
C.float f=;
D.boolean d=null;
8.
以下声明常量不正确的是(B)
A.final int PI=3;
B.final PI=3;
C.static final int PI=3:
D.public static final int PI=3;
9.
java定义了4个整型数据类型:字节性(byte)短整型(short) 整型(int)长整型(long),其中byte占用内存为(A)
A.8bit
B.16bit
C.32 bit
D.64bit
10.
5%的值是(D)
A.1
B.0
C.
D.不能通过编译
11.
-11&3的值是(A)
A.1
B.3
C.9
D.–11
12.
8<<2的值是(A)
A.2
B.4
C.8
D.32
13
若有int a = 1, b= 2 , c = 3, d=4; 则表达式a>b?a:c>d?c:d的值是(D)
A.1
B.2
C.3
D.4
14.
以下为合法类型转换的为(D)
A.( int )”A”
B.(char)”A”
C.(boolean)(2-2)
D.(char) (651/12)
15
下面哪条语句是正确的?(C)
A.int a={1,2,3,4,5,};
B.int b=(1,2,3,4,5)
C.int c[]={1,2,3,4,5}
D.int []d={1,2,3,4,5}
16.
对于数组int a[];下面那条语句可以输出数据a的元素个数?D
可以用作switch表达式的基本数据类型分别是(B)
A.boolean
B.byte
C.float
D.double
18.
下面的while语句退出时.i的值是(D)
byte b=1;
int i = 0 ;
while(b++>0)
i=i+1;
A.126
B.0
C.127
D.出现死循环,i的值无穷大
19.
设文件内容如下:
class J_Hello{
static void main(String args[]){
下面说法正确的是(D)
无法通过编译
可以通过编译,但运行时出现“Main method not public”提示信息可以通过编译,但无法运行,且无任何提示信息
可以通过编译,可以正常运行,输出“Hello!”
20
下面哪个类声明是正确的(D)
A.abstract final class car{}
B.abstract private car(){}
C.protected private car{}
D.public abstract class car{};
21.
下列(C)的说法是错误的。
A.Java 语言只允许单一继承
B.Java语言允许多个接口
C.Java语言不允许一个类派生多个子类
D.Java语言的单一继承使得代码更加可靠
22.
下述(A)说法是正确的
A.实例变量是类的成员变量
B.实例变量是用static关键字声明的
C.方法变量在方法执行时创建
D.方法变量在使用之前不用初始化
23.
使用继承的优点(A)
A. 基类的大部分功能可以通过继承关系自动进入派生类
B.继承将基类的实现细节暴露给派生类
C. 基类实现出现问题,、就会影响到派生类
D.可在运行期决定是否选择继承代码,有足够的灵活性
24.
下列关于修饰符混用的说法,错误的是(A)
A.abstract 不能与final并列修饰同一个类
B.abstract 类中不能有private的成员
C.abstract 方法必须在abstract类中
D.static方法中能处理非static的属性
25
对于下列代码:
public class Parent
{public int addValue(int a, int b)
{
int s;
s=a+b;
return s;}
}A
class Child extends Parent{…..}
Child类中欲把Parent类中的addValue方法覆盖,下述什么方法可以加入类Child中?A
A.private int addValue(int a,int b){….}
B.public float addValue(int a,int b){….}
C.public int addValue(int a,int b){….}
D.public int addValue(int a,int b)throws MyException{….}
26 声明成员变量为临时变量(又称为过渡变量)所用的保留字是(C)
A.final
B.abstract
C.transient
D.temp
27.
声明公共变量所用的保留字是(A)
A.public
B.private
C.protectede
D.static
28
声明受保护变量所用的保留字是(C)
A.public
B.private
C.protected
D.static
29
设有下面的程序段
1.class StaticStuff
2.{
3.static int x=10;
4.static {x+=5;}
5.public static void main(String args[])
6.{
7. {x/=3;}
8.}
哪个说明是正确的()
A.4行和9行不能通过编译,因为缺少方法名和返回类型
B.9行不能通过编译,因为只能有一个静态初始化器
C.编译通过,执行结果为:x=5;
D.编译通过,执行结果为:x=3;
30
对于下述类定义哪个说法正确?(A)
class MyString extends String{…..}
A.可以成功编译
B.无法编译,因为没有main方法
C.无法编译,因为String 是抽象类
D.无法编译,因为String是final类
31
不能在Java派生类中被覆盖的方法是(C)
A.构造函数
B.动态方法
C.final方法
D.抽象方法
32
关于方法覆盖,下面哪个说法是错误的(A)
A.方法覆盖可以发生在任意类之间
B.覆盖方法与被覆盖的方法返回值类型相同
C.如果被覆盖的方法是用public 修饰的,覆盖方法也必须用public 修饰D.覆盖方法不能抛出比被覆盖的方法更多的异常
33
下面哪个方法声明是正确的?B
A.abstract final String abc(){}
B.public abstract abc(){}
C.private static void abc(){}
D.public abstract static void abc(){}
34
编译以下代码,将出现什么情况?()
abstract class Shape{
abstract void draw();
}
class Square extends Shape{}
A.Square类和Shape类都可以成功编译
B.Square类无法编译,但Shape可以编译
C.Shape类无法编译,但Square可以编译
D.Square类和Shape类都无法编译
35
关于Java的垃圾回收机制,下面那些结论是正确的?()
A.程序可以任意指定释放内存的时间
B.正确的程序写法是不能依赖垃圾回收的时间或者顺序的
C.程序不能标识某个局部变量的引用不再被使用
D.程序可以显示地立即释放对象占有的内存
36
要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包内的其他类访问到,下面那些设计可以满足上述要求?()A.该成员域的封装属性设置为public
B.该成员域的封装属性设置为private
C.该成员域的封装属性设置为 protected
D.该成员域不需要特殊的封装属性
37
接口的实现所用的关键字是()
A.interface
B.implements
C.extends
D.throws
38
在编写异常处理的 Java 程序中,每个catch语句块应该与什么语句块对应?
A.if-else
B.switch
C.try
D.throw
39
在编写Java Application程序时,若需要使用到标准输入、输出语句,必须在程序的开头写上什么语句?
A.import .*;
B.import .*;
import 下面哪个类最适合处理大数据量的文本文件?
以下什么类不属于字符流类?
A.Reader
B.FileReader
C.BufferedInputStream
D.StringReader
42
在设计java的数据流操作的程序中,必须加入什么语句?
A.import .*;
B.import .*;
C.import .*;
D.import 以下哪个可能包含菜单条?
A.Panel
B.Frame
C.Applet
D.Dialog
44
以下代码完成画线功能,指出所画线的颜色
类的什么方法实现线程的暂时停止操作?
A.destroy()
B.stop()
C.sleep()
D.suspend()
46
处理线程间通信等待和通知的方法是?()
A.wait()和notify()
B.start()和stop()
C.run()和stop()
D.wait()和 suspend()
47
在java中,开发图形用户界面的程序需要使用系统提供的类库,这个类库是()A.
B.
C.
D.
`48
applet 所在的页面被浏览和加载后,applet就诞生了,当浏览器切换到别的页面时,它的什么方法被调用?()
A.init
B.start
C.stop
D.destroy
49标签组件由什么类生成()
A.Label
B.Button
C.Choice
D.Checkbox
50
画矩形,使用什么方法?
A.drawLing(x1,y1,x2,y2)]
B.drawRect(x1,y1,w,h)
C.drawOval(x1,y1,w,h)
D.drawString(s,x1,y1)
第二部分填空题
1.sun公司提供的Java开发工具包,用于台式机的开发工具包是__________
2.Java程序可分为两种基本类型,它们是__________和__________
3.Java虚拟机运行Java程序的基本步骤是:首先从后缀为__________的文件加载代码到
内存中,接着在内存中__________代码的合法性及__________,然后__________执行安全和合法的代码
4.Java标识符是由__________、__________、__________组成的字符序列
5.Java字符(char)采用的是ISO规定的__________字符集
6.int类型数据在内存中占__________个二进制位
7.在Java语言中,字符串直接量是用__________括起来的字符序列
8.字符串不是字符数组,而是类__________的实例对象
9.在类中声明的变量叫__________,可在__________中使用
10.在方法和方法块中声明的变量叫__________,其使用范围是__________
11.byte或short或int类型数据与long类型数据混合运算时,其结果是__________类型
12.设x=2,则表达式(x++)/3的值是__________
13.设x=5,y=10,则表达式x>y&&x++=y--的值是__________
14.设有运算符!=、*、&&、>+、?:按优先级从高到低的排列顺序是__________
15.表达式(3<5)^(6<4)的值是__________
16.表达式(byte)(1200)的值是__________
17.数组对象的长度在数组对象创建后,就__________改变
18.已知数组a的定义是“int a[]={1,2,3,4,5};”则这时a[2]的值是__________
19.如有声明float a[][]=new float[3][4];则系统为该数组分配__________个字节的空间
20.对于数组int [][]t={(1,2,3,4),(5,6,7,8)};等于__________,t[0].length等于
__________
21.swith语句中的case后面的常量可以是__________类型和__________类型
22.若有byte b=1;int I=0;while(++b>0) I=I+1;则while退出时I的值为__________
23.面向对象的计算机语言一般应有3个基本特征,分别是__________、__________、
__________。
24.如果一个Java Applet源程序文件只定义有一个类,其类名为MyApplet,则类MyApplet
必须是__________类的子类
25.一个复杂的系统往往包含多个对象,这些对象间可能存在的关系有三种,它们是
__________、__________、__________
26.__________方法是一种仅有方法头,没有具体方法体个操作实现的方法,该方法必须在
抽象类中定义
27.__________方法是不能被当前类的子类重新定义的
28.Java语言通过__________机制简化了程序的内存管理。
29.在Java中有两种多态,一种是使用方法的__________实现多态,另一种是使用方法的
__________实现多态。
30.被protected修饰的变量称为__________,可被__________访问。
31.抽象方法是指__________的方法,抽象方法只能出现在__________中
32.在JAVA类的层次结构中,最顶端的类是__________,它在__________中定义,是所有
类的始祖。
33.不能覆盖父类中的__________方法和__________方法。
34.创建子类对象实例时,系统可以自动调用父类的__________构造方法,初始化
__________的数据。
35.对于父类中的构造方法,系统不能自动调用它们,只能通过在子类构造方法中使用关键
字__________调用,其调用语句位置必须是__________
36.创建一个名为MyPackage的语句是__________,该语句应该放在程序的位置为:
__________
37.Java提供的异常处理机制包括两个过程__________和__________
38.在Java程序中,通过接口的定义可以实现__________重继承关系
39.顺序执行以下两条语句的输出结果是:______
String s=”沈阳市”;
40.字符串分为两大类,一是字符串常量,使用__________类的对象表示;另一类是字符串
变量,使用__________类的对象表示。
41.创建一个标识有“关闭”按钮的语句是__________
42.Java的组件主要是在__________和__________中
43.线程创建后,可以在任何时刻调用__________、方法改变线程的优先级
44.调用__________方法可以停止线程的运行
45.Applet所在的页面被浏览和加载后,Applet就诞生了。当浏览器切换到别的页面时,
它的__________方法被调用
46.标签组件由__________类生成。
47.画矩形的方法是__________
48.关键字synchronized的作用是_________________________
49.当线程对象被调度执行时自动调用__________方法
50.当线程对象被调度执行时自动调用__________方法
第三部分回答问题
1、上机编译编写的源程序,使用什么命令进行编译?源程序文件的扩展名是什么?
Java编译器产生的文件扩展名是什么?
2、上机解释执行编译好的程序,使用什么命令进行解释?Java解释器解释的文件的扩
展名是什么?
3、简述Java语言的主要特点。
4、Java应用程序和Java小应用程序有何区别?
5、Java能跨操作系统平台运行的原理是什么
6、简述Java程序的框架结构
7、float和double型数据在赋值时有哪些注意事项?
8、float和double型数据在赋值时有哪些注意事项?
9、Java为什么把字符串定义为类?为什么定义了两个字符串类?
10、静态变量有何特点?如何存取静态变量?
11、静态方法有何特点?静态方法存取成员变量时有何要求?
12、什么是抽象类,抽象方法?他们有何特点?
13、类与对象有何关系?如何创建对象?
14、什么是类变量、成员变量、实例变量、局部变量?
15、什么是类的多态性?何为隐藏、覆盖、重载?
16、this和super有什么作用?
17、什么是构造方法?构造方法有何特点和作用?
18、设Object类派生出G类,G类派生出F类,F类派生出ME类
问:
①构造器的调用顺序是什么?
②如果父类的构造器重载了,可通过什么方法调用父类中某个指定的构造器?
③如果子类自己的构造器重载了,可通过什么方法在一个构造其中调用另一个构
造器?
19、什么是标准输入输出方法?什么是标准输入输出设备?标准输入方法read在
使用中应注意什么?它输入的数据是什么类型?
20、包有什么作用?Java系统提供了哪些常用包?如何使用包?
21、接口有什么作用?接口有哪些性质?
22、什么是异常?为什么进行异常处理?如何创建一个自定义异常?如何抛出自
定义异常?
23、试述Java Applet的工作原理,其生命周期是如何划分的?
24、如何从HTML文件中向Applet传递参数?这些参数是如何被接收和处理的?
25、什么是Java数据流?
第四部分写出下面程序的运行结果或完成的功能(以下各程序请自己商机通过,得出结果。)1.
public class sum{
public static void main(String args[]){
double sum=;
for(int I=1;I<=100;I++)
sum+=(double)I
}
}
2.
public class J_Test{
int i =1,x=2;
switch(x){
case 1: i ++;
case 2: i --;
case 3: ++ i;break;
case 4:-- i;}
}
3.
classQ1{
public static void main(String args[]){
double d=;
Dec dec = new Dec();
(d);
}
}
class Dec{
public void decrement(double decMe){
decMe=decMe-1;
}
}
4.
使用命令java abc Good Moning运行下面程序:问输出什么?Public class abc{
Public static void main(String args[]){
Charger c=new Charger();
(args);
”+arg[1]);
}
}
class Charger{
void method(String[] s){
String temp=s[0];
s[0]=s[1];
s[1]=temp;
}
}
5.
设有如下程序:
public class J_Test9{
int sum=0;
for(int I=1;I<12;I++){
for(int j=1;j<4;j++){
sum+=j;
if(I+j>s) break a;}
}
}
}
6.
class J_Base
{
public void mb__method()
{
}
}
class J_Test15 extends J_Base
{
public void mb_method()
{
}
public static void main(String args[]) {
Object a=new J_Test15();
((J_Base)a).mb_method();
}
}
7.
public class J_Test16
{
static int m_data=0;
public int mb_method()
{
m_data++;
return m_data;
}
public static void main(String args[]) {
J_Test16 a=new J_Test16();
J_Test16 b=new J_Test16();
J_Test16 c=new J_Test16();
();
();
();
int I=();
public class J_Test17
{
int m_I=2;
String m_s=null;
J_Test17()
{
m_I=2;
m_s=”record”;
}
public static void main(String args[])
{
J_Test17 app=new J_Test17();
}
}
9.
public class abc{
public static void main(String args[]){ SubClass sb=new SubClass();
}
}
class SubClass extends SuperClass{
int max(){return((a>b)?a:b);
}
}
10.
class J_Base{
public int m_data=6;
public void mb_print()
{
}
}
class J_SubClass extends J_Base{
public int m_data=3;
public void mb_print();
{
}
}
class J_Test{
public static void main(String args[]){
J_Base app=new J_SubClass();
();
}
}
11.
class Parent{
void printMe()
{ Child extends Parent{
void printAll()
{
();
();
printMe();
}
}
12.
import .*;
public class St{
public static void main(String args[]){ String forwards=new String(“I love fava”);
String backwards=””;
lastCharPos=()-1);
Int i;
for(I=lastCharPos;I>=0;I++)
backwards+=(i);
J_Base{
public int m_data=1;
public String mb_method()
{return “2”;}
}
class J_Test extends J_Base{
public int m_data=3;
public String mb_method(){return “4”;}
public static void main(String args[]){
J_Base app=new J_Test(); }
14.
public class H1{
static int c;
int a,b;
public static void main(String[] s) {
int a=1,b=2,c=3;
H1 h1=new H1();
H1 h2=new H1();
=4;
=5;
}
15.
abstract class V1{
abstract int abc();
}
class E1 extends V1{
int abc() {
return 1;
}
}
class H1{
public static void main (String[] s){ E1 e1=new E1();
H2{
void ex(int[] y){
for(int I=0;I<;I++)
y[i]=y[i]+1;
}
}
class H1{
public static void main(String[] s){ int[] x={1,2,3,4};
for(int I=0;I<;I++)
“);
H2 h=new H2;
(x);
for(int I=0;I<;I++)
”);
}
}
17.
class V1{
int a=1;
}
class E1 extends V1{
int b=2,c;
void m1(){
c=a+b;
}
class H1{
public static void main(String[] s) { =new E1 ();
();
}
}
18.
class V1{
int a=1;
}
class E1 extends V1{
int a=30,b=20,c;
void m1() {
c=a+b;
H1{
public static void main(String[] s) { E1 e1=new E1();
();
}
}
19.
class V1{
int a=1;
void m1 () {
2” }
}
class H1{
public static void main(String[] s) { =new E1();
();
();
}
}
20.
class V1{
V1 () {
1” }
}
class V2 extends V1 {
2” }
}
class V3 extends V2 {
V3 () {
3” }
}
class H1 {
public static void main(String[] s) {
V3 e1=new V3 ();
}
}
第五部分程序设计
1.
编写一个字符界面的java Application程序,输出1~9中除6以外所有偶数的平方值(即2、4、8的平方值)。
注:要求使用循环
2.
编写一个字符界面的java Application程序,使用你熟悉的方法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。
3.
编写一个字符界面的java Application程序,输出所有的水仙花数。
注:水仙花数是一个3位数,它的各位数字的立方和等于这个3位数自身,如:153=12+53+33 则153是水仙花数。
4.
编写一个字符界面的java Application程序,输出Fibonacci序列的前20项。
注:Fibonaci序列定义如下:
第1个数为0
第2个数为1
从第3个数开始,每个数是前两个数之和。
如:0 1 1 2 3 5 8 13……
5.
设有如下类定义:
public class Array{
static int a[]=new int[5];
int n=5;
①添加构造方法。对数组元素初始化
②设计一个对数组a中各元素求和的方法sum,添加到类Array中
6.
创建一个Fraction类执行分数运算,要求如下:
①用整型数表示类的private成员变量:f1和f2。
②提供构造方法,将分子存入f1,分母存入f2。
③提供两个分数相加的运算方法,结果的分子存入f1,结果的分母存入f2。
④编写主控程序,实现分数相加运算。
7.
设类Rectangle定义如下:
public class Rectangle{
static int width,height;
}
在类Rectangle中添加两个方法,方法girth计算矩形周长,方法计算矩形area面积。
8.
编写一个日期类Date,要求:
①日期类Date属性有:
year (int 型,代表年)、month (int 型代表月)、day (int 型,代表日)
②日期类 Date 的方法有:
Date():构造函数,日期默认初值为2000年1月1日。
Date(int y,int m,int d);构造函数 y、m、d 分别代表年,月,日。
Int Getyear():获取日期的年份作为方法的返回值。
Int GetMonth():获取日期的月份作为方法的返回值。
Int GetDay ():获取日期的日作为方法的返回值。
Void ShowDate();以”****年**月**日”的形式显示一个日期,如:2001年8月13日。
9.
编写程序,完成文件复制功能。
10.
设计一个Applet小程序,使其可以进行简单的加法运算。
Java程序设计练习题 一、选择题 1、为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件( A ) A)分开B)结合 C)联系D)融合 2、Java语言与C++语言相比,最突出的特点是( C ) A)面向对象B)高性能 C)跨平台D)有类库 3、下列Java源程序结构中前三种语句的次序,正确的是(D) A)import,package,public class B)import必为首,其他不限 C)public class,package,import D),import,public class 4、在JDK目录中,Java程序运行环境的根目录是( A ) A)bin B)demo C)lib D)jre 5、下列运算符中属于关系运算符的是(A ) A)== B).= C)+= D)-= 6、下列布尔变量定义中,正确并且规范的是( B ) A)BOOLEAN canceled=false; B)boolean canceled=false; C)boolean CANCELED=false; D)boolean canceled=FALSE; 7、下列关键字中可以表示常量的是( A ) A)final B)default C)private D)transient 8、下列运算符中,优先级最高的是( A ) A)++ B)+ C)* D)> 9、Java中的基本数据类型int在不同的操作系统平台的字长是( B ) A)不同的B)32位 C)64位D)16位
10、给一个short类型变量赋值的范围是( C ) A)-128 至 +127 B)-2147483648至 +2147483647 C)-32768至 +32767 D)-1000至 +1000 11、下列运算中属于跳转语句的是( D ) A)try B)catch C)finally D)break 12、switch语句中表达式(expression)的值不允许用的类型是( C ) A)byte B)int C)boolean D)char 13、下列语句中,可以作为无限循环语句的是( A ) A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false) 14、下列语句中执行跳转功能的语句是( C ) A)for语句B)while语句 C)continue语句D)switch语句 15、下列表达式中,类型可以作为int型的是( C ) A)“abc”+”efg”B)“abc”+’efg’ C)‘a’+’b’D)3+”4” 17、数组中各个元素的数据类型是( A ) A)相同的B)不同的 C)部分相同的D)任意的 18、在Java语言中,被成为内存分配的运算符是( A ) A)new B)instance of C)[] D)() 19、接口中,除了抽象方法之外,还可以含有( B ) A)变量B)常量 C)成员方法D)构造方法 20、下列能表示字符串s1长度的是( A ) A)s1.length()B)s1.length C)s1.size D)s1.size() 21、StringBuffer类字符串对象的长度是( C ) A)固定B)必须小于16个字符 C)可变D)必须大于16个字符 22、构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。( A ) A)类名B)对象名 C)包名D)变量名 23、子类继承了父类的方法和状态,在子类中可以进行的操作是( D ) A)更换父类方法B)减少父类方法 C)减少父类变量D)添加方法 24、String、StingBuffer都是______类,都不能被继承。( C )
全国2012年1月高等教育自学考试 Java语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共l0分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下面供选字符序列中,不属于 ...Java语言关键字的是( ) A.inner B.throw C.false D.throws 2.表达式“-1>>>1”的十进制值是( ) A.-2 B.231-1 C.-(231-1) D.232-1 3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.子类必须实现父类未实现的方法 B.没有具体实现代码 C.必须要有实例 D.不能被继承 4.表达式"java程序设计".1ength()的值是( ) A. 0 B.12 C. 8 D.13 5.以下关于BorderLayout布局的叙述中,不正确 ...的是( ) A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域 C.是框架窗口的默认布局 D.一个位置可直接放多个组件 6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( ) A.accept()和getSelectedFile() B.accept()和getDescription() C.accept()和setDescription() D.setDescription()和getDescription() 7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( ) A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 浙04747# Java语言程序设计(一)试卷第1页(共12页)
《Java语言程序设计基础教程》练习思考题参考答案
第1章 Java程序设计概述 练习思考题 1、 Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、 Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、 public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法它有那些基本特征 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用 答:类成员的访问控制符有 public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作; (6)构造方法不能在程序中显式的调用; (7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。 9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法 答: 用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。 10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean). 声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient的例子: Atient april=new Patient(); (“zhangli”) (‘f’);; (330; ; (true); 那么:”+()); ”+()); ”+()); (“weught: ”+());\ ”+()); 声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。 答: public class Patient { private String name; private char sex; private int age; private float weight; private boolean allergies; public void setname(String a) { name=a; } public void setsex(char b) { sex=b; }
“Java程序设计基础”课程习题 一、填空 1.Java程序分两类___Applet___和application,Java Application 类型的程序,程序从 ___main方法___开始执行。 2.定义一个Java类时,通过关键字__extends____指明该类的父类。一个类可以有___1___ 个父类。 3.用public修饰的类称为_公有类或公用类__。用public修饰的类成员称为公有成员。被 说明为public的内容可以被__所有其他类___ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。 4.用___private___ 修饰的类成员称为私有成员。私有成员只能在__本类__ 中使用。 5.如果子类定义的成员变量与父类的成员变量同名,称为___方法覆盖___ ,要表明使用 子类的成员变量,可以在成员变量前加上关键字__super___ 。 6.____Object__ 类是Java类库中所有类的父类。 7.Java字符使用__16位的字符集,该字符集成为__Unicode____ 。 8.当子类中定义的方法与父类方法同名时,称子类方法___覆盖___ 父类方法,子类默认 使用自己的方法。使用父类的同名方法,必须用关键字__super__ 说明。 9.Java源程序文件名的后缀是___.java___,Java字节码文件名的后缀是_.class_____。 10.Java类名的第一个字母通常要求___大写___。 11.Java程序由____类__组成,每个程序有一个主类,Java程序文件名应与____主__类的 名称相同。 12.Java__Application_类型的程序需要main()方法,程序从__main____开始执行。 13.布尔型数据类型的关键字是_boolean__ ,占用位数是___1位___ ,有__true__ 和_false_ 两种值。整型数可以采用_十_ 、__八_ 和__十六_三种进制表示。 14.八进制整数以数字__0_开头。十六进制整数以_0x或0X_ 开头。 15.int整型数占用__32位内存。long整型数占用__64 位内存。 16.127L表示__长整型____ 常量。 17.根据占用内存长度将浮点常量分为_double_____ 和__float____ 两种。 18.单精度浮点常量占用__32_ 位内存,双精度浮点常量占用__64 位内存。 19.在Java语言中,字符串“ABC\tD\b\n”中包括__7个字符。 20.数学关系4
Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。
习题 1 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件 2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。 3)使用java解释器(java.exe)来解释执行字节码文件。 3.D:\JDK 1) 设置path 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。 2) 设置classpath 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。 4.(B)javac 5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class” 6.Java应用程序主类的main申明(D)public static void main(String args[])
J a v a程序设计总复习题 1、编写一个Java程序,用if-else语句判断某年份是否为闰年。(分支) // Programme Name LeapYear.java public class LeapYear{ public static void main(String args[]){ int year=2010; if(args.length!=0) year=Integer.parseInt(args[0]); if((year%4==0 && year%100!=0)||(year%400==0)) 年是闰年。"); else 年不是闰年。"); } }//if-else语句 2、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。(循 环) // programme name ForTest.java public class ForTest { public static void main( String args[] ) { int i,j,mul,sum=0; for(i=1;i<=10;i++) { mul=1; for(j=1,j<=i;j++) { mul=mul*j; } sum=sum+mul; } “1!+2!+3!+……+10!= ”+sum); } } 3、依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格) 并计算人数(switch) 4、使用冒泡排序(数组) public class BubbleSort { public static void main(String[] args) {
Java程序设计基础课后习题参考答案 第2章 1、关于Java Application得入口方法main()得检验: main()方法得参数名就是否可以改变? main()方法得参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗? 参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? bytei =127; bytej = 128; longl1 = 999999; long l2= 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 =3、5; float f2 = 3.5f; 参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1)4+5 == 6*2 ?(2) (4=5)/6?? (3)9%2*7/3>17(4)(4+5)<=6/3 ? (5) 4+5%3!=7-2????(6)4+5/6〉=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得. 7、下列()就是合法得Java标识符。 (1)Counter1 ??(2)$index, (3) name-7 ??(4)_byte
参考答案 第1章 3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用? 一台计算机由硬件和软件组成。一台典型的计算机由五大部分组成。这五大部分是:运算器,控制器,存储器,输入设备和输出设备。 运算器是执行算术运算和逻辑运算的部件。 控制器是向计算机其他部分发送命令的部件。 存储器是计算机用来存储数据、信息的部件。 输入设备就是外界向计算机输入信息设备。 输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。 9、将以下十进制数转换为对应的二进制数 (1)32 (2)97 (3)256 (4)500 (1)100000 (2)1100001 (3)100000000 (4)111110100 第2章 1.Java语言有哪些主要特点。 平台独立性 安全性 多线程 网络化 面向对象 3.Java Application的开发步骤有哪些。 Java Application的开发步骤: (1)下载JDK软件并安装; (2)配置相应的环境变量(path和classpath); (3)编写Java源程序(文本编辑器或集成开发环境IDE); (4)编译Java源程序,得到字节码文件(javac *.java); (5)执行字节码文件(java 字节码文件名)。
4.什么是环境变量,设置环境变量的主要目的是什么。 环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。 第3章 1.Java语言对于合法标识符的规定是什么?指出以下哪些为合法标识符。 a a2 3a *a _a $a int a% 在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个数不做限定。 合法的标识符: a a2 _a $a 5.数据类型强制转换的原则是什么?如何转换? 对于变窄转换,如long到short、double到float,或者不兼容转换:float到short、char 到short等,则需要进行强制转换。 float f = 11.5; short b ; b = (short)f; (强制转换) 第4章 5.用穷举法求出3位数中百、十、个位数的立方和就是该数的数。 public class Test { public static void main(String[] args) { int a,b,c,x=100; while(x<1000){ a=x%10; b=(x%100-a)/10; c=(x-x%100)/100; if(a*a*a+b*b*b+c*c*c==x) System.out.println(x); x+=1;
习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; =str2); ; public class Exercise51{ public static void main(String[] args) throws IOException{ "请输入一个整数:"); InputStreamReader isStream=new InputStreamReader; BufferedReader bfReader=new BufferedReader(isStream); String input=(); int length=()-1; int n=new Integer(input).intValue(); while(length>=0){ int divisor=(int) (10,length); length=length-1; int output=n/divisor; n=n%divisor; ","); } } } 法二:(建议使用) public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; thousand=n/1000%10; hundred=n/100%10; decimal=n/10%10; unit=n%10; "1678包含的数字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } ;
第1章 Web应用开发简介 习题答案 1.Web在组成上包括______和______两部分。 答案: 服务器 客户端 2.谈谈对面向对象的认识。 答案: 面向对象将将要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙解决问题中的各个步骤中的行为。面向对象编程方式是建立在面向过程编程方式基础上,其最重要的改变在于面向对象编程中,程序将围绕被操作的对象来设计,而不是操作本身。面向对象编程方式以类作为构造程序的基本单位,具有封装、抽象、继承、多态性等特点。 3.介绍几种常用的框架技术。 答案: Java中常用的框架。 1.Struts Struts是Apache 基金会Jakarta 项目组的一个开源项目,是一个基于Sun J2EE平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。 2.WebWork WebWork是由OpenSymphony组织开发的,是一个基于Web的MVC框架。它在运行时通过Interceptor(拦截器)自动应用,因此脱离了Action类。 3.Struts 2 Struts 2是Apache基金会的一个开源项目,它建立在Struts框架与WebWork框架基础之上,继承了二者的优点,是目前非常流行的一个Web框架。 4.Spring Spring是一个以IoC和AOP为核心的轻量级容器框架。它提供了一系列的Java EE开发解决方案,包括表示层的Spring MVC、持久层的Spring JDBC以及业务层事务管理等众
多的企业级应用技术。 5.Hibernate Hibernate是一个ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装。通过使用Hibernate框架,开发人员能够以面向对象的思维方式来操作数据库。 6.Ibatis 相对于Hibernate而言,Ibatis是一个“半自动化”的ORM实现框架,它主要致力于POJO与SQL之间的映射关系,是对“全自动化”ORM框架的一种有益补充。 7.EasyJWeb EasyJWeb是一个核心基于模板技术实现的MVC框架,主要致力于Java Web应用程序的快速开发。 4.IDE的用途是什么? 答案: IDE是一种用于辅助开发人员开发应用程序的应用软件,它一般包括代码编辑器、编译器、调试器和图形用户界面工具,有的还包括版本控制系统、性能分析器等更多工具,因此IDE也就具有了编写、编译、调试等多种功能。正是基于这些功能,使用IDE能够减少项目的开发周期,减轻程序员的工作量,提高应用程序的开发效率等。 5.Web应用服务器的用途是什么? Web应用服务器是为创建、部署、运行以及管理Web应用提供多种运行时服务(如事务、安全等等)的分布式系统,它是应用程序运行的一个基本环境。
《JA V A程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A)。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A)。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:( D) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于for循环和while循环的说法哪个正确?( B) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空
习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。 习题2参考答案 1.Java语言包含哪些数据类型? 答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。 2.Java有多少关键字? 答:abstract, continue, for, new, switch,boolean, default, goto*, null, synchronized,break, do, if, package, this,byte, double, implements, private, threadsafe,byvalve*, else, import, protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final,
2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5 4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展 B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( ) 方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {
第1章JAVA简介 一、判断题 1.√ 2.√ 3.? 4.? 5.? 6.√ 7.√ 8.√ 9.? 10.? 二、填空题 1.Application Applet 2. 类(字节码文件、目标文件) .class 3.对象 4. 主 5. J2SE J2EE J2ME 三、选择题 1.B 2. D 3.B 4.B 5. A 四、简答题 1.参考答案 Java语言是简单的、面向对象的、分布式的、健壮的、安全的、体系结构中立的、可 移植的、编译解释型的、高性能的、多线程的、动态的等等。 2.参考答案 Java程序执行的具体过程如图1所示。 图1 Java程序的运行机制 3.参考答案 Java程序在计算机在执行要经历以下几个阶段: (1)使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境 (JCreater、Eclipse、MyEclipse等)编辑Java源文件,其文件扩展名为.java。 (2)通过编译使.java的文件生成一个同名的.class文件。 (3)通过解释方式将.class的字节码文件转变为由0和1组成的二进制指令执行。 在以上阶段中可以看出Java程序的执行包括了编译和解释两种方式。 第2章Java 语法基础 一、判断题
1. ? 2.√ 3. ? 4.? 5.? 二、填空题 1.10 2. 单精度双精度 3. n%13 !=0?false:true 4.接口 5. false 三、选择题 1.D 2. C 3.D 4.A 5. C 第3章程序流程控制 一、判断题 1.错误 2.? 3.? 4.? 5.√ 二、填空题 1.循环 2. if 3.case switch 4. while do-while 5. continue 三、选择题 1.D 2. C 3.C 4.B 5. C 第4章数组 一、判断题 1. ? 2. √ 3. √ 4. √ 5.? 二、填空题 1.类型 2. new 3.长度 4. 分配空间 5. 3 6 9 三、选择题 1.D 2. A 3.C 4.B 5. B 第5章类和对象 一、判断题 1.√ 2.√ 3.? 4.? 5.√ 6.? 7.√ 8.? 9.? 10.√ 11.√ 12.√ 13.? 14.? 15. ? 二、填空题 1.public default 2. class 属性方法 3.public static void main(String args[]){} 4. new