文档库 最新最全的文档下载
当前位置:文档库 › JAVA 习题题目及答案

JAVA 习题题目及答案

JAVA 习题题目及答案
JAVA 习题题目及答案

第1章问答题及作业题

第1章问答题

1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?

2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?

3、Java程序的主类必须含有怎样的方法?

4、“Java应用程序必须含有一个类是public类”,这句话正确吗?

5、“Java Applet程序的主类必须是public类”,这句话正确吗?

6、请叙述Java源文件的命名规则。

7、源文件生成的字节码在运行时都加载到内存中吗?

8、怎样编写加载运行Java Applet的简单网页?

9、JDK1.6编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?

第1章作业题

1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。

2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。

第2章问答题及作业题

第2章问答题

1、什么是标识符?标识符的规则是什么?

2、什么是关键字?请说出5个关键字。

3、Java的基本数据类型是什么?

4、下列哪些语句是错误的?

int x=120;

byte b=120;

b=x;

5、下列哪些语句是错误的?

float x=12.0;

float y=12;

double d=12;

y=d;

6、下列两条语句的作用是等价的吗?

char x=97;

char x=?a?;

7、下列System.out.printf语句输出的结果是什么?

int a=97;

byte b1=(byte)128;

byte b2=(byte)-129;

System.out.printf(“%c,%d,%d”,a,b1,b2);

8、数组是基本数据类型吗?怎样获取一维数组的长度?

9、假设有两个int类型数组:

int[] a=new int[10];

int[] b=new int[8];

b=a;

a[0]=100;

b[0]的值一定是100吗?

10、下列两条语句的作用等价吗?

int[] a={1,2,3,4,5,6,7,8};

int[] a=new int[8];

}

第2章作业题

1.参照例2-1编写一个Java应用程序,输出俄文字母表。

2.参照例2-4编写一个Java应用程序,用户从键盘只能输入整数,程序输出这些整数的乘

积。

第3章问答题及作业题

第3章问答题

1、下列System.out.printf输出的结果是什么?

int a=100,x,y;

x=++a;

y=a--;

System.out.printf(“%d,%d,%d”,x,y,a);

2、下列哪些语句有错误?

int x=0;

x=5.0/2;

float y=12.5F;

y=5.0/2;

3、下列哪些语句有错误?

byte x=32;

char c=?a?;

int n=c-x;

c=c-x;

4、下列叙述正确的是()

A. 表达式“12+56>34”的值为true

B. 表达式“12+56||34”是非法表达式

C. 表达式“x+y=12”是非法的表达式

D. 表达式“12+56>34”的值是13

5、对于一个整数m, m<<1的结果一定是2m吗?

6、对于两个int类型变量

int m=120,n=240;

那么,m^m和m^n^m的结果分别是多少?

7、下列System.out.printf语句的输出结果是什么?int x=10,y=10,z=10;

if(x>9){

y=100;

z=200;

}

else

y=-100;

z=-200;

System.out.printf(“%d,%d,%d”,x,y,z);

8、下列for语句的输出结果是什么?

For(int i=1;i<=4;i++){

Switch(i){

case 1:System.out.printf(“%c”,?a?);

case 2:System.out.printf(“%c”,?b?);

break;

case 3:System.out.printf(“%c”,?c?);

case 4:System.out.pr intf(“%c”,?d?);

break;

}

}

9、下列System.out.printf 语句的输出结果是什么? char a[]={…a?,?b?,?c?,?d?,?e?}; for(int i=0;i

char c=a[i];

a[i]=a[a.length-(i+1)]; a[a.length-(i+1)]=c; }

System.out.printf(“%c%c%c%c%c”,a[0],a[1],a[2],a[3],a[4]);

10、下列System.out.printf 语句的输出结果是什么? int a[]={3,4,1,2,-6};

for(int i=0;i

for(int j=i+1;j

if(a[j]

int n=a[j];a[j]=a[i];a[i]=n; } } }

System.out.printf(“%d,%,d%d,%d,%d”,a[0],a[1],a[2],a[3],a[4]);

第3章 作业题

1.有一函数:

