JAVA程序设计习题.docx

上传人:b****7 文档编号:10638725 上传时间:2023-02-22 格式:DOCX 页数:25 大小:22.73KB
下载 相关 举报
JAVA程序设计习题.docx_第1页
第1页 / 共25页
JAVA程序设计习题.docx_第2页
第2页 / 共25页
JAVA程序设计习题.docx_第3页
第3页 / 共25页
JAVA程序设计习题.docx_第4页
第4页 / 共25页
JAVA程序设计习题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

JAVA程序设计习题.docx

《JAVA程序设计习题.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计习题.docx(25页珍藏版)》请在冰豆网上搜索。

JAVA程序设计习题.docx

JAVA程序设计习题

一、选择题

1.      java语言的执行模式是:

A.    全编译型

B.     全解释型

C.     半编译和半解释型

D.    同脚本语言的解释模式

2.      下列关于虚拟机说法错误的是:

A.    虚拟机可以用软件实现

B.     虚拟机部可以用硬件实现

C.     字节码是虚拟机的机器码

3. 下列java标识符,错误的是()

_sys_varl

$change

User_name

1_file

4下列不属于简单数据类型的是()

整数类型

符点数类型

布尔类型

5下列属于JAVA关键词的是()

TRUE

goto

float

NULL

6下列声明和赋值语句错误的是

doublew=3.1415;

Stringstrl=”bye”;

floatz=6.74567

booleantruth=true;

7java中,八进制数以______开头。

0x

0

0X

08

8. 下列不属于整型变量的类型是

byte

short

float

long

9. int类型整型变量在内存中的位数为

8

16

32

64

10. java中,用()关键字定义常量

final

#define

float

const

11. 关于变量的作用范围,下列说法错误的是

异常处理参数作用域为整个类

局部变量作用于声明该变量的方法代码段

类变量作用于声明该变量的类

方法参数作用于传递到方法内代码段

12. 下列程序test类中的变量c的最后结果为

publicclasstest

{

 publicstaticvoidmain(Stringargs[])

  {

    inta=10;

    intb;

intc;

if(a>50)

     {

       b=9;

     }

    c=b+a;

  }

    }

10

0

19

编译出错

13. 下列程序片断的执行,说法正确的是

publicclasstest

publicstaticvoidmain(Stringargs[])

 {

   byteb=100;

   inti=b;

   inta=2000;

   b=a;

   System.out.println(b);

  }

 }

b的值为100

b的值为2000

第六行出错

第八行出错

14 已知i为整形变量,关于一元运算++i和i++,下列说法正确的是

A. ++i运算将出错

B. 在任何情况下运行程序结果都一样

C. 在任何情况下运行程序结果都不一样

D. 在任何情况下变量i的值都增1

15. 在java语句中,运算符&&实现

A. 逻辑或

B. 逻辑与

C. 逻辑非

D. 逻辑相等

16. 在java语句中,位运算操作数只能为整型或()数据

A. 实型

B.  字符型

C.  布尔型

D. 字符串型

 (|)语句的执行结果为

A. 

B. 

C. 

D. 

17.  ~语句的执行结果为

A. 

B. 

C. 

D. 

18. 复合语句用()括起来的一段代码。

小括号()

大括号{}

中括号〔〕

单引号‘’

19下列不属于条件语句关键字的是

if

else

swich

while

20多分支语句switch(表达式){}中,表达式不可以返回哪种类型的值

整型

实型

接口型

字符型

21. 下列方法method()执行,返回值为

        intmethod(){

              intnum=10;

              if(num>20)

                 returnnum;

              num=30;

           }

10

20

30

编译出错

22. 下列程序输出结果为:

    publicclasstest

      {

        publicstaticvoidmain(Stringargs[])

            {

               inta=0;

               outer:

 for(inti=0;i<2;i++)

                        {

                          for(intj=0;j<2;j++)

                            {

                              if(j>i)

                               {

                                 continueouter;

                                }

                                a++;

                             }

                         }

                System.out.println(a);

             }

        }

0

2

3

4

23.下列数组定义及赋值,错误的是

A.    intintArray[];

B.    intArray=newint[3];

intArray[1]=1;

intArray[2]=2;

intArray[3]=3;

C.    inta[]={1,2,3,4,5};

D.    int[][]=newint[2][];

a[0]=newint[3];

a[1]=newint[3];

 

 

二、填空题

1.在java语言中,boolean型常量只有true和_____两个值。

2.标识符是以_____、下划线、美元符号作为首字母的字符串序列。

3.下面的语句是声明一个变量并赋值:

  booleanb1=5!

=8;

b1的值是______。

4.在java程序中,用关键字_____修饰的常量对象创建后就不能再修改了。

5.数据类型包括简单数据类型和复合数据类型。

复合数据类型又包括类、数组、______。

6.八进制整数012表示十进制的_______。

7.浮点型数据属于实型数据,分为float和______两种类型。

8.类变量在类中声明,而不是在类的某个方法中声明,它的作用域是______.

