java字符串特性练习答案.docx
- 文档编号:3326643
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:54
- 大小:81.20KB
java字符串特性练习答案.docx
《java字符串特性练习答案.docx》由会员分享,可在线阅读,更多相关《java字符串特性练习答案.docx(54页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 字符串 特性 练习 答案