12 0-1 0-13 0x x y x x x -+

==??+>?

编写一个Java 应用程序,从键盘输入一个x 值,程序输出y 的值。

2.编写一个Java 应用程序,使用while 循环计算1~1000之间能被3和7同时整除的整数之和。

3.编写一个Java 应用程序,使用for 循环计算8+88+888+8888+88888+…的前10项之和。

4. 编写一个Java 应用程序,计算1-1/3+1/5-1/7+1/9-1/11+…的前10000项之和。

5. 编写一个Java 应用程序,计算1+2!+3!+4!+…从第10项到第20项之和。

第4章 问答题及作业题

第4章 问答题

1、在声明类时,类名应遵守哪些习惯?

2、类体内容有哪两种重要的成员?

3、实例方法可以操作类变量吗?类方法可以操作实例变量吗?

4、当类的字节码加载到内存时,类变量就一定分配了内存空间吗?

5、类的实例变量在什么时候会被封分配内存空间?

6、一个类的类变量被该类创建的所有对象共享吗?

7、不同对象的实例变量分配的内存空间地址一定不同吗?

8、什么叫方法重载?构造方法可以重载吗?

9、请阐述,为什么类方法不可以调用实例方法。

10、请阐述,为什么类方法不能操作实例成员变量。

11、实例方法可以用类名直接调用吗?

12、关键字this可以出现在构造方法中吗?可以出现在实例方法中吗?可以出现在类方法中吗?

13、源文件中声明编写的类一定在同一个包中吗?

14、“import java.awt.*;”和“import java.awt.Button”有什么不同?

15、程序中如果使用了“import java.util.*”,程序运行时,要加载java.util包中全部的类到内存中吗?

16、有几种访问权限修饰符?说出其中一种修饰符的作用?

17、怎样反编译一个类?

第4章作业题

1、编写一个类,该类创建的对象可以计算等差数列的和。

2、编写一个类,该类创建的对象可以输出英文字母表。

3、编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有刻画方程系数的3个成员变量以及计算实根的方法。要求:该类的所有对象共享常数项。

4、编写两个类,A和B,类A创建的对象可以计算两个正整数的最大公约数,类B创建的对象可以计算两个数的最小公倍数。要求:类B中有一个成员变量是用类A的声明对象。

5、编写使用了包语句的类,然后在应用程序中用import语句引入类,并用该类创建对象。

第5章问答题及作业题

第5章问答题

1、子类在什么情况下可以继承父类的友好成员?

2、子类通过怎样的办法可以隐藏继承的成员变量?

3、子类重写继承的方法的规则是什么?

4、子类的构造方法的第一条语句是什么?

5、子类对象一旦重写了继承的方法,就会隐藏继承的方法,是这样吗?

6、子类重写继承的方法时,可以降低方法的访问权限吗?

7、关键字super的用法?

8、假设父类有一个方法?

public double f(double x, double y){

return x+y;

}

是否允许子类再声明如下一个方法?

public float f(double x, double y){

return 23;

}

9、父类的final方法可以被子类重写吗?

10、什么类中可以有abstract(抽象)方法。

11、什么叫上转型对象?

12、什么叫接口会掉?

13、与类有关的匿名类一定是该类的一个子类吗?与接口有关的匿名类一定是实现该接口的一个类吗?

14、怎样声明一个泛型类?怎样评价SDK1.5新推出的泛型?

15、阅读下列程序,说出程序的输出结果。

class NegativeIntegerException extends Exception

{

String message;

public NegativeIntegerException()

{

message="方法的参数值不是正整数";

}

public String toString()

{

return message;

}

}

class MaxCommonDivisor

{

public int getMaxCommonDivisor(int a,int b) throws NegativeIntegerException

{

if(a<0||b<0)

throw new NegativeIntegerException();

int r=0;

if(b>a)

{

int t=a;a=b;b=t;

}

r=a%b;

while(r!=0)

{

a=b;

b=r;

r=a%b;

}

return b;

}

}

class MinCommonMultiple extends MaxCommonDivisor

