文档库 最新最全的文档下载
当前位置:文档库 › JAVA习题集(含答案)

JAVA习题集(含答案)

JAVA习题集(含答案)
JAVA习题集(含答案)

JAVA习题集(含答案)

习题一:

1.简述Java的发展过程。

2.什么是软件?

3.什么叫做源程序?

4.什么叫做编译?

5.什么是Java 的byte-codes?它的最大好处是什么?

6.机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?7.Java程序可分为哪两种?分别如何运行?

8.试简述J2SE、J2ME与J2EE的简单区别。

9.练习使用浏览器查看Java API文档。

10.SDK的编译命令是什么?

11.试修改例1-1程序,使其输出的字符串为“I’d like to study Java !”,并在DOS命令行环境下编译与运行该程序。

习题一参考答案:

1.答:

1991:Sun Microsystems公司进军消费电子产品(IA)市场。

1991.4:Sun 成立“Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak。

1992.10:Green小组升格为First Person公司,他们将Oak的技术转移到Web上,并把Oak改名为Java。

1993~1994:Web在Internet上开始流行,致使Java得以迅速发展并获得成功。

1995.5:Sun Microsystems公司正式发表Java与HotJava产品。

1995.10:Netscape与Sun Microsystems合作,在Netscape Nevigator中支持Java。

1995.12:微软(Microsoft)IE加入支持Java的行列。

1996.2:Java Beta测试版结束,Java 1.0版正式诞生。

1997.2:Java发展至1.1版。Java的第一个开发包JDK(Java Development Kit)发布。

1999.7:Java升级至1.2版。

2000.9:Java升级至1.3版。

2001.7:Java升级至1.4版。

2.答:软件可以理解为程序的另一种名称。

3.答:直接使用高级语言书写的程序代码称为源程序

4.答:把用高级语言编写的源程序翻译成可执行(目标)程序的过程称为编译。

5.答:Java源程序经Java的编译器编译过后产生的程序称为Java 的byte-codes。它的最大好处是可以实现跨平台运行。

6.答:机器语言程序是可以让计算机直接运行的程序;高级语言程序是必需经过编译或解释才可以让计算机运行的程序,并且程序的运行依赖于该语言的语言处理系统;可表示成Java字节码的程序必需经过编译产生Java字节码程序,Java字节码程序可以实现跨平台运行。

7.答:Java程序分为:Java Application(Java应用程序)与应用在www上的Java applet (Java小应用程序)。Java Application可以在Java平台上独立运行,以main() Method 作为程序入口,由Java解释器加载执行。而Java applet则是内嵌在Html文件中,必须搭配浏览器来运行,它没有程序入口。

8.答:J2ME(Java 2 Micro Edition):用于嵌入式Java消费电子平台。不论是无线通讯、手机、PDA等小型电子装置都可采用其作为开发工具及应用平台。J2SE[Java 2

(Software Development Kit)Standard Edition]:是Java最通行的版本,是用于工作站、PC机的Java标准平台。J2EE(Java 2 Enterprise Edition):可扩展的企业应用Java 2平台,它提供了企业e-Business架构及Web Services服务。

9.答:略

10.答:javac

11.答:修改程序如下:

public class BegintoLearn

{

public static void main(String args[])

{

System.out.println("I’d like to study Java ! ");

}

}

程序运行部分略。

习题二

1.下面哪些是合法的常量

(1) 2M (2) 4 (3) 8I (4) 6.5 (5) ch3

(6) 5.6E03 (7) \t (8) –90 (9) 012 (10) 0x14

2.int、char、float和double类型的变量各占有多少个字节?试写出它们各自的取值范围。3.下列符号那些可以作为Java的变量名?

(1) 3a (2) main (3) KFC (4) ch.s (5) File (6) a*b (7) m_n

(8) new (9) nn2 (10) -x (11) _y (12) exp (13) ha? (14) m&m

(15) j,k (16)p:q

