Java经典面试题大全_带答案

上传人:桔**** 文档编号:498117322 上传时间:2023-10-13 格式:DOC 页数:9 大小:64KB
返回 下载 相关 举报
Java经典面试题大全_带答案_第1页
第1页 / 共9页
Java经典面试题大全_带答案_第2页
第2页 / 共9页
Java经典面试题大全_带答案_第3页
第3页 / 共9页
Java经典面试题大全_带答案_第4页
第4页 / 共9页
Java经典面试题大全_带答案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《Java经典面试题大全_带答案》由会员分享,可在线阅读,更多相关《Java经典面试题大全_带答案(9页珍藏版)》请在金锄头文库上搜索。

1、Java经典面试题带答案、单项选择题1Java是从()语言改进重新设计。AAdaBC+CPasacalDBASIC答案:B2下列语句哪一个正确()AJava程序经编译后会产生machinecodeB.Java程序经编译后会产生bytecode(字节码)CJava程序经编译后会产生DLLD.以上都不正确答案:B3. 下列说法正确的有()A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行(构造器)D. 个class只能定义一个constructor答案:C4. 提供Jav

2、a存取数据库能力的包是()A. Java.sql/sql/数据库还有Oracle也是一种数据库B. java.awtC. java.langD. java.swing答案:A5. 下列运算符合法的是()A. &B. C. ifD. :=答案:A6. 执行如下程序代码a=0;c=0;do-c;a=a-1;while(a0);后,C的值是()A. 0B. 1C. -1D. 死循环答案:C7下列哪一种叙述是正确的()Aabstract修饰符可修饰字段、方法和类B. 抽象方法的body部分必须用一对大括号包住C. 声明抽象方法,大括号可有可无D. 声明抽象方法不可写出大括号答案:D8. 下列语句正确的

3、是()A. 形式参数可被视为localvariableB. 形式参数可被字段修饰符修饰C. 形式参数为方法被调用时,真正被传递的参数D. 形式参数不可以是对象答案:A9. 下列哪种说法是正确的()A实例方法可直接调用超类的实例方法B. 实例方法可直接调用超类的类方法C实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法答案:D、多项选择题1. Java程序的种类有()人.类(Class)B. AppletC. ApplicationD. Servlet2. 下列说法正确的有()A. 环境变量可在编译sourcecode时指定B. 在编译程序时,所能指定的环境变量不包括class

4、pathC. javac次可同时编译数个Java源文件D. javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD3. 下列标识符不合法的有()A. newB. $UsdollarsC. 1234D. car.taxi答案:ACD4. 下列说法错误的有()A. 数组是一种对象B. 数组属于一种原生类C. intnumber=31,23,33,43,35,63D. 数组的大小可以任意改变答案:BCD5.不能用来修饰interface的有()AprivateBpublicCprotectedDstatic答案:ACD6下列正确的有()Acallbyvalue不会改变实际参

5、数的数值Bcallbyreference能改变实际参数的参考地址Ccallbyreference不能改变实际参数的参考地址Dcallbyreference能改变实际参数的内容答案:ACD7下列说法错误的有()A. 在类方法中可用this来调用本类的类方法B. 在类方法中调用本类的类方法时可直接调用C. 在类方法中只能调用本类中的类方法D. 在类方法中绝对不能调用实例方法答案:ACD8下列说法错误的有()AJava面向对象语言容许单独的过程与函数存在B. Java面向对象语言容许单独的方法存在C. Java语言中的方法属于类中的成员(member)D. Java语言中的方法必定隶属于某一类(对象

6、),调用方法与过程或函数相同答案:ABC9.下列说法错误的有()A. 能被java.exe成功运行的javaclass文件必须有main()方法B. J2SDK就是JavaAPIC. Appletviewer.exe可利用jar选项运行.jar文件D. 能被Appletviewer成功运行的javaclass文件必须有main()方法答案:BCD三、判断题1. Java程序中的起始类名称必须与存放该类的文件名相同。()答案:正确2. Unicode是用16位来表示一个字的。()答案:正确3. 原生类中的数据类型均可任意转换。()答案:错误1分别写出BOOL,int,float,指针类型的变量a

7、与“零”的比较语句。答案:BOOL:if(!a)orif(a)int:if(a=0)float:constEXPRESSIONEXP=0.000001if(a-EXP)pointer:if(a!=NULL)orif(a=NULL)2.请说出const与#define相比,有何优点?答案:1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。2)有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。3.简述数组与指针的区别?数组要么在静态存储区被创建(如全局数组

8、),要么在栈上被创建。指针可以随时指向任意类型的内存块。(1)修改内容上的差别chara=“hello”;a0=X;char*p=“world”;/注意p指向常量字符串p0=X;/编译器不能发现该错误,运行时错误(2)用运算符sizeof可以计算出数组的容量(字节数)。sizeof(p),p为指针得到的是一个指针变量的字节数,而不是p所指的内存容量。C+/C语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。chara=helloworld;char*p=a;coutsizeof(a)endl;/12字节coutsize

9、of(p)endl;/4字节计算数组和指针的内存容量voidFunc(chara100)coutsizeof(a)endl;/4字节而不是100字节4. 类成员函数的重载、覆盖和隐藏区别?答案:a. 成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。b. 覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。c. “隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:(1)如果派生类的函数与基类的函数同名,

10、但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)5. Therearetwointvariables:aandb,dontuse“if”,“?:”,“switch”orotherjudgementstatements,findoutthebiggestoneofthetwonumbers.答案:(a+b)+abs(a-b)/26. 如何打印出当前源文件的文件名以及源文件的当前行号?答案:cout_FILE_;cout_

11、LINE_;_FILE_和_LINE_是系统预定义宏,这种宏并不是在某个文件中定义的,而是由编译器定义的。7. main主函数执行完毕后,是否可能会再执行一段代码,给出说明?答案:可以,可以用_onexit注册一个函数,它会在main之后执行intfnl(void),fn2(void),fn3(void),fn4(void);voidmain(void)Stringstr(zhanglin);_onexit(fnl);_onexit(fn2);_onexit(fn3);_onexit(fn4);printf(Thisisexecutedfirst.n);intfnl()printf(next.

12、n);return0;intfn2()printf(executed);return0;intfn3()printf(is);return0;intfn4()printf(This);return0;The_onexitfunctionispassedtheaddressofafunction(func)tobecalledwhentheprogramterminatesnormally.Successivecallsto_onexitcreatearegisteroffunctionsthatareexecutedinLIFO(last-in-first-out)order.Thefunct

13、ionspassedto_onexitcannottakeparameters.8. 如何判断一段程序是由C编译程序还是由C+编译程序编译的?答案:#ifdef_cpluspluscoutc+;#elsecoutc;#endif9. 文件中有一组整数,要求排序后输出到另一个文件中答案:includeincludeusingnamespacestd;voidOrder(vector&data)/bubblesortintcount=data.size();inttag=false;/设置是否需要继续冒泡的标志位for(inti=0;icount;i+)for(intj=0;jdataj+1)ta

14、g=true;inttemp=dataj;dataj=dataj+1;dataj+1=temp;if(!tag)break;voidmain(void)vectordata;ifstreamin(c:data.txt);if(!in)couttemp;data.push_back(temp);in.close();/关闭输入文件流Order(data);ofstreamout(c:result.txt);if(!out)coutfileerror!;exit(1);for(i=0;idata.size();i+)outDATAI?;10. 链表题:一个链表的结点结构structNodeintdata;Node*next;typedefstructNo

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号