{

public int getMinCommonMultiple(int a,int b) throws NegativeIntegerException {

if(a<0||b<0)

throw new NegativeIntegerException();

int y=0;

int x=getMaxCommonDivisor(a,b);

y=(a*b)/x;

return y;

}

}

public class Example

{

public static void main (String args[])

{

int maxCommonDivisor,minCommonMultiple;

MaxCommonDivisor max=new MaxCommonDivisor();

MinCommonMultiple min=new MinCommonMultiple();

try

{

maxCommonDivisor=max.getMaxCommonDivisor(18,12);

System.out.println("最大公约数:"+maxCommonDivisor);

minCommonMultiple=min.getMinCommonMultiple(18,12);

System.out.println("最小公倍数:"+minCommonMultiple);

maxCommonDivisor=max.getMaxCommonDivisor(-64,48);

System.out.println("最大公约数:"+maxCommonDivisor);

}

catch(NegativeIntegerException e)

{

System.out.println(e.toString());

}

}

}

第5章作业题

1、编写一个类,该类有一个方法

Public int f(int a, int b)

{

//要求该方法返回a和b的最大公约数}

然后编写一个该类的子类,要求子类重写方法f(),而且重写的方法将返回两个整数的最小公倍数。要求:在重写的方法体中首先调用被隐藏的方法返回a 和b的最大公约数m,然后将(a*b)/m返回;在应用的程序的主类中分别使用父类和子类创建对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数。

2、首先编写一个抽象类,要求该类有如下3个抽象方法:

public abstract void f(int x);

public abstract void g(int x, int y);

public abstract double h(double x);

然后分别给出该类的3个子类。要求:在应用程序的主类中使用这些子类创建对象,然后让它们的上传型调用方法:f(),g()和h()。

3、编写一个类,要求该类实现一个接口,该接口有如下3个抽象方法:

public abstract void f(int x);

public abstract void g(int x, int y);

public abstract double h(double x);

要求:在应用程序的主类中使用该类创建对象,并使用接口回调来调用方法:f(),g()和h()。

4、举例说明匿名类的用法。

5、编写一个异常类,并具体给出一个产生该异常的方法。在一个应用程序中测试该异常类。

第6章问答题及作业题

第6章问答题

1、对于字符串

String s1=new String(“ok”);

String s2=new String(“ok”);

说出下列表达式的值。

s1==s2

s1.equals(s2)

2、对于字符串

String s1=new String(“I love you zhht”);

String s2=s1.replaceAll(“love”,”hate”);

说出System.out.printf(“%s,%s”,s1,s2)的结果

3、Stirng类和StringBuffer类有何不同?

4、对于StirngBuffer串

StirngBuffer str=new StringBuffer(“abcdefg”);

str=str.delete(2,4);

说出System.out.println(str)的结果。

5、StringTokennizer类的主要用途是什么?该类有哪几个重要的方法?

6、下列System.out.printf语句的输出结构是什么?

String s=new String(“we,go,to,school”);

StringTokenizer token=new StingTokenizer(s,”,”);

String word=token.nextToken();

int n=token.countTokens();

System.out.printf(“%s,%d”,word,n);

7、请说明Matcher对象的find()方法和LookingAt()方法有什么不同?

8、正则表达式中的元字符[123]代表什么意思?

9、说明与模式”A[135]{2}”匹配的4个字符串。

10、下列哪些字符串匹配模式”boy\\w{3}”?

A. boy111

B. boy!@#

C. boyweo

D. boyboyboyboy

补充问答题:

1、子类在什么情况下可以继承父类的友好成员?

2、子类通过怎样的办法可以隐藏继承的成员变量?

3、子类重写继承的方法的规则是什么?

4、子类的构造方法的第一条语句是什么?

5、子类对象一旦重写了继承的方法,就会隐藏继承的方法,是这样吗?

6、子类重写继承的方法时,可以降低方法的访问权限吗?

7、关键字super的用法?

8、假设父类有一个方法?

public double f(double x, double y){

return x+y;

}

是否允许子类再声明如下一个方法?

public float f(double x, double y){

return 23;

}

9、父类的final方法可以被子类重写吗?

10、什么类中可以有abstract(抽象)方法。

11、什么叫上转型对象?

12、什么叫接口回调?

13、与类有关的匿名类一定是该类的一个子类吗?与接口有关的匿名类一定是实现该接口的一个类吗?

第6章作业题

1、编写一个应用程序,用户从键盘输入一行字符串,程序输出该字符串中与模式”[24680]A[1357]{2}”匹配的子字符串。

2、编写一个应用程序,用户从键盘输入一行含有数字字符的字符串,程序仅仅输入字符串中的全部数字字符。

第8章问答题及作业题

第8章问答题

1、线程和进程是什么关系?

2、线程有几种状态?

3、引起线程中断的常见原因是什么?

4、一个线程执行完run()方法后,进入了什么状态?该线程还能再调用start()方法吗?

5、线程处于什么状态时,调用isAlive()方法返回的值是false?

6、线程调用interrupt()的作用是什么?

7、将例8-9中Bank类中的saveOrTake()方法前的synchronized修饰去掉。然后重新编译、运行例8-9,注意观察运行结果。

8、wait()、notify()和notifyAll()的作用分别是什么?

9、将例子10中的TicketSeller类中出现的循环条件:

while(fiveNumber<1)

改写成:

if(fiveNumber<1)

是否合理,说明你的理由。

10、将例8-10中的TicketSeller类中出现的:

wait();

改写成:

thread.sleep(2000)

然后重新编译、运行例8-10,注意观察运行结果。

11、什么叫守护线程?

第8章作业题

1、上机调试例8-1,反复运行,观察每次运行的结果是否相同。

2、模仿例8-2,编写3个线程,分别在命令行窗口输出信息。

3、模仿例8-3,编写3个线程,使它们有更多的共享单元。

4、模仿例8-10,设计5个人排队买票,并规定买票规则和排队顺序。

第9章问答题及作业题

第9章问答题

1、如果准备读取一个文件的内容,应当使用FileInputStream流还是FileOutputStream流?

2、FileInputStream流的read()方法和FileReader()流的read()方法有何不同?

3、BufferedReader流能直接指向一个文件对象吗?

4、ByteArrayOutputStream流怎样获取缓冲区中的内容?

5、DataInputStream类和DataOutputStream类的主要用途是什么?

6、使用ObjecInputStream类和ObjectOutputStream类有哪些注意事项?

7、怎样使用输入/输入对流技术克隆对象?

8、使用RandomAccessFile类读写文件的好处是什么?

第9章作业题

1、编写一个应用程序,读取一个文本文件的内容。

2、编写一个应用程序,将用户从键盘输入的10行文字存入文件。

3、使用数组字符将俄文字母写入内存,然后再从内存读出。

4、编写一个应用程序,将用户从键盘输入的10个整数存入文件,然后顺序读出。

5、编写一个应用程序,要求将LinkedList创建的对象写入到文件,然后读出一个LinkedList对象,并遍历LinkedList节点中的数据。

6、使用RandomAccessFile流将一个文本文件倒置读出。

JAVA题目附答案

JA V A 题目 1. 若有以下代码: int x=5,y=6; If(x++>=y && x >++y) { } 则执行后,X和y的值分别是() A. 5 6 B. 6 6 C. 6 7 D. 7 7 2.字节型数据的取值范围是: A) -128 ~ 127 B) -28 -1 ~ 28 C) -255 ~ 256 D) 取决于具体的Java虚拟机 4. class Excise { public void method() { byte a = 127; int x = ++a; int y = a + 1; "x=" + x + " y=" + y); } } class TestExcise{ public static void main(String args[]) { Excise o = new Excise (); (); } } A) 输出:x=128 y=128 B) 输出:x=128 y=129 C) 输出:x=-128 y=128 D) 输出:x=-128 y=-127 5. 写出下面代码段的运行结果(A) boolean flag = false; if (flag = true) { "true"); } else { "false"); } A) true B) false C) 出错 D) 没有信息输出 6. 执行下面代码会输出什么内容() Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(true); Object obj1 = (Object)b1; Object obj2 = (Object)b2; if (obj1 == obj2) if (obj2)) "a"); else "b");