4.什么叫做变量的作用域?

5.试写出下列Java表达式的运算结果:

(1) 15+4*5-12

(2) (18-4)/7+6

(3) 2>=5

(4) 6<=6

(5) 5>2 && 8<8 &&23<36

(6) 56/9+3.6

(7) 48%9+5*5-4

(8) 9-7<0 || 11>8

(9) (3>2) ? 8 : 9

(10) 9= =8 && 3<7

6.假设int m=2,float n=0.1f,经过下列表达式的运算后,m、n各为什么值?

(1) m=9/8;

(2) m=45%8+4*5-4;

(3) m=36+36*2%m--;

(4) m*=5/m-1;

(5) n-=5*3.1;

7.编写一程序,利用System.out.println()方法分别输出下列语句的执行结果:

(1) 将变量m的初值赋值为10,变量n的初值赋值为5。

(2) 变量m的值加3,n的值加5。

(3) 求m和n的平均值,并将该值赋于变量p。

(4) 将m的平方乘以n的平方并赋值给变量q。

请注意各变量定义时所应该使用的数据类型。

8.已知圆球体积公式为,编写一程序,设计一个求圆球体积的方法,并在主程序中调用它,求出当r=3时,圆球的体积值。

习题二参考答案:

1.答:

(1) 不合法(2) 合法(3) 不合法(4) 合法(5) 不合法

(6)合法(7) 合法(8) 合法(9) 合法(10) 合法

2.答:

变量类型内存中所占字节数取值范围

int 4 -231~ (231-1)

float 4 3.4e-038 ~ 3.4e+038

double 8 1.7e-308 ~1.7e+308

char 2 0 ~ 65535。

3.下列符号那些可以作为Java的变量名?

(1) 不合法(2)合法(3)合法(4) 不合法(5)合法(6) 不合法

(7) 合法(8). 不合法(9)合法(10). 不合法(11)合法(12)合法

(13) 不合法(14) 不合法(15) 不合法(16) 不合法

4.答:变量的作用域指的是可以访问这一变量的程序代码的范围。

5.答:

(1) 23

(2) 8

(3) false

(4) true

(5) false

(6) 9.6

(7) 24

(8) true

(9) 8

(10)false

6.答:

(1) 1;

(2) 21;

(3) 45;

(4) –45;

(5) –15.4;

7.答:程序如下:

public class ProNum

{

public static void main(String args[])

{

float p;

long q;

int m=10,n=5;

System.out.println("m="+m+" n="+n);

m=m+3;n=n+5;

System.out.println("m="+m+" n="+n);

p=(float)(m+n)/2;

System.out.println("p="+p);

q=(m*m*n*n);

System.out.println("q="+q);

}

}

8.答:程序如下:

class Sphere {

int r;

double v;

public void CalVolume() {

v=3.14*r*r*r*4/3;

}

public void display() {

System.out.println("V="+v);

}

}

class SphereClass

{

public static void main(String args[]) {

Sphere s = new Sphere();

s.r = 3;

s.CalVolume();

s.display();

}

}

习题三

1.什么是结构化程序设计?

2.使用if语句与使用条件运算符“?:”有什么不同?

3.使用for循环与while循环的条件有什么不同?

4.简述break语句与continue的区别?

5.编写程序:由键盘输入两个字符串“12”与“24”,将它们转换成整数,然后计算并输出这两个数的和。

6.编写程序:由键盘输入给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’和’D’,90分以上为’A’,75~89为’B’,60~74为’C’,60分以下为’D’。

7.编一程序,求一个10项所组成的等差数列,其奇数项之和为135,偶数项之和为150。8.用for语句输出下列数字金字塔:

1

1 3 1

1 3 5 3 1

1 3 5 7 5 3 1

1 3 5 7 9 7 5 3 1

9.编写程序:由键盘输入一正整数,求出小于且等于这个数的所有质数。

