Java程序设计基础习题答案_第1页
Java程序设计基础习题答案_第2页
Java程序设计基础习题答案_第3页
Java程序设计基础习题答案_第4页
Java程序设计基础习题答案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计基础习题答案Java程序设计基础习题答案Java程序设计基础习题答案xxx公司Java程序设计基础习题答案文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度Java程序设计基础课后习题参考答案第2章1.关于JavaApplication的入口方法main()的检验:main()方法的参数名是否可以改变main()方法的参数个数是否可以改变该方法名是否可以改变参考答案:(1)main()方法的参数名可以改变。(2)main()方法的参数个数不可以改变。(3)该方法名不可以改变。2.当一个程序没有main()方法时,能编译吗如果能编译,能运行吗参考答案:当一个程序没有main()方法是,是可以编译通过的,但是不能给运行,因为找不到一个主函数入口。3.下列语句能否编译通过bytei=127;bytej=128;longl1=999999;longl2=99;参考答案:bytei和longl1可以编译通过。而bytej和longl2超出自身数据类型范围,所以编译失败。4.下列语句能否编译通过floatf1=;floatf2=3.5f;参考答案:java中浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,必须在数据后面加上“F”或“f”;因此,floatf1无法编译通过。5.验证int和char,int和double等类型是否可以相互转换。参考答案:(1)char类型可以转换为int类型的,但是int类型无法转换为char类型的;(2)int可以转换为double类型的,但是double类型无法转换为int类型的。6.计算下列表达式,注意观察运算符优先级规则。若有表达式是非法表达式,则指出不合法之处且进行解释。(1)4+5==6*2 (2)(4=5)/6 (3)9%2*7/3>17(4)(4+5)<=6/3 (5)4+5%3!=7-2 (6)4+5/6>=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4是不合法的。7.下列()是合法的Java标识符。(1)Counter1 (2)$index,(3)name-7 (4)_byte(5)larray (6)2i(7)try (8)integer参考答案:Java标识符由数字,字母和下划线(_),美元符号($)组成。在Java中是区分大小写的。而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。因此,(1)、(4)、(5)、(8)是合法标识符。8.下列各项中定义变量及赋值不正确的是()(1)intI=32;(2)floatf=;(3)doubled=;参考答案:(2)不正确,选项(2)定义float类型时必须在数据后面加上“F”或“f”。9.Java语言中,整型常数123占用的存储字节数是()(1)1 (2)2(3)4 (4)8参考答案:正确选项是(3),Java语言中,默认整型数占用4个字节数。10.以下代码的编译运行结果是publicclassTest{ publicstaticvoidmain(String[]args){ intage; age=age+1; ageis“+age);}}编译通过,运行无输出编译通过,运行结果为“theageis1” 编译通过但运行时出错不能通过编译参考答案:(4)为正确选项。Java在使用变量前应该先初始化。11.写出下列表达式的运行结果(1)6+3<2+7 (2)4%2+4*3/2(3)(1+3)*2+12/3 (4)8>3&&6==6&&12<4(5)7+12<4&&12-4<8 (6)23>>2 参考答案:(1)false;(2)6;(3)12;(4)fale;(5)false;(6)5;第3章编码验证i++和++i的区别。参考答案:++i和i++在单独使用时,就是i=i+1。而a=++i,相当于i=i+1;a=i;(先i=i+1,再使用i的值),而a=i++,相当于a=i;i=i+1;(先使用i的值,再i=i+1)。2.写出下面表达式的结果(1)5/3(2)5/(3)5%3(4)5%-3参考答案:(1)1(2)1.(3)2(4)23.考虑如下的,并指出错误原因。程序清单:classTest{publicstaticvoidmain(String[]args){byteb=5;b=(b–2);}}参考答案:b=(b-2);错误,在进行b-2时,运算结果类自动提升为int,而b是byte类型,编译的时候会报错,因为存在高类型数据向低类型数据转化的风险。而byteb=5;是正确的,因为在编译的时候就能够确定5在byte允许的范围内,虚拟机在编译时做了一定的优化处理。4.考虑一下对于if……else……语句,还有没有更简洁的写法。例如:if(x>0){y=x;}else{y=-x;}可以简写成什么参考答案:y=x>0x:-x;给定N,编程实现打印N*N的乘法表。参考答案:publicstaticvoidmain(String[]args)