Java语言练习题库(含答案)

单选题 1. 为了保证方法的线程安全,声明方法的时候必须用哪个修饰符? (A) new (B) transient (C) void (D) synchronized 2. 编译Java源文件使用哪个? (A) javac (B) jdb (C) javadoc (D) junit 3. 哪一种类的对象中包含有Internet地址。 (A) Applet (B) Datagramsocket (C) InetAddress (D) AppletContext 4. 有关GUI容器叙述,不正确的是? (A) 容器是一种特殊的组件,它可用来放置其它组件 (B) 容器是组成GUI所必需的元素 (C) 容器是一种特殊的组件,它可被放置在其它容器中

(D) 容器是一种特殊的组件,它可被放置在任何组件中 5. 使用javadoc生成的文档的文件格式是? (A) XML格式 (B) 自定义格式 (C) 二进制格式 (D) HTML格式 6. 下列有关类、对象和实例的叙述,正确的是哪一项? (A) 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 (B) 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 (C) 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 (D) 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 7. 在事件委托类的继承体系中,最高层次的类是哪项? (A) java.util.EventListener (B) java.util.EventObject (C) java.awt.AWTEvent (D) java.awt.event.AWTEvent 8. Java语言中异常的分类是哪项? (A) 运行时异常和异常 (B) 受检异常和非受检异常