10.编写程序:由键盘输入一整数,求出该数所有的因子,如输入6,则输出的6的所有因子为1、2、3、6。

11.假设有一条钢材长2000米,每天截取其中的一半,编一程序求出多少天后,钢材的长度开始短于5米?

12.编写程序:利用数列来取得的近似值。并计算在得到3.14159之前,这个数列要取到第几项?

13.使用java.long.Math类,生成10个0~99之间的随机整数,求出它们中的最大值和最小值。

提示:java.long.Math类支持random方法:Math. Random( )。该方法返回值是正数,类型为double,范围为0~1。如果要得到其它范围的数,则要进行相应的转换。例如要得到(a,b)之间的整数的方法是:(int) ((b-a+1)*Math.random()+a)。若要得到(0,99)之间的整数可以使用下列语句:

int m = (int) (100*Math.random());

14.编写程序:声明一数组来存放12个月的英文名称,由用户从键盘输入月份,如输入8,则程序输出相应的月份名称:August。同时请大家考虑若是用户输入了1~12以外的内容,你的程序将如何应对?

15.编写程序:由键盘输入一16位的长整数,统计0~9这十个数字每一个出现的次数。

16.编写程序:将两个各有6个整数的数组,合并成一个由小至大排列的数组(该数组的长度为12)。

17.编写程序:以递归的方式实现1+2+3+……+n(n = 200)的计算。

习题三参考答案:

1.答:具有顺序结构流程、选择结构流程以及循环结构流程这三种结构的程序设计技术称为结构化程序设计。

2.答:条件运算符“?:”只是if语句的一种最简单的形式,而if语句则具有更强的功能,它除了“?:”所表示的单分支结构外,还具有双分支结构以及多分支结构等。3.答:for语句往往在已知循环次数的前提下使用,在循环次数未知时则需使用while语句进行循环。

4.答:在循环语句被执行时若遇到break语句则强行结束本轮循环,而遇到continue语句时将不在执行该语句下面的本次循环的语句,回到循环开始处继续执行下一次循环。5.答:程序如下:

import java.io.*;

public class InNum

{

public static void main(String args[]) throws IOException

{

int num1,num2;

String str;

BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Input first integer:");

str=buf.readLine();

num1=Integer.parseInt(str);

System.out.print("Input second integer:");

str=buf.readLine();

num2=Integer.parseInt(str);

System.out.println("The sum is "+(num1+num2));

}

6.答:程序如下:

import java.io.*;

public class Grade

{

public static void main(String args[]) throws IOException

{

int score;

char ch;

String str;

BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Input the score(0-100):");

str=buf.readLine();

score=Integer.parseInt(str);

if (score>=90)

ch='A';

else if (score>=75)

ch='B';

else if (score>=60)

ch='C';

else

ch='D';

System.out.print("The Grade is "+ch);

}

}

7.答:程序如下:

public class ShuLie

public static void main(String args[])

{

int a ,q ,n;

q=(150-135)/5;

a=(135-20*q)/5;

for (n=0;n<10;n++)

System.out.print((a+n*q)+" ");

}

}

8.答:程序如下:

public class Pyramid

{

public static void main(String args[])

{

int i,j,k;

for(i=0;i<=4;i++)

{ for ( j=0;j<20-i;j++)

System.out.print(" ");

for (k=0;k<=2*i;k++)

if (k<=i)

System.out.print(" "+(2*k+1));

else

System.out.print(" "+(2*(2*i-k)+1));

System.out.println();

}

}

}

9.答:程序如下:

import java.io.*;

public class PrimeNumber{

public static void main(String args[]) throws IOException

int n=0;

int m;

String str;

BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Input the m:");

str=buf.readLine();

m=Integer.parseInt(str);

outer:for(int i=3;i<=m;i+=2){ //outer loop

for(int j=2;j

if(i%j==0)

continue outer;

}

System.out.print(" "+i);

n++; //outputanewline

if(n==10) //after10numbers

{ System.out.println();

n=0;

}

}

System.out.println();

}

}

