java字符串特性练习答案.docx

上传人:b****6 文档编号:3326643 上传时间:2022-11-21 格式:DOCX 页数:54 大小:81.20KB
下载 相关 举报
java字符串特性练习答案.docx_第1页
第1页 / 共54页
java字符串特性练习答案.docx_第2页
第2页 / 共54页
java字符串特性练习答案.docx_第3页
第3页 / 共54页
java字符串特性练习答案.docx_第4页
第4页 / 共54页
java字符串特性练习答案.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

java字符串特性练习答案.docx

《java字符串特性练习答案.docx》由会员分享,可在线阅读,更多相关《java字符串特性练习答案.docx(54页珍藏版)》请在冰豆网上搜索。

java字符串特性练习答案.docx

java字符串特性练习答案

选择题:

1。

下面程序段执行完毕后,cont的值是(C)

Stringstrings[]={"string","starting","strong","street","soft"};

intcont=0;

for(inti=0;i

if(strings[i].endsWith("ng"))

cont++;

A.1B.2C

2.定义字符串:

Stringstr=“abcdefg”Of(‘d’)的结果是(C)

A)'d'B)trueC)3D)4

3。

定义变量b:

booleanb=true;则String.valueOf(b)的类型是(B)

A)booleanB)StringC)falseD)int

4。

下面程序段输出的结果是(A)

StringBufferbuf1;

Stringstr=”北京2008”;

buf1=newStringBuffer(str);

System.out.println(buf1.charAt

(2));

A.2B.京C0D.null

5.下面程序段输出的结果是(D)

Strings=”ABCD”;

s.concat(“E”);

s.replace(‘C’,’F’);

System.out.println(s);

A)ABCDEFB)ABFDEC)ABCDED)ABCD

6.下面的语句序列执行完后,n的值是(D)

intn=0;

StringTokenizerst=newStringTokenizer("IwondershouldIgo,orshouldIstay?

");

while(st.hasMoreTokens())

{n++;Stringss=st.nextToken();}

A)9B)10C)11D)8

7.下面的语句序列执行完后,n的值是(A)

intn=0;

Stringstr=”Iwonder,what?

”;

StringTokenizerstr2=newStringTokenizer(str,“,?

”);

s())

{str2.nextToken();}

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

A)2B)3C)4D)5

二填空题。

1定义数组:

charcharArray[]={‘a’,’b’,’c’,’d’,’e’,’f’};则String.valueOf(charArray,2,3)的结果是cde。

2.下面语句序列输出结果是pro。

Strings=newString(“javaprogram!

”);

System.out.println(s.substring(5,8));

1234abcdef5。

charcharArray[]={‘a’,’b’,’c’,’d’,’e’,’f’};

StringBufferbuf1;

Stringstr=”12345”;

buf1=newStringBuffer(str);

buf1.insert(4,charArray);

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

4.如有以下赋值语句:

x=newStringBuffer().append(“a”).append(4).append(“c”).toString;x的类型是StringBuffer;它的值是a4c。

5.下面程序的功能是统计以“st”开头的字符串有多少个,完成下面程序填空。

publicclassClass1