Java语言程序设计课后习题答案

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; }

java100道选择题含答案

1. 下列不可作为java语言标识符的是(D) A) a1 B) $1 C) _1 D) 11 2. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3. 整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5. 在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6. 在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用 10. 以下声明合法的是( D ) A、default String s; B、public final static native int w( )

java习题及答案第1章 习题参考答案

第1章习题解答 1.Java语言有那些特点? 答:Java语言的特点包括:平台无关性、面向对象、简单性、安全性、分布式、健壮性、解释型、多线程。 2.为什么说Java是结构中立的,具有跨平台特性? 答:无论哪种编程语言编写的程序最终都需要操作系统和处理器来完成程序的运行,平台无关性是指软件的运行不因操作系统、处理器的变化导致程序无法运行或出现运行错误。 以C++程序为例,C++编译器针对源程序所在平台进行编译、连接,然后生成机器指令,这样就无法保证C++编译器产生的可执行文件在所有平台上都被正确执行。如果更换了平台,可能需要修改源程序,并针对新的平台重新编译源程序。 相反,Java源代码不会针对一个特定平台进行编译,而是生成一种字节码中间文件(class 文件),这种文件是平台无关且体系结构中立的。也就是说,无论一个Java程序是在Windows、Solaris、Linux还是其他具有Java编译器的操作系统下编译,作为编译结果的字节码文件都是相同的,都可以在任何具有Java虚拟机(JVM)的计算机上运行。JVM能够识别这些字节码文件,JVM将字节码文件进行转换,使之能够在不同平台上运行。任何操作系统只要安装了JVM,就可以解释并执行这种与体系结构无关的字节码文件,实现了跨平台。 跨平台特性保证了Java的可移植性,任何Java源程序都可以移植到其他平台上。除此之外,Java的数据类型与机器无关,原始数据类型存储方式是固定的,避开了移植时可能产生的问题。例如,在任何机器上,Java的整型都是32位的,而C++中整型的存储依赖于目标计算机。另外Java的字符串采用标准的Unicode格式保存,也保证了Java的可移植性。 3.简述Java的3种主要平台,这些适合开发那种应用? 答:Java的开发平台(JDK)是开发人员用来构建Java应用程序的软件包,它包括:Java 虚拟机(JVM)、Java编译器(javac)、Java归档(jar)实用程序、Java文档(javadoc)实用程序等。目前,Java的运行平台主要分为下列3个版本。 (1)Java标准版 Java标准版即Java SE,曾被称为J2SE。Java SE提供了标准的JDK开发平台,利用该平台可以开发桌面应用程序、低端的服务器应用程序以及Java Applet程序。学习Java应当从Java SE开始,本书主要介绍Java SE。

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