10.答:程序如下:

import java.io.*;

public class Factor12{

public static void main(String args[]) throws IOException

{

int m;

String str;

BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Input the m:");

str=buf.readLine();

m=Integer.parseInt(str);

System.out.print(m+"\'s factors are: ");

System.out.println( );

for(int i=1;i<=m;i++)

if (m%i==0)

System.out.print(" "+i);

}

}

11.答:程序如下:

public class MSteel{

public static void main(String args[])

{

int d=0;

float m=2000;

while (m>=5)

{ m=m/2;

d++;

System.out.print(d+": ");

System.out.println(m);

}

System.out.print("You need "+d+" days");

}

}

12.程序如下:

public class AlmostPi{

public static void main(String args[])

{

int n;

long m;

double s,t;

n=1;

m=0;

s=0;

do

{ t=(double)n/(2*m+1);

m++;

n=-n;

s=s+t;

} while (4*s-3.14159> 0.0000001 || 4*s-3.14159< -0.0000001);

System.out.println(m);

}

}

13.答:程序如下:

public class LSRnd{

public static void main(String args[])

{

int mun,n,max1,min1;

max1=0;

min1=100;

for (n=1;n<=10;n++)

{ mun=(int)(100*Math.random());

System.out.print(mun+" ");

if (mun>max1)

max1=mun;

if (mun

min1=mun;

}

System.out.println();

System.out.println("The largest number is: "+max1);

System.out.println("The smallest number is: "+min1);

}

}

14.答:程序如下:

import java.io.*;

public class StrArry

{

public static void main(String args[]) throws IOException

{

int m;

String str;

String

month[]={"January","February","March","April","May","June","July","August","september"

,"October","November","December"};

BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Input the m:");

str=buf.readLine();

m=Integer.parseInt(str);

if (m>=1 && m<=12)

System.out.println(month[m-1]);

else

System.out.print("Your Input is wrong");

}

}

15.答:程序如下:

import java.io.*;

public class StatNum

{

public static void main(String args[]) throws IOException

{

int m;

char s;

String str;

int a[]=new int[10];

BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Input the long number:");

str=buf.readLine();

for (int i=0;i<=15;i++)

{ s=str.charAt(i);

m=(int)s-48; // 字符数据转换为整型数据时转换的是其Unicoad代码。

a[m]=a[m]+1;

}

for (m=0;m<10;m++)

System.out.println(m+": "+a[m]);

}

}

16.答:程序如下:

import java.io.*;

public class SortArray

{

public static void main(String args[]) throws IOException

{

int m,n,k;

int aa[]=new int[6];

int bb[]=new int[6];

int cc[]=new int[12];

for (int i=0;i<6;i++) //利用产生随机数的方式为数组赋值。

{ m=(int)(100*Math.random());

aa[i]=m;

n=(int)(100*Math.random());

bb[i]=n;

System.out.println(aa[i]+" "+bb[i]);

}

for (int i=0;i<6;i++) //先将两个数组进行排序

for (int j=i;j<6;j++)

{ if (aa[i]>aa[j])

{int t=aa[i];aa[i]=aa[j];aa[j]=t;}

if (bb[i]>bb[j])

{int t=bb[i];bb[i]=bb[j];bb[j]=t;}

}

m=0; //用合并法将两个有序数组排序并合并n=0;

k=0;

while (m<6 &&n<6)

{ if (aa[m]<=bb[n])

{ cc[k]=aa[m];m++;}

else

{cc[k]=bb[n];n++;}

k++;

}

while (m<6)

{cc[k]=aa[m];m++;k++;}

while (n<6)

{cc[k]=bb[n];n++;k++;}

for (int i=0;i<12;i++)

System.out.print(cc[i]+" ");

}

}

17.答:程序如下:

class RecuSum{

static long Sum1(int n){

if (n==1)

return 1;

else

return n+Sum1(n-1);

}

public static void main(String args[]) {

int n=200;

System.out.println("Sum="+Sum1(n));

}

}

习题四

1类和对象之间的关系。

2声明一个类Person,成员变量有姓名、出生年月、性别。有成员方法以显示姓名、年龄和性别。

3 声明一个矩形类Rectangle,其中有多个构造方法。用不同的构造方法创建对象,并输出矩形的周长和面积。

4 声明一个矩阵类Matrix,有这样一些实例方法:将一个矩阵转置、求两个矩阵的和。

5 举例说明类(静态)成员的特点。

6 说明继承和接口的区别已及它们各自的作用。

7 写出下面程序的运行结果

class Leve1{

String name="";

int height,width;

public Leve1(){;}

public Leve1(Leve1 le) {

name=https://www.wendangku.net/doc/2018521940.html,;

height=le.height;

width=le.width;}

public Leve1(String na,int h,int w) {

name=na;

height=h;

width=w;}

public int higherthen(Leve1 t) {

return this.height-t.height;}

public void print(){

System.out.println("class Leve1: ");

System.out.println("Name=: "+name+", Height=: "+height+", Width=: "+width);}

}

class Leve2 extends Leve1{

int width;

public Leve2(){;}

public Leve2(Leve1 le,int h,int w) {

super(le);

height=h;

width=w;}

public int widerthen(){

return width-super.width;}

public void print(){

System.out.println("class Leve2: ");

System.out.println("Name=: "+name+", Height=: "+height+", Width=: "+width);}

}

public class Lev_ex{

public static void main(String args[]){

Leve1 le1=new Leve1("Tower_1",50,20);

Leve2 le2=new Leve2(le1,40,25);

le1.print();

le2.print();

System.out.println("Leve1 is "+le1.higherthen(le2)+" highter then Leve2.");

System.out.println("Leve2 is "+le2.widerthen()+" wider then Leve1.");

}

}

8 Java中的包和windows的文件夹有什么关系?

9 说明类的成员的访问权限和包的关系。

10 创建两个String类的对象str1和str2,判断sr2是否是str1的子串。如果是,输出str1中,在子串ztr2前和后的字符串。如:

“Action”是“addActionListener”的子串,在此子串前是字符串”add”,后面是字符

串”Listener”。

11 写出下面程序的运行结果

class Father{

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

java模拟试题附答案(一)

scjp模拟试题(一) Question No: 1 1.public class test ( 2. public static void main (String args[]) { 3. int i = 0xFFFFFFF1; 4. int j = ~i; 5. 6. } 7. ) What is the decimal value of j at line 5? A. 0 B. 1 C. 14 D. –15 E. An error at line 3 causes compilation to fail. F. An error at line 4 causes compilation to fail. 答案: C Question No: 2 Given: Integer i = new Integer (42); Long 1 = new Long (42); Double d = new Double (42.0); Which two expressions evaluate to True? (Choose Two) A. (i ==1) B. (i == d) C. (d == 1) D. (i.equals (d))

E. (d.equals (i)) F. (i.equals (42)) 答案: D, E Question No: 3 Exhibit : 1. public class test ( 2. private static int j = 0; 3. 4. private static boolean methodB(int k) ( 5. j += k; 6. return true; 6. ) 7. 8. public static void methodA(int i) { 9. boolean b: 10. b = i < 10 | methodB (4); 11. b = i < 10 || methodB (8); 12. } 13. 14. public static void main (String args[] ) ( 15. methodA (0); 16. system.out.printIn(j); 17. ) 18. ) What is the result? A. The program prints “0” B. The program prints “4” C. The program prints “8”

100道Java基础测试题

Java基础测试题 不定项选择题 1、面向对象的三大特征是() A) 封装B) 继承C) 多态D) 线性 2、变量命名规范说法正确的是() A) 变量由英文字母、下划线、数字、$符号组成 B) 变量不能以数字作为开头 C) A和a在Java中代表同一个变量 D) 不同类型的变量,可以起相同的名字 3、i的值为10,表达式(i++)+(i--)的值为() A) 21B) 20 C) 19 D) 18 4、下面哪些定义变量的语句是正确的?() A) int i = 'A'; B) float f = 1.23; C) byte b = (byte)128; D) int c[5][5] = new int[ ][ ]; 5、以下代码的执行结果是() int a = 1; bool ean m = a%2 = = 1; if(m = false){ System.out.println("false"); }else{ System.out.println("true"); } A) false B) true C) 编译不通过 6、以下程序段中,哪个选项不能插入到第二行?() A)class Demo2 { } B) import java.util.*; C) public static void main(String args[ ]) { } D) package com; E) public class Demo2 { } 7、下面有关Java循环结构的描述正确的是() A) for循环体语句中,可以包含多条语句,但要用大括号括起来 B) for循环和do...while循环都是先执行循环体语句,后进行条件判断 C) continue和break只能用于循环结构中 D) 增强for循环遍历数组时不需要知道数组的长度,但不能实现与下标相关的操作 8、switch选择语句是多分支选择语句,只能处理等值条件判断的情况。在jdk1.7中,switch中的表达式可以是以下哪种类型() A)int B)char C)double D) float E)String F) short

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