9.java语言中的各种数据类型之间提供自动转换,如第1操作数是byte类型,第2操作数是float类型,其结果是_____类型。

10.在java语言中,如果数值后没有字母,计算机默认值为______类型。

11.下面程序分别用while、do-while和for语句实现1~10累计求和。

请在横线处填入适当内容完成程序。

PublicclassSum

 {

 publicstaticvoidmain(Stringargs[])

  {

    System.out.println(“\\n*****while循环*****”);

        intn=10,sum=0;

        while(_______)

        {

         sum+=n;

         n--;

       }

System.out.println(“sumis”+sum);

System.out.println(“\\n******do_while循环******”);

n=0;

sum=0;

do

  {

   sum+=n;

   n++;

   }

while(_______);

 System.out.println(“sumis”+sum);

 System.out.println(“\\n******for循环******”);

 sum=0;

 for(intI=1;_______i++)

  {

     sum+=I

}

System.out.println(“sumis”+sum);

}

}

12定义double型数组

doubled1[]={1.2,2.3,3.4,4.5,5.6}

则d1[2]=_______

13数组是有序数据的集合,数组中的每个元素具有相同的________

14.下列程序输出结果为_______

publicclasstest

{

 publicstaticvoidmain(Stringargs[])

 {

Strings=”Iamastring!

”;

Intn=s.length();

Charc=s.charAt(7);

System.out.println(n);

System.out.println(c);

}

        }

一、选择题

1.        下列不属于面向对象编程的三个特征的是

A.    封装

B.    指针操作

C.    多态性

D.    继承

2.        类所实现的接口以及修饰不可以是

A.    public

B.    abstract

C.    final

D.    void

3.        下列类的定义,错误的是

A.    publicclasstestextendsObject{

……

 }

B.    finalclassoperators{

……

}

C.    classPoint{

……

 }

D.    voidclassPoint{

……

 }

4.        关键字supper的作用是

A.    用来访问父类被隐藏的成员变量

B.    用来调用父类中被重载的方法

C.    用来调用父类的构造函数

D.    以上都是

5.        下面程序定义了一个类,关于该类说法正确的是

abstractclassabstractClass{

……

}

A.    该类能调用newabstractClass(),方法实例化为一个对象

B.    该类不能被继承

C.    该类的方法都不能被重载

D.    以上说法都不对

6.        关于对象的删除,下列说法正确的是

A.    必须由程序员完成对象的清除

B.    java把没有引用的对象作为垃圾收集起来并释放

C.    只有当程序中调用System.gc()方法时才能进行垃圾收集

D.    java中的对象都很小,一般不进行删除操作。

7.        下列说法正确的是

A.    java中包的主要作用是实现跨平台功能

B.    package语句只能放在import语句后面

C.    包(package)由一组类(class)和界面(interface)组成

D.    可以用#include关键词来标明来自其它包中的类;

8.        关于构造方法,下列说法错误的是

A.    构造方法不可以进行方法重写

B.    构造方法用来初始化该类的一个新的对象

C.    构造方法具有和类名相同的名称

D.    构造方法不返回任何数据类型

9.     请将程序补充完整

1._______classC

2.{

3.            abstractvoidcallme()

4.            voidmetoo

5.              {

6.                System.out.println(“类C的metoo()方法”);

7.              }

8.            }

9.            classD_______C

10.          {

11.             voidcallme()

12.              {

13.                 System.out.println(“重载C类的callme()方法”);

14.               }

15.          }

16.         publicclassAbstract

17.          {

18.               publicstaticvoidmain(Stringargs[])

19.          }

20.         Cc=__________D();

21.         c.callme();

22.         c.metoo();

23.          }

24.         }

二、填空题

1.    把对象实例化可以生成多个对象,使用_________运算符为对象分配内存空间。

2.    java程序引入接口的概念,是为了弥补只允许类的________的缺憾。

3.    java语言以_______为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

4.    抽象方法只能存在于抽象类中。

抽象方法用关键字________来修饰。

5.    java语言中_______是所有类的根.

6.    在java中有一种叫做_______特殊方法,在程序中用它来对类成员进行初始化.

7.    new是______对象的操作符.

8.    继承主要强调子类在父类的基础上取”长”补”短”,而______主要强调的是类与类之间的传输

9.    我们在java程序中,把关键字________加到方法名称的前面,来实现子类调用父类的方法

10. 定义一个类包括定义类头和定义______两个部分

11. 在java程序里,同一类中重载的多个方法具有相同的方法名和_____的参数列表.重载的方法可以有不同的返回值类型

12. java是面向对象语言,对象是客观事物的_______,对象与之是一一对应的,它是很具体的概念.

13. java语言通过接口支持______继承,使类继承具有更灵活的扩展性

14. 一个对象的生命周期包含三个阶段:

生成,______和清除

15. java语言中,调用方法时,参数传递是______调用,而不是地址调用

16. 接口是一种只含有抽象方法或______的一种特殊抽象类