JAVA题目附答案

JA V A 题目 1.若有以下代码: int x=5,y=6; If(x++>=y && x >++y) { } 则执行后,X和y的值分别是() A. 5 6 B. 6 6 C. 6 7 D. 7 7 2.字节型数据的取值围是: A) -128 ~ 127 B) -28 -1 ~ 28 C) -255 ~ 256 D) 取决于具体的Java虚拟机 4. class Excise { public void method() { byte a = 127; int x = ++a; int y = a + 1; System.out.println("x=" + x + " y=" + y); } } class TestExcise{ public static void main(String args[]) { Excise o = new Excise (); o.method(); } } A) 输出:x=128 y=128 B) 输出:x=128 y=129 C) 输出:x=-128 y=128 D) 输出:x=-128 y=-127 5.写出下面代码段的运行结果(A) boolean flag = false; if (flag = true) { System.out.println("true"); } else { System.out.println("false"); } A) true B) false C) 出错 D) 没有信息输出 6.执行下面代码会输出什么容?() Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(true); Object obj1 = (Object)b1; Object obj2 = (Object)b2; if (obj1 == obj2) if (obj1.equals(obj2)) System.out.println("a"); else System.out.println("b");

Java练习题及答案

Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5

int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name

java习题及答案第8章 习题参考答案

第8章图形用户界面编程 8.1 什么是组件?什么是容器?并说明各自的作用。 答:从实现角度来看,组件(Component)是构成GUI 的基本要素,作用是通过对不同事件的响应来完成和用户的交互或组件之间的交互;容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等,作用就是放置组件并控制组件位置。 8.2 叙述AWT和Swing组件的关系,指出Swing组件的优点。 答:Swing是在AWT基础上扩展而来的,提供了非常丰富的组件,远远多于AWT,并且引入了新的概念和性能,这使得基于Swing开发GUI应用程序比直接使用AWT开发更为灵活、方便、效率高,而且能设计出更优美的、感受更好的GUI。Swing是由javax.swing包提供的,主要包括两种类型的组件:顶层容器和轻量级组件。它们都以“J”开头。 8.3 总结JFrame的使用要点,并说明如何实现窗体的正常退出。 答:JFrame类包含很多设置窗体的方法,可以用setTitle(String title)方法设置窗体标题,用setBounds(int x,int y,int width,int height)方法设置窗体显示的位置及大小,用setVisable(Boolean b)方法设置可见与否(默认不可见)。此外,向JFrame添加组件有两种方式:调用getContentPane()方法获得内容面板,而后向其中添加组件,或者创建一个中间容器并将组件添加其中,而后用setContentPane()方法把该中间容器设置为JFrame的内容面板。由于JFrame对象的关闭按钮的默认动作只是将窗体隐藏,所以为了正确关闭窗体,应通过setDefaultCloseOperation(int operation)方法设置关闭按钮的动作。 8.4 总结常用Swing组件使用特点。 答:常用Swing组件使用时,首先要创建对应组件的对象,并放置在容器中,一般来说可用setText(String t)设置其的文本信息,setFont(Font font):设置文本的字体及大小,对于列表类组件还可以用AddItem()等方法加入选项,用getSelectedIndices()以int[]形式获得被选中的所有选项的索引值,具体使用方法可参照例8.6。 8.5 查阅资料,简述三个菜单类组件之间的关系,并编写一个带有文件菜单的GUI程序。 答:菜单相关的类主要有菜单栏类JMenuBar、菜单类JMenu和菜单项类MenuItem,此外,还有单选菜单项类JRadioButtonMenuItem和复选菜单项类JCheckBoxMenuItem以及弹出式菜单类JPopupMenu等。前三者的关系是菜单放置在菜单栏上,菜单由若干个菜单项组成。 提示:带有文件菜单的GUI程序核心代码如下:

java期末选择试题及答案大全