{

publicstaticvoidmain(Stringargs[])

{

Stringstrings[]={“string”,”starting”,”strong”,”street”,”soft”};

intcont=0;

for(inti=0;i

if(strings[i].startsWith(“str”))

cont++;

System.out.println(cont);

}

}

第九章多线程机制

一、判断题

1.如果线程死亡,它便不能运行。

(T)

2.在Java中,高优先级的可运行线程会抢占低优先级线程。

(T)

3.一个线程在调用它的start方法之前,该线程将一直处于出生期。

(T)

4.当调用一个正在进行线程的stop()方法时,该线程便会进入休眠状态。

(F)

5.一个线程可以调用yield方法使其他线程有机会运行。

(T)

6.线程可以调用yield方法使低优先级的线程运行。

(F)

二、选择题

1.Java语言中提供了一个▁D▁线程,自动回收动态分配的内存。

A异步

B消费者

C守护

D垃圾收集

▁▁C▁▁错误。

A数组下标越界

B算术溢出

C内存泄漏

D非法的方法参数

3.有三种原因可以导致线程不能运行,它们是▁ACD▁▁▁。

A等待

B阻塞

C休眠

D挂起及由于I/O操作而阻塞

▁A▁方法终止时,能使线程进入死亡状态。

Arun

BsetPrority

Cyield

Dsleep

▁B▁方法可以改变线程的优先级。

Arun

BsetPrority

Cyield

Dsleep

▁C▁方法可以使具有相同优先级线程获得处理器。

Arun

BsetPrority

Cyield

Dsleep

▁D▁方法可以休眠一段时间,然后恢复运行。

Arun

BsetPrority

Cyield

Dsleep

8.▁B▁方法使对象等待队列的第一个线程进入就绪状态。

Arun

Bnotify

Cyield

Dsleep

9.方法resume()负责重新开始▁D▁线程的执行。

A被stop()方法停止

B被sleep()方法停止

C被wait()方法停止

D被suspend()方法停止

10.▁BCD▁方法可以用来暂时停止当前线程的运行。

Astop()

Bsleep()

Cwait()

Dsuspend()

三、简述题

1.简述程序、进程和线程之间的关系?

什么是多线程程序?

答:

程序是一段静态的代码,它是应用软件执行的蓝本。

进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程。

每一个进程都有自己独立的一块内存空间、一组系统资源。

线程是比进程更小的执行单位。

一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每个线程都有其产生、发展和消亡的过程。

2.线程有那5个基本状态?

它们之间如何转化?

简述线程的生命周期。

答案:

线程有“新建”、“就绪”、“阻塞”、“运行”、“死亡”5个基本状态。

线程对象被创建时进入“新建”状态;程序执行语句启动这个线程后,它进入线程队列排列等待CPU时间片,称为“就绪”状态;等CPU时间和其他资源齐备时就进入“运行”状态;线程运行完毕或者被强制终止则进入“死亡”状态。

上述线程各状态之间的转换就构成了线程的基本生命周期。

3.什么是线程调度?

Java的线程调度采用什么策略?

答案:

安排线程队列中CPU时间的线程被称为线程调度。

Java的线程调度采用优先级基础上的“先到先服务”策略。

4.如何在Java程序中实现多线程?

答案:

在Java程序中实现多线程最关键是要定义子线程的操作,即定义子线程的run()方法。

具体可以通过派生Thread类的子类或实现Runnable接口两种方式来实现。

5.试简述Thread类的子类或实现Runnable接口两种方法的异同?

答案:

派生Thread子类时通过重载父类的方法run()来定义子线程的具体操作,然后在主线程中创建并启动该子类的对象为子线程。

实现了Runnable接口的类必须要实现接口中的

run()方法,其中同样定义了子线程的操作。

但是这个方法中的子线程不是Thread子类的对象,而是Thread类的对象;在创建Thread类对象时把实现了Runnable接口和run()方法的类作为参数传递给该对象,从而规定它的具体操作。

四、编程题

1.利用多线程技术编写Applet程序,其中包含一个滚动的字符串。

字符串从左向右运动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动。

[Xianch.java]

importjava.awt.*;

importjava.applet.*;

publicclassXianchextendsAppletimplementsRunnable

{

finalStringrollingMessage="SAILING,SAILING,IAMSAILING...";

Threadm_Draw=null;

intbeginX;

publicvoidinit()

{

m_Draw=newThread(this);

}

publicvoidpaint(Graphicsg)

{

g.drawString(rollingMessage,beginX,40);

}

publicvoidstart()

{

m_Draw.start();

try{

Thread.sleep(50);

}catch(InterruptedExceptione){}

}

publicvoidstop()

{

if(m_Draw.isAlive())

m_Draw.stop();

}

publicvoidrun()

{

try

{

while(true)

{

beginX=++beginX%getWidth();

repaint();

Thread.sleep(100);

}

}

catch(InterruptedExceptione)

{

}

}

}

第七章图形用户界面

一、判断题

1.BorderLayout是面板的缺省布局管理器。

(F)

2.当鼠标指针位于一个GUI构件的边上时,发生一个MouseOver事件。

(F)

3.一个面板(Panel)不能被加入到另一个面板(Panel)中。

(F)

4.在BorderLayout中,添加到NORTH区的两个按钮将并排显示。

(F)

5.在使用BorderLayout时,最多可以使用5个构件。

(F)

6.Swing构件经常被称为轻量构件。

(T)

7.在GUI上输出文本或提示信息的方法是使用标签。

(T)

8.为了处理图形用户界面的事件,程序员必须注册一事件监听器。

(T)

9.用户在TextField输入数据后键入回车键,可以激活一个事件。

(T)

11.程序员在创建一个Frame时,至少必须创建一个菜单,并将它加入Frame中。

(F)

二、选择题

▁C▁方法,并且注册一个事件监听器处理此事件。

AactionPerformed

BaddItemListener

CmouseMove

Dadd

▁D▁。

Aword文档

Btxt文档

C可编辑的

D不可编辑的

3.▁D▁用来在Container上排列GUI构件。

ABorderLayout类

BComponent类

C事件控制

D布局管理器

4.为添加一个构件的add方法是▁C▁类方法。

ABorderLayout

BComponent

CContainer

DButtonGroup

▁B▁为构件容器设置布局管理器。

ABorderLayout

BsetLayout

CContainer

DComponent

6.GUI是▁D▁的缩写。

A布局管理器

B资源管理器

C用户界面布局

D图形用户界面

7.当构件中按钮的位置可以被自动调整,应使用哪种布局管理器:

B

ABorderLayout

BFlowLayout

CCardLayout

DGridLayout

▁B▁类创建菜单对象。

ADimension

BJMenu

CJMenuItem

DJTextArea

▁D▁方法创建菜单中的分隔条。

AsetEditable

BChangeListener

Cadd

DaddSeparator

10.向JTextArea的▁A▁方法传递false参数可以防止用户修改文本。

AsetEditable

BChangeListener

Cadd

DaddSeparator

11.下面哪个布局管理器是非法的:

C

AFlowLayout

BBorderLayout

CCardBagLayout

DGridLayout

12.实现下列哪个接口可以对TextField对象的事件进行监听和处理?

___C_

AMouseMotionListener

BFocusListener

CActionListener

DWindowListener

13.Frame的默认的布局管理器是下列哪一个?

_D___

AFlowLayout

BCardLayout

CGridLayout

DBorderLayout

14.请问如下哪个方法可以将MenuBar加入Frame中?

B

AsetMenu()

BsetMenuBar()

Cadd()

DaddMenuBar()

三、简述题与编程题

1、文本框与文本区域在创建方法、常用方法和事件响应上有何异同?

什么操作将引发文本事件?

如何响应文本事件?

编写Applet包括一个文本框、一个文本区域和一个按钮,当用户单击按钮时,程序将文本区域中被选中的字符串复制到文本框中。

2、简述Java的事件处理机制,什么是事件源?

什么是监听器?

3、动作时间的事件源可以有哪些?

如何响应动作事件?

异常处理练习题

一、选择题

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

A、tryB、catchC、throwD、finally

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

A、异常是一种对象

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

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

D、以上说法都不对

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

A、ThrowableB、ErrorC、ExceptionD、AWTError

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

A、try{…}子句B、catch{…}子句

C、finally{…}子句D、以上说法都不对

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

publicclassMultiCatch

 {

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

           }

          }

   }

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