java模拟试卷3与答案

复习题 3 一、选择题 1. JDK 提供的编译器是(B)。 (A ) java.exe(B ) javac.exe (C) javap.exe( D) javaw.exe 2.以下作为 Java 程序入口的 main 方法声明正确的( C)。 (A ) public void main(String args[]) (B ) public int main(String args[]) (C) public static void main(String args[]) (D ) public static int main(String args[]) 3.以下标识符错误的是( C )。 (A )Public( B)张三( C) class(D ) main 4.java 中定义字符串 String s= ”pzhu”,下面操作可以取得字符串长度的是( A )。 (A ) s.length()( B) s.length( C)s.size()( D) length(s) 5.如下定义数组,操作正确的是(D)。 int a[]={1,2,3}; (A ) a[3]=100(B ) a[0].length( C)a++( D) a.length 6.如下定义二维数组操作错误的是()。 int a[][]={{1,2},{3}}; (A ) a[0][1]=200( B) a[0].length( C) a[1][1]=100( D) a.length 7. 以下数据类型存储空间最大的是(B)。 (A ) byte( B) long(C) float(D ) char 8. 面向对象的三大特性,不包括如下( A)。 (A )异常( B)封装(C)继承(D )多态 9、关于类的定义以下说法错误(B)。 (A )类定义使用class 关键字( B)每个类中必须有一个main 方法 (C)一个包可以包含多个类( D) java 中所有类都是Object 类的子类 10. 关于构造方法以下说法错误的是(D)。 (A)构造方法名必须与类名一致(B)构造方法可以重载 (C)构造方法是通过new 来调用(D)每个类都必须编写构造方法代码 11.关于继承如下说法错误的是(C)。 (A) Java 是单继承的(B)通过extends 来定义继承 (C)所有父类方法都可以被override的(D)继承呈现的是 is a 的关系 12.以下代码执行的结果是 ( C )。 System.out.println(" 攀枝花学院 pzhu".length()); (A)编译错误(B)运行错误(C) 9(D) 14 13. 用来存储键值对的容器是 ()。 (A )ArrayList( B ) LinkedList(C) HashSet( D) HashMap 14、 java 中用来抛出异常的关键字是( C )。 (A) try(B) catch(C) throw(D) throws 15.关于 finally块中的代码,以下说法不正确的是(A)。 (A ) try 块中的 return 语句会中断finally 块中语句的执行 (B )无论 finally 块前的语句运行是否产生异常,其中的语句都会执行 (C) finally 块中的语句通常中用作资源的清理 - 1 -

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