一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B )。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A) 0 B) 1 C) 2 D) 3 2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。 A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C )。 A)interface B) package C) extends D) class 6.若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后,ch1 的值是( B )。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B 8.下列语句序列执行后,i 的值是( D )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 9.下列语句序列执行后,k 的值是( C )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 10.下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 11.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y C) z > ( y + x ) D) x < y & ! ( x < z ) 12.下列语句序列执行后,i的值是( D )。 int i=16; do { i/=2; } while( i > 3 ); A) 16 B) 8 C) 4 D) 2 13.以下由 for 语句构成的循环执行的次数是( B )。 for ( int i = 0; true ; i++) ; A) 有语法错,不能执行 B) 无限次 C) 执行1次 D) 一次也不执行 14.定义类头时能使用的修饰符是(C )。 A) private B) static C) abstract D) protected 15.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值, 正确的switch语句是D )。 A) switch (x + y) B) switch ( ch + 1 ) { ...... } { ...... } C) switch ch D) switch ( a + b );

JAVA试题集锦(含答案)

JAVA习题锦集(含答案) 一、判断题 1.(×)接口和类一样也可以有继承关系,而且都只能支持单继承 2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数 3.(×)A subclass inherits all methods ( including the constructor ) from the superclass 4.(×)Java中所有的类都是https://www.wendangku.net/doc/0113503923.html,ng的子类 5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址 6.(×)abstract方法不一定要声明在abstract类中 7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误 8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号 9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目 10.(×)最终方法只能存在于最终类中 二、单选题 1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B (A)安全性(B)多线性(C)跨平台(D)可移植 2、下列选项中不是JAVA语言特点的是()D (A)面向对象(B)平台无关(C)安全性高(D)单线程 3、异常包含下列那些内容?()D (A)程序中的语法错误(B)程序的编译错误 (C)程序执行过程中遇到的事先没有预料到的情况 (D)程序事先定义好的可能出现的意外情况 4、JAVA语言中的语句是以()为结尾的。B

Java复习题及答案

一、判断题(每题1分,共15分) 1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。( 1 ) 2、接口和类一样也可以有继承关系,而且都只能支持单继承。(0 ) 3、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。(0 ) 4、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。(0 ) 5、Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。( 1 ) 6、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。(0 ) 7、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。( 1 ) 8、我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号。 ( 1 ) 9、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(0 ) 10、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(0 ) 11、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。 (1 ) 12、如果f是父类Flower的对象,而r是子类Rose的对象,则语句f=r是正确的。(1 ) 13、Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。 (1 ) 14、final类中的属性和方法都必须被final修饰符修饰。(0) 15、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。(0 ) 二、单项选择题(每题2分,共30分) 1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( c )。 A、本地方法 B、解态方法 C、最终方法 D、抽象方法 2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( b )。 A、p ublic static void main() B、public static void main(String[ ] args) C、public static int main(String[ ] args) D、p ublic void main(String arg[ ]) 3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。

java程序设计第1-4章练习题参考答案 (1)

一、选择题 1.下面供选字符序列中,不属于 ...Java语言关键字的是( A ) A.goto B.null C.false D.native 2.以下是关于Java语言关键字的叙述,其中正确的是( C ) A.关键字可以用来描述类的成员类型,但是不能描述普通变量 B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成 C.关键字不可以用作变量、方法、类或标号的标识符 D.break和main都是Java语言的关键字 3.下述字符组合不能作为Java程序标识符的是(D) A.Aa12 B.X C.y D.5x 4.在下述字符串中,不属于 ...Java语言关键字的是( C ) A.float B.new C.java D.return 5.下列字符组合不能作为Java整型常量的是( A ) A.078 B.0x3ACB C.5000 D.0x3ABC 6.设有如下程序: public class Test { public static void main(String[] args) { String foo=args[1];

String bar=args[2]; String baz=args[3]; System.out.println("baz= "+baz); } } 下述哪一行命令可以使得执行该程序的输出为baz= 2 ( C ) A) java Test 2222 B) java Test 1 2 3 4 C) java Test 4 2 4 2 D) java Test 4 3 2 1 7.在Java语言中,int类型数据的长度是( C ) A.1个字节 B.2个字节 C.4个字节 D.8个字节 8. 用Java虚拟机执行类名为Hello的应用程序的正确命令是( D )。 A) java Hello.class B) Hello.class C) java Hello.java D) java Hello 9.执行以下代码,输出结果是( B ) int x=5,y=7,u=9,v=6; System.out.println(x>y ? x+2:u>v ? u-3:v+2); A.8 B.6 C.7 D.true 10.下列修饰符中与访问控制无关的是(C)。 A) public B) protected C) final D) private