{inta=0,b=0,c=0;

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

{

a=i+1;

for(intj=0;j<i+1;j++)

{

b=j+1;

c=a*b;

+"*"+b+"="+c+"");

}

"");

}

}

6.将下列语句转换成Java代码:(1)如果b1为真,打印“one”,否则打印“two”。(2)如果b1为假并且b2为真,打印“one”,否则打印“two”。(3)如果b1为假,并且如果b2为真则打印“one”,如果b2为假则打印“two”;否则打印“three”。参考答案:(1)if(b1=true){"one");}else{"two");}(2)if(b1=false&&b2=true){"one");}else{"two");}(3)if(b1=false&&b2=true){"one");}elseif(b1=false&&b2=false){"two");}else{"three");}7.找出如下各项中的语法错误:(1)for(intk=0;k<100;k++)(2)for(intk=0;k<100;k++);(3)intk=0whilek<100{(4)intk=0;do{whilek<100;参考答案:(1)for(intk=0;k<100;k++){(2)for(intk=0;k<100;k++){(3)intk=0;while(k<100){;}(4)intk=0;do{while(k<100);写出三个不同的循环―for、while和do-while循环,打印出从0(包括0)开始直到1000的所有10的倍数。参考答案:(1)intn=0;

while(n<=1000&&n%10==0)

{

n++;

}

(2)intn=0

do

{if(n%10==0){}n++;}

while(n<1000);

(3)for(intn=0;n<=1000;n++)

{if(n%10==0){给定N,编程实现打印行数为N的菱形。参考答案:publicstaticvoidmain(String[]args){ Scannerread=newScanner; intn; while(true){ "输入一个整数(>=0)"); if()){ n=(); if(n<0) continue; break; }else{ ();} } for(inti=0;i<n;i++){ for(intj=1;j<n-i;j++) ""); for(intj=0;j<i*2+1;j++) "*"); for(intj=1;j<n-i;j++) ""); } for(inti=n-2;i>=0;i--){ for(intj=1;j<n-i;j++) ""); for(intj=0;j<i*2+1;j++) "*"); for(intj=1;j<n-i;j++) ""); }}10.写出下面程序的输出结果:publicclassTestWhile{ publicstaticvoidmain(String[]args){ inta=0; while(++a<=100) if((a%9)==0) "\t"); }}参考答案:918273645546372819099第4章1.比较String和StringBuffer的区别,并说明什么时候适合使用StringBuffer。参考答案:在Java中,String被完全当成一个对象,一个String对象是组成这个字符串的字符序列,加上用来操作字符串的方法。字符串一旦被创建,就不能改变它的值。StringBuffer类同样能够表示一串字符。但是,与String类不同,一个StringBuffer类能够被修改,StringBuffer类维护的是一个字符缓冲区,在必要时它的长度能够增长和缩短。对任何涉及修改字符串的任务,应该用StringBuffer代替String。2.说明==和equals的区别,并举例。参考答案:==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的是两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是两个对象的地址,而equals比较的是两个对象的内容。3.假定s是字符串字面值“exercise”,找出下列表达式有语法错误的并改正: (1)("hello") (2)("er") (3)(5)(4)(er)(5)()参考答案:其中(1)和(4)表达式有语法错误。(1)charAt(int)参数是int类型的;(4)lastIndexOf()中的参数应该为int或者String,这里的er既不是int也不是String。4.给定一个句子,统计单词中字母的出现次数(字母不区分大小写,全部按照小写计算)。参考答案:参考代码importpublicclasscountChar{ publicstaticvoidmain(String[]args){ 执行Strings=newString("xyz");这一语句,共创建几个String对象参考答案:两个。"xyz"本身是一个字符串对象,而newString()也会创造一个字符串对象。6.对于语句Strings="hello";下面那个表达式是合法的(1)s+=5;(2)charc=s[1](3)intlen=;(4)Stringt=;参考答案:(1)为合法的。7.String和StringBuffer中的哪个方法能改变调用该方法的对象自身的值(1)String的charAt()(2)String的replace()(3)String的toUpperCase()(4)StringBuffer的reverse()参考答案:(4)StringBuffer的reverse()可以改变对象自身的值。8.假定s是字符串字面值“exercise”,计算下面每个表达式的值: (1)(5) (2)("er")(3)(5)(4)(‘e’)(5)()参考答案:(1)i;(2)2;(3)ise;(4)0;(5)8;9.写出下面程序的输出结果:publicclassStringExample{publicstaticvoidmain(String[]args){Stringstr=newString("abcd");Stringstr1="abcd";Stringstr2=newString("abcd");==str1);==str2);==str2); ==());==());==());Stringhello="hello";Stringhel="hel";Stringlo="lo";=="hel"+"lo");=="hel"+lo);}}参考答案:falsefalsefalsetruetruetruefalsetruetruetruefalse10.编写程序,将字符串“aabbcdefg”中每个字符作加2操作,最后结果为“ccddefghi”。参考答案:参考代码publicclassChar{ publicstaticvoidmain(String[]args){ Strings="aabbcdefg"; char[]ch=(); for(inti=0;i<;i++){ ch[i]=(char)(ch[i]+2); } (); }}第5章编写一个程序,计算出前10个平方数(例如1,4,9,16),并将这10个数保存到一个整型数组中,将数组中的所有元素输出到控制台,验证程序是否正确。要确保数组有10个元素,并且元素值的范围是1~100.参考答案:publicstaticvoidmain(String[]args){ intb[]=newint[10]; for(inti=1;i<11;i++){ b[i]=i*i;} for(inti=0;i<10;i++){ }}声明一个数组,其中的元素为37,47,23,-5,19,56,然后创建一个新数组,将前一个数组的内容复制到后一个数组中。参考答案:publicstaticvoidmain(String[]args){ inta[]={37,47,23,-5,19,56}; intb[]=newint[]; for(inti=0;i<;i++){ b[i]=a[i]; } for(intj=0;j<;j++){ ""); } }从命令行输入5个整数到数组a中,分别输入33、55、22、66及77。求偶数的个数及其和。参考答案:示例代码:publicstaticvoidmain(String[]args){ inta[]=newint[5]; intcount=0; intsum=0; for(inti=0;i<;i++){ "请输入数组中的元素:"); Scannerread=newScanner; a[i]=(); if(i%2!=0){ count++; sum=sum+a[i]; } } "偶数个数是:"+count); "偶数的和是:"+sum); }4.从命令行输入一个字符串“JavaServlet”,将每个字符存入a数组。(1)大写字母有几个分别是那几个(2)小写字母有几个分别是那几个(3)将小写字母转换成大写字母,大写字母转换成小写字母。参考答案:publicstaticvoidmain(String[]args){ if(args[0]!=""){ StringinputString=args[0]; intcountLower=0; intcountUpper=0; StringstrLower=""; StringstrUpper=""; for(inti=0;i<();i++){ charc=(i); if(c)){ countUpper++; strUpper+=c+""; }elseif(c)){ countLower++; strLower+=c+""; } } "大写字母有"+countUpper+"个,分别是:"+strUpper); "小写字母有"+countUpper+"个,分别是:"+strLower); }}5.阅读下面代码:int[]ages=newint[10];下面关于上面两行代码的说法哪一个正确的(1)编译时发生错误(2)编译通过,运行时发生错误,因为局部变量在没有初始化情况下,不能使用(3)编译通过,执行之后向控制台输出结果为0(4)编译通过,执行时提示发生数组越界的错误参考答案:(3)为正确选项。6.阅读下面代码:publicclassAClass{ publicstaticvoidmain(String[]args){ String[]msg={"one","two","three","four"};if==0){ "Noarguments");}else{"arguments");} }}下面哪个选项的说法是正确的(1)该代码无法编译通过(2)不带任何参数运行该程序时,会抛出NullPointerException异常(3)分别带0个参数、3个参数运行该程序时,会打印Noarguments和twoarguments(4)分别带0个参数、3个参数运行该程序时,会打印Noarguments和fourarguments参考答案:(4)为正确选项。从命令行输入八个参数,并以气泡法排序后保存在a数组中,然后再输入一个查找键值Key,按顺序查找判断该键值是否存在与a数组中。参考答案:参考代码:publicstaticvoidmain(String[]args){ inti,j,t,temp; intarray[]=newint[8]; "输入8个整数:");/*输入8个整数*/ for(i=0;i<;i++){ "请输入:"); Scannerread=newScanner; array[i]=(); } /*冒泡排序*/ for(i=0;i<;i++){ for(j=-1;j>i;j--) if(array[j]>array[j-1]){ t=array[j]; array[j]=array[j-1]; array[j-1]=t; } } /*输出排序后的数组元素*/ for(i=0;i<;i++){ +""); } "输入一个整数作为键值Key:"); Scannerread=newScanner; temp=(); for(i=0;i<&&temp<=array[i];i++)/*在排序后的数组中查找*/ { if(temp==array[i]){ "array[%d]是您所找的数.\n",i);/*在数组中有可能有相等的元素*/ }elseif(temp!=array[i-1]){ "数组中没有您想找的数.");/*数组中没有所输入的数*/ } } }8.现有一个长度为49的整型数组a[49],不重复的将1-50之中49个数依次赋值给该数组,编写程序找出没有放进该数组的是哪个数参考答案:publicstaticintfindNum(inta[]){ intnumFound=0; (a); for(inti=0;i<50;i++){ if(a[i]!=(i+1)){ numFound=i+1; break; } } returnnumFound;}第6章1.指出下面声明中的语法错误(如果有)。记住,域声明的某些部分是可选的。(1)publicbooleanisEven;(2)privatebooleanisEven;(3)privatebooleanisOdd;(4)publicbooleanisOdd;(5)stringS;(6)privatebooleaneven=0;(7)privateStrings=helloWorld;参考答案:(3)和(4)均存在变量名命名错误;(5)string并不是一个类型,应为String。(6)布尔类型变量的值应该为“true”或者“false”,不应该为整型。(7)helloWorld不是一个字符串,必须用双引号,如:”helloWorld”。2.写出下列实例变量的声明:(1)名为bool的私有boolean型变量,初始值为真。(2)名为str的公共string型变量,初始值为“hello”。(3)名为nEmployees的私有int型变量,没有初始值。参考答案:(1)privateBooleanbool=true;(2)publicStringstr=“hello”;(3)privateintnEmployees;3.创建如下类:Circle类(圆形),Square类(正方形)和Point类(点)。Point根据(x,y)坐标定位。Cricle除了一个(x,y)坐标之外,还有半径属性。正方形除了一个(x,y)坐标之外,还有边长。请问这些类中那些是超类,那些是子类参考答案:Point类(点)为超类,而Circle类(圆形)和Square类(正方形)为子类。4.关键字组合问题:(1)abstract方法能否是final类型的(2)abstract方法能否是static类型的(3)能否定义一个私有静态(privatestatic)方法参考答案:(1)abstract不能用final修饰符修饰;(2)abstract方法不能是static类型的;(3)不能定义一个私有静态方法。5.阅读下面代码:1. publicclassTest{2. voidtest(shorts){3. "Iamanint");4. }5. voidtest(byteb){6. "Iamastring");7. }8. 9. publicstaticvoidmain(Stringargs[]){10. Testt=newTest();11. charch='y';12. (ch);13. }14. }下面对于上述代码的描述哪个是正确的(1)第5行无法编译,因为void方法不能被重载(overridden)(2)第12行无法编译,因为没有定义可以接受char类型参数的方法(3)代码可以编译,但执行时在12行会抛出异常(4)代码可以编译,并且执行之后的输出结果为:Iamanint参考答案:(2)为正确参考答案。6.阅读下面代码,请确定a、b、c、d中的哪一个说法是正确的 classA{ intvalue1; } classBextendsA{ intvalue2; }(2)类A扩展了类B(2)类B是类A的父类(3)类B是类A的子类(4)类A的对象实例中,存在一个名字为value2的成员变量参考答案:(3)为正确参考答案。7.在如下源代码文件中,哪个是正确的类定义(1)publicclasstest{publicintx=0;publictest(intx){=x;}}(2)publicclassTest{publicintx=0;publicTest(intx){=x;}}(3)publicclassTestextendsT1,T2{publicintx=0;publicTest(intx){=x;}}(4)protectedclassTestextendsT2{publicintx=0;publicTest(intx){=x;}}参考答案:(2)为正确参考答案。8.描述静态代码块、非静态代码块与构造函数的执行顺序。参考答案:(静态代码块非静态代码块构造方法)。9.请用代码实现一个计算方法calc(),该方法接受两个参数,返回值为两个参数的和,并且返回值类型与传入的参数类型一致,例如:calc(3,5)返回8,calc,返回。参考答案:(这里不考虑类型判断和溢出等问题,使用方法重载或者泛型实现) (1)publicintcalc(intnum1,intnum2){ returnnum1+num2;}publicdoublecalc(doublenum1,doublenum2){ returnnum1+num2;}(2)publicTcalc(Tnum1,Tnum2){ returnnum1+num2;}10.简述Java中this和super的用法。参考答案:在Java中有两个非常特殊的变量:this和super,这两个变量在使用前都是不需要声明的。this变量使用在成员函数的内部,指向当前对象。super变量直接指向超类的构造函数,用来引用超类中的变量和方法。this指代当前类的构造方法,super指代父类的构造方法。第7章1."abcd"instanceofObject的返回结果是:(1)"abcd"(2)true(3)false(4)String参考答案:(2)为正确项。2.阅读下面代码:publicclassFoo{publicstaticvoidmain(String[]args){inti=0;addTow(i++);voidaddTow(inti){i+=2;}}上述代码的执行结果是:(1)0 (2)1(3)2 (4)3参考答案:(2)为正确项。3.阅读下面代码publicclassThisUse{intplane;staticintcar;publicvoiddoSomething(){inti;下列选项中哪一个说法是错误的(1)实例方法可以直接访问静态变量和静态方法(2)静态方法可以直接访问静态变量和静态方法(3)静态方法可以直接访问实例变量和实例方法(4)静态方法中不能使用this和super参考答案:(3)选项说法是错误。5.关于静态变量的创建,哪一个选项的说法是正确的(1)一旦一个静态变量被分配,它就不允许改变(2)一个静态变量在一个方法中被创建,它在被调用的时候值保持不变(3)通常情况下、在任意多个类的实例中,一个静态变量的实例只存在一个(4)一个静态标识符只能被应用于原始类型变量参考答案:(3)正确选项。6.下列哪一种叙述是正确的(1)abstract修饰符可修饰字段、方法和类(2)抽象方法的body部分必须用一对大括号{}包住(3)声明抽象方法,大括号可有可无(4)声明抽象方法不可写出大括号参考答案:(4)为正确项。解析:抽象方法的定义:只有方法的声明,没有方法的实现,即没有方法体。7.阅读下面代码:1:interfaceFoo{2: intk=0;3:}4:5:publicclassTestimplementsFoo{6: publicstaticvoidmain(Stringargs[]){7: inti;8: Testtest=newTest();9: i=;10: i=;11: i=;12: }13:}下面关于执行结果的说法哪一个是正确的(1)第2行编译失败 (2)第9行编译失败(3)第10行编译失败 (4)编译成功参考答案:(4)为正确项。8.阅读下面代码:classA{voidtest1(){hi();}privatevoidhi(){"sayhi,a");}}classAAextendsA{voidhi(){"sayhi,aa");}}publicclasstest{publicstaticvoidmain(Stringb[])throwsException{Aa=newAA();();}}下面关于上述代码的说法哪一个是正确的(1)编译失败 (2)编译通过,执行结果是:sayhi,a(3)编译通过,执行结果是:sayhi,aa (4)编译通过,运行时发生错误参考答案:(2)为正确项。简述Java中有几种内部类(根据自己的理解,简答即可)参考答案:(1)静态嵌套类:是个封闭式顶层类或接口的static(静态)成员。这样的类在Java中作为顶层类。(2)成员内部类:是一种非静态内部类,它不是顶层类。作为包含它的类的全部成员,成员类可以访问包含它的类的属性和方法,甚至private修饰的变量和方法。正如类的其他实例变量和方法一样,一个成员内部类的所有实例都与包含它的类的一个实例相关。(3)方法和作用域中的内部类(局部类):是一个内部类,定义在一个Java代码块内,比如说定义在一个方法或循环主体内。局部类具有局部作用域,仅使用在定义它的代码块内。局部类可以访问包含它的类的方法和变量。(4)匿名内部类:是一种其定义和使用被组合到单一表达式中的方法和作用域中的内部类。其定义和使用都在一个表达式中完成,而不是在一条语句中定义,在另一条语句中使用。匿名内部类只使用一次,故不包含构造方法。Java中包装类的作用是什么参考答案:在Java中不能定义基本类型的类,为了能将基本类型视为对象来处理,并能操作相关的方法,Java为每个基本类型都提供了包装类。这样,便可以把这些基本类型转化为对象来处理了。Java中final修饰的类、方法、变量各有什么特点参考答案:(1)final类final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。(2)final方法如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。使用final方法的原因有二:

第一、把方法锁定,防止任何继承类修改它的意义和实现。第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。(3)final变量(常量)用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。简述Java中反射的作用。参考答案:Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。简述Java接口的特点,和抽象类的区别。参考答案:接口的特点:(1)所有属性都是用public、static、final修饰。(2)所有方法都是用public修饰,方法没有方法体。(3)不允许有静态方法。(4)接口可以继承多个接口。和抽象类的区别:(1)抽象类中可以有普通成员变量,接口中没有普通成员变量。(2)抽象类有非抽象的方法和构造方法,并且修饰符可以是私有的,接口只能是抽象的方法,并且修饰符是public。(3)抽象类中可以包含静态方法,接口中不能包含静态方法。(4)类只能继承一个抽象类,但能实现多个接口。Java中instanceof关键字的作用是什么参考答案:instanceof是Java中的一个二元操作符,也是Java中的保留关键字。它的作用是测试它左边的对象是否是它右边类的实例,返回boolean类型的值。15.阅读下面的代码classA{publicstaticvoidprt(){"1");}publicA(){"A");}}publicclassBextendsA{publicstaticvoidprt(){"2");}publicB(){"B"); }publicstaticvoidmain(String[]args){Aa=newB();a=newA();}} 请写出输出结果。参考答案:ABA第8章下面哪个类是异常类的基类(1)String (2)Error(3)Throwable (4)RuntimeException参考答案:(3)为正确选项。Java把异常当作对象来处理,并定义一个基类作为所有异常的超类,因此Throwable在异常类层次结构的顶层。在JavaAPI中已经定义了许多异常类,这些异常类分为两大类归属于Throwable:错误(Error)和异常(Exception)。2.下面哪个选项中的异常类不是运行时异常(1)NullPointerException(2)ClassCastException(3)ArrayIndexOutOfBoundsException(4)SQLException参考答案:(4)不是运行时异常。3.阅读下面代码:try{intx=0;inty=5/x;}catch(Exceptione){("Exception");}catch(ArithmeticExceptionae){("ArithmeticException");}("finished");以下哪一个选项的说明是正确的(1)执行结果为:finished (2)执行结果为:Exception(3)编译失败 (4)执行结果为:ArithmeticException参考答案:(3)编译失败。因为ArithmeticException是Exception的子类,在使用其之前已经捕获了Exception。4.以下关于异常(Exception)的说法,哪一项是正确的(1)类的方法中发生的异常,可以通过try–catch语句进行捕捉。(2)JAVA中所有异常都必须被捕捉并处理,否则在编译时将提示编译错误。(3)try-catch-finally语句来说,finally部分的代码,只在发生异常时执行。(4)try-catch-finally语句来说,finally部分的代码,只在未发生异常时执行。参考答案:(1)为正确项。5.以下关于异常(Exception)的说法,哪一项是正确的(1)Error类型的异常必须被捕捉处理,否则会提示编译错误(2)SQLExcpetion属于RuntimeException(3)在对异常进行捕捉处理时,finally部分必须存在(4)在对异常进行捕捉处理时,catch部分可以对多个异常进行捕捉参考答案:(4)为正确项。6.试说明Java中异常处理的方式。(根据自己的理解,简答即可)参考答案:(1)Java默认处理程序,程序终止,输出异常信息。(2)程序处理,使用try-catch的语法,只有在知道如何处理的情况下才捕获异常!一旦程序中出现不可恢复的错误,程序应当尽快终止,不要尝试处理异常。(3)回避异常,使用throws方法抛出。(4)异常转换,异常捕获后后进行再次t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论