java试卷B-

班 姓 学 考试时 考场(教室 装 线 一、单项选择题:(将每小题正确答案的代码填写在题后的括弧内。每小题2分,共20分) 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为 ( ) A.java B. class C..html D.exe 2.下面说法中不正确的是: ( ) A .类是对象的抽象,对象是类的实例 B.类是组成java 程序的最小的单位 C .java 语言支持多继承 D.java 一个程序中只能有一个public 类 3. 欲构造ArrayList 类的一个实例,此类继承了List 接口,则正确的是( ) A. ArrayList myList=new Object () B. List myList=new ArrayList () C. ArrayList myList=new List () D. List myList=new List () 4.当浏览器重新返回Applet 所在页面时,将调用Applet 类的方法是 ( ) A.start() B.init() C.stop() D.destroy() 5.假设你正在为应用系统设计一个Java 图形用户界面(GUI ),需要能输入多行文本信息,下列组件中最能满足这个要求的是 ( ) A.TextArea https://www.wendangku.net/doc/2018521940.html,bel C.TextField D.Checkbox 6. 下面关于进程、线程的说法错误的是 ( ) A.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索 B.线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C.Java 多线程的运行与平台无关 D.对于单处理器系统,多个线程分时间片获取CPU 或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务 7.paint()方法使用哪种类型的参数? ( ) A.Graphics B.Graphics2D C.String D.Color 8.下列有关事件监听器的描述正确的是 ( ) A.多个监听者可以被附加到一个组件 B.只有一个监听者可以被附加到一个组件上 C.一个监听者只能接受一个组件产生的事件 D.以上描述都不对 9.应用程序的main 方法中有以下语句,则输出的结果是 ( ) String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); i nt k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A.123456 B.123 C.xxxxxxxxxxxxxxx D.zzzzz 10.下列关于修饰符混用的说法错误的是 ( ) A.abstract 不能与final 并列修饰同一个类 B.abstract 类中不可以有private 的成员 C.abstract 方法必须在abstract 类中 D.staic 方法中能处理非static 的属性 二、填空题:(每空2分,共16分) 1.Java 程序分为应用程序和小程序两种,小程序必须从___________类继承而来。 2.在java 中,把数据类型分为两大类为___________和_________。 3.若要实现多线程的同步处理,应用______________修饰方法,使得被修饰的方法一次只能由一个线程使用。 4.在Java 语言中,所有的类都是类__________的子类。 5.在Java 程序中,通过类的定义只能实现单重继承,但通过____________ 的定义可以实现多重继承关系。 6.框架默认情况下使用_________布局管理器,面板默认情况下使用_________布局管理器。

JAVA期末考试复习试题

JAVA期末考试复习试题 JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是()。(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。(A)保护成员变量(B)读取类的成员变量(C)描述类的 特征(D)初始化成员变量6.下面关键字中,哪一个不 是用于异常处理语句()。(A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的`抽象(B)对象是类的抽象(C)对象 是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。(A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形

式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接 口,下列哪个方法是正确的()。(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为 ()(A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类 的( )方法来完成一些画图操作。(A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:(A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = ‘u’; //符号错15.Java语言使用的字符码集是(A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA测试题(三套含答案)

<测试一> 1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=1.3; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4.编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F A.2variable B.variable2 C. _whatavariable

D. _3_ E. $anothervar F. #myvar 6.内部数据类型byte的取值范围是B A.0 - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } A.one B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default:

java期末考试复习题及答案

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

JAVA模拟试题(含答案)

一、请分别写出下面程序的运行结果,将答案添在每道题后的空格处 1. public class Test1 { public static void main(String[] args) { int x=10,y=20; System.out.print("x="+(x++)+" y="+(++y)+" sum="+(x+y)); } } 运行结果:x=10 y=21 sum=32 2. public class Test2 { public static void main(String[] args) { boolean end; for(int i=2;i<20;i++){ end=true; for(int j=2;j<=i;j++){ if(i%j==0&&j

相关文档
相关文档 最新文档