Java试题及答案

一、单项选择填空(每小题2分,共50分) 1.下列不属于main方法的修饰词的是() A.public B.void C.static D.final 2.Java源程序经过编译后的文件类型是() A.字节码文件 B.可执行文件C.目标文件D.中间文件 3.下列关于运算符的结合性说法正确的是() A.算术运算符和条件运算符都是左结合(即从左至右)算术不一定++ 的前缀和后缀不一样 B.单目运算符是左结合C.关系运算符是左结合 D.赋值运算符是左结合 4.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?() A.继承性B.抽象性C.封装性D.多态性 5.下面哪个是合法的布尔值() A.”false”B.false C.0 D.f 6.下面哪个是Java语言中的关键字?() A.sizeof B.abstract C.InstanceOf D.Native 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?() A.do-while循环B.for循环C.while循环D.以上都不是 8.以下哪个选项用以确定字符串的长度?() A.size B.length C.max_value D.length() 9.下面的语句哪个是正确的?() A.char=?abc?; B.long l=0xfff; C.float f=0.23 需加上f; D.double=0.7e-3; 10.下列哪个类的声明是错误的?() A.final abstract class A B.final class A C.protected class A D.public class A 11.下面程序段的执行结果是什么?() public class Foo{ public static void main(String[] args){ try{ return;} finally{System.out.println(“Finally!”);} }} A.程序正常运行,但不输出任何结果B.程序正常运行,并输出 Finally C.编译能通过,但运行时会出现例外D.因为没有catch语句块,所 以不能通过编译 12.设a=0,b=-3,则表达式(a>=1)&&++a<=12?b:a的结果为() A.1 B.2 C.0 D.-3 13.Java语言中,下列常量中是字符型常量的为() A.?\0xFFFF?B.?\u?C.?\\?转义字符D.”ABC” 14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____ 个比特位。()若是字节就是2个

JAVA试题及答案(精致)

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、J AVA2 Card C、J AVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是( A ) A、JAVA程序的main方法必须写在类里面 B、J AVA程序中可以有多个main方法 C、J AVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括 号)括起来 3、变量命名规范说法正确的是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字;

4、下列javaDoc注释正确的是(C) A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、b oolean a = (9 >= 10); C、b oolean a="真"; D、boolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、v oid D、de$f 7、表达式(11+3*8)/4%3的值是( D ) A、31 B、0 C、1

D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、b Equal = str.equals("q"); D、count = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int a;

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

精选-java基础习题及答案

程序设计—基础篇习题 1.作图. 2. 输出101--500之间的所有奇数,奇数之和. 3. 输出100--200间不能被3整除的数. 4. 输入初值 ,输出100个不能被3整除的数. 5. 求S=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值. 6. 设S=1*2*3*...*n,求S不大于400000时的最大n. 7. 设S=11*22*33*...*n n,求S不大于400000时的最大n. 8. 找出1~1000间的全部”同构数”.如果一个数出现在其平方数右端,则称此数为同构数,如1在12=1的右端,5在52=25的右端,25在252=625的右端等. 9. 百鸡问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?” 10.利用一维数组,统计一个班学生0-9,10-19,..90-99及100各分数段的人数.

11.插入法排序.排序方法: 设有10个数存放在数组A中,分别用A[1],A[2],..,A[10]表示. 先将A[1]与A[2]比较,若A[2]j) System.out.print(" "); else if(i<=j&&j-i<=7) System.out.print("*"); } System.out.println(); } } } (2) public class Ex1_2 { public static void main(String[] args){ for(int i=1;i<=5;i++) { for(int j=1;j<=16;j++) { if(i>j) System.out.print(" ");

相关文档