17. 创建一个类就是创建一个新的数据类型,而类在java中属于______数据类型。

18. abstract方法________(不能或能)与final并列修饰同一个类

19. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的________必须是不同的,这种现象称为方法的重载。

一、选择题

1java中用来抛出异常的关键字是

try

catch

throw

finally

2关于异常,下列说法正确的是

异常是一种对象

一旦程序运行,异常将被创建

为了保证程序运行速度,要尽量避免异常控制

以上说法都不对

3()类是所有异常类的父类。

Throwable

Error

Exception

AWTError

4java语言中,下列哪一子句是异常处理的出口

try{…}子句

catch{…}子句

finally{…}子句

以上说法都不对

5下列程序的执行,说法错误的是

classMultiCatch

 {

  publicstaticvoidmain(Stringargs[])

    {

      try

         {

           inta=args.length;

           intb=42/a;

           intc[]={1};

           c[42]=99;

           System.out.println(“b=”+b);

         }

      catch(ArithmeticExceptione)

         {

            System.out.println(“除0异常:

”+e);

          }

      catch(ArrayIndexOutOfBoundsExceptione)

          {

            System.out.println(“数组超越边界异常:

”+e);

           }

          }

   }

程序将输出第15行的异常信息

程序第10行出错

程序将输出“b=42”

程序将输出第19行的异常信息

6下列程序的执行,说法正确的是

classExMulti

{

 staticvoidprocedure()

 {

   try

    {

     intc[]={1};

     c[42]=99;

    }

   catch(ArrayIndexOutOfBoundsExceptione)

    {

      System.out.println(“数组超越界限异常:

”+e);

    }

  }

   publicstaticvoidmain(Stringargs[])

   {

     try

       {

         procedure();

         inta=args.length;

         intb=42/a;

         System.out.println(“b=”+b);

        }

      catch(ArithmeticExceptione)

        {

          System.out.println(“除0异常:

”+e);

        }

      }

  }

程序只输出第12行的异常信息

程序只输出第26行的异常信息

程序将不输出异常信息

程序将输出第12行和第26行的异常信息

7下面程序抛出了一个“异常”并捕捉它。

请在横线处填入适当内容完成程序。

classTrowsDemo

{

 staticvoidprocedure()throwsIllegalAccessExcepton

 {

   System.out.println(“insideprocedure”);

   throw_______IllegalAccessException(“demo”);

 }

 publicstaticvoidmain(Stringargs[])

  {

    try

     {

       procedure();

     }

     ___________

     {

       System.out.println(“捕获:

”+e);

     }

   }

多线程

选择题

1. 线程调用了sleep()方法后,该线程将进入(   )状态。

可运行状态

运行状态

阻塞状态

终止状态

2.关于java线程,下面说法错误的是()

线程是以CPU为主体的行为

java利用线程使整个系统成为异步

创建线程的方法有两种:

实现Runnable接口和继承Thread类

新线程一旦被创建,它将自动开始运行

   3. 在java中的线程模型包含()

A.     一个虚拟处理器

B.      CPU执行的代码

C.      代码操作的数据

D.     以上都是

4.在java语言中,临界区可以是一个语句块,或者是一个方法,并用()关键字标识。

A.     synchronized

B.     include

C.     import

D.     Thread

5.线程控制方法中,yield()的作用是()

A.     返回当前线程的引用

B.      使比其低的优先级线程执行

C.      强行终止线程

D.     只让给同优先级线程运行

6.线程同步中,对象的锁在()情况下持有线程返回

A.      当synchronized()语句块执行完后

B.      当在synchronized()语句块执行中出现例外(exception)时

C.      当持有锁的线程调用该对象的wait()方法时

D.      以上都是

7.在以下()情况下,线程就进入可运行状态

A.      线程调用了sleep()方法时

B.      线程调用了join()方法时

C.      线程调用了yield()方法时

D.      以上都是

9.下列程序实现简单的线程调度,请回答以下问题:

     1 ThreadmyThread=newMyThreadClass();

myThread.start();

try

{

  myThread.sleep(10000);

}

catch(InterruptedExceptione)

{

}

myThread.stop();

程序执行完第一行后,线程进入________状态;

程序执行完第二行后,线程进入________状态;

程序开始执行第五行时,线程进入________状态;

程序执行完第五行后,线程进入________状态;

程序执行完第十行后,线程进入________状态;

新建状态

可运行状态

阻塞状态

终止状态

10.Thread类的方法中,toString()方法的作用是()

A.      只返回线程的名称

B.      返回当前线程所属的线程组的名称

C.      返回当前线程对象

D.      返回线程的名称

填空题

1.           线程的创建有两种方法:

实现_________接口和继承Thread类。

2.           多线程程序设计的含义是可以将程序任务分成几个________的子任务。

3.           按照线程的模型,一个具体的线程也是由虚拟的CPU、代码与数据组成,其中代码与数据构成了___________,线程的行为由它决定。

4.           java中,新建的线程调用start()方法、如myThread.start(),将使线程的状

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1