B、程序第10行出错

C、程序将输出“b=42”

D、程序将输出第15和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);

        }

      }

  }

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

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

C、程序将不输出异常信息

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

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

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

classTrowsDemo

{

 staticvoidprocedure()throwsIllegalAccessException

 {

   System.out.println(“insideprocedure”);

   throw____new___IllegalAccessException(“demo”);

 }

 publicstaticvoidmain(Stringargs[])

  {

    try

     {

       procedure();

     }

     ___catch(IllegalAccessExceptione)________

     {

       System.out.println(“捕获:

”+e);

     }

   }

 

8.对于catch子句的排列,下列哪种是正确的()

A、父类在先,子类在后

B、子类在先,父类在后

C、有继承关系的异常不能在同一个try程序段内

D、先有子类,其他如何排列都无关 

9.在异常处理中,如释放资源、关闭文件、关闭数据库等由()来完成。

A、try子句          B、catch子句

C、finally子句        D、throw子句

10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的()

A、捕获异常          B、抛出异常

C、声明异常          D、嵌套异常

11.哪个关键字可以抛出异常?

A、transientB、finallyC、throw  D、static

12.一个异常将终止()

A、整个程序          B、只终止抛出异常的方法

C、产生异常的try块      D、×上面的说法都不对

二、填空题

1、catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与__异常____对象的类进行匹配。

2、java虚拟机能自动处理_____RuntimeException_______异常。

3、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__finally____语句捕获并处理。

4、java语言认为那些可预料和不可预料的出错称为____Throwable___

5、按异常处理不同可以分为运行异常、捕获异常、声明异常和__自定义异常____几种。

6、抛出异常、生成异常对象都可以通过__throws句实现。

7、捕获异常的统一出口通过___finally____语句实现。

8、java语言的类库中提供了一个__Throwable___类,所有的异常都必须是它的实例或它子类的实例。

9、Throwable类有两个子类:

_____Error_____类和Exception类。

10、对程序语言而言,一般有编译错误和____运行_____错误两类。

11、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。

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

publicclassHelloWorld

{

 inti=0;

 Stringgreetings[]=  {

      “Helloworld!

”,

       “No,Imeanit!

”,

       “HELLOWORLD!

!

    };

 while(i<4)

  {

     ___try______

{

System.out.println(greeting[i]);

}

____catch____(ArrayIndexOutOfBoundsExceptione)

{

System.out.println(“Re-settingIndexValue”);

i=-1;}

finally

 {

  System.out.println(“Thisisalwaysprinted”);

 }

i++;

}

}

三、判断题

1.(n)程序中抛出异常时(throw…),只能抛出自己定义的异常对象。

2.(y)一个异常处理中finally语句块只能有一个或者可以没有。

3.(y)异常类对象代表当前出现的一个具体异常。

4.(y)java语言中的所有异常类都是java.lang.Throwable的子类。

5.(n)如果异常发生时,没有捕获异常的代码,程序会正常执行。

四、编程题

1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。

[提示:

用错误数据测试,即可得到异常类名,运行时主方法参数输入abc测试]

publicclass

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

当前位置:首页 > 小学教育 > 语文

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

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