欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    java笔试题汇总.docx

    • 资源ID:8730797       资源大小:25.51KB        全文页数:25页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java笔试题汇总.docx

    1、java笔试题汇总Java笔试题:Java基础概念(附答案)一、Java笔试题?单项选择题1Java是从()语言改进重新设计。AAda BC+ CPasacal DBASIC答案:B2下列语句哪一个正确()A Java程序经编译后会产生machine codeB Java程序经编译后会产生byte codeC Java程序经编译后会产生DLLD以上都不正确答案:B3下列说法正确的有()A class中的constructor不可省略B constructor必须与class同名,但方法不能与class同名C constructor在一个对象被new时执行D一个class只能定义一个constr

    2、uctor答案:C4提供Java存取数据库能力的包是()Ajava.sql Bjava.awt Cjava.lang Djava.swing答案:A5下列运算符合法的是()A& B Cif D:=答案:A6执行如下程序代码a=0;c=0;do-c;a=a-1;while(a0);后,C的值是()A0 B1 C-1 D死循环答案:C7下列哪一种叙述是正确的()A abstract修饰符可修饰字段、方法和类B抽象方法的body部分必须用一对大括号 包住C声明抽象方法,大括号可有可无D声明抽象方法不可写出大括号答案:D8下列语句正确的是()A形式参数可被视为local variableB形式参数可被

    3、字段修饰符修饰C形式参数为方法被调用时,真正被传递的参数D形式参数不可以是对象答案:A9下列哪种说法是正确的()A实例方法可直接调用超类的实例方法B实例方法可直接调用超类的类方法C实例方法可直接调用其他类的实例方法D实例方法可直接调用本类的类方法答案:D二、Java笔试题?多项选择题1Java程序的种类有()A类(Class) BApplet CApplication DServlet2下列说法正确的有()A环境变量可在编译source code时指定B在编译程序时,所能指定的环境变量不包括class pathC javac一次可同时编译数个Java源文件D javac.exe能指定编译结果要

    4、置于哪个目录(directory)答案:BCD3下列标识符不合法的有()Anew B$Usdollars C1234 Dcar.taxi答案:ACD4下列说法错误的有()A数组是一种对象B数组属于一种原生类C int number=31,23,33,43,35,63D数组的大小可以任意改变答案:BCD5不能用来修饰interface的有()Aprivate Bpublic Cprotected Dstatic 答案:ACD6下列正确的有()A call by value不会改变实际参数的数值B call by reference能改变实际参数的参考地址C call by reference不能

    5、改变实际参数的参考地址D call by reference能改变实际参数的内容答案:ACD7下列说法错误的有()A在类方法中可用this来调用本类的类方法B在类方法中调用本类的类方法时可直接调用C在类方法中只能调用本类中的类方法D在类方法中绝对不能调用实例方法答案:ACD8下列说法错误的有()A Java面向对象语言容许单独的过程与函数存在B Java面向对象语言容许单独的方法存在C Java语言中的方法属于类中的成员(member)D Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9下列说法错误的有()A能被java.exe成功运行的java class

    6、文件必须有main()方法B J2SDK就是Java APIC Appletviewer.exe可利用jar选项运行.jar文件D能被Appletviewer成功运行的java class文件必须有main()方法答案:BCD三、Java笔试题?判断题1Java程序中的起始类名称必须与存放该类的文件名相同。()答案:正确2Unicode是用16位来表示一个字的。()答案:正确3原生类中的数据类型均可任意转换。()答案:错误 Java笔试题附答案欢迎进入Java社区论坛,与200万技术人员互动交流 进入一、单项选择题1Java是从()语言改进重新设计。AAda BC+ CPasacal DBAS

    7、IC答案:B2下列语句哪一个正确()A Java程序经编译后会产生machine codeB Java程序经编译后会产生byte codeC Java程序经编译后会产生DLLD以上都不正确答案:B3下列说法正确的有()A class中的constructor不可省略B constructor必须与class同名,但方法不能与class同名C constructor在一个对象被new时执行D一个class只能定义一个constructor答案:C4提供Java存取数据库能力的包是()Ajava.sql Bjava.awt Cjava.lang Djava.swing答案:A5下列运算符合法的是(

    8、)A& B Cif D:=答案:A6执行如下程序代码a=0;c=0;do-c;a=a-1;while(a0);后,C的值是()A0 B1 C-1 D死循环答案:C7下列哪一种叙述是正确的()A abstract修饰符可修饰字段、方法和类B抽象方法的body部分必须用一对大括号 包住C声明抽象方法,大括号可有可无D声明抽象方法不可写出大括号答案:D8下列语句正确的是()A形式参数可被视为local variableB形式参数可被字段修饰符修饰C形式参数为方法被调用时,真正被传递的参数D形式参数不可以是对象答案:A9下列哪种说法是正确的()A实例方法可直接调用超类的实例方法B实例方法可直接调用超类

    9、的类方法C实例方法可直接调用其他类的实例方法D实例方法可直接调用本类的类方法答案:D二、多项选择题1Java程序的种类有()A类(Class) BApplet CApplication DServlet2下列说法正确的有()A环境变量可在编译source code时指定B在编译程序时,所能指定的环境变量不包括class pathC javac一次可同时编译数个Java源文件D javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD3下列标识符不合法的有()Anew B$Usdollars C1234 Dcar.taxi答案:ACD4下列说法错误的有()A数组是一种对象

    10、B数组属于一种原生类C int number=31,23,33,43,35,63D数组的大小可以任意改变答案:BCD5不能用来修饰interface的有()Aprivate Bpublic Cprotected Dstatic 答案:ACD6下列正确的有()A call by value不会改变实际参数的数值B call by reference能改变实际参数的参考地址C call by reference不能改变实际参数的参考地址D call by reference能改变实际参数的内容答案:ACD7下列说法错误的有()A在类方法中可用this来调用本类的类方法B在类方法中调用本类的类方法时

    11、可直接调用C在类方法中只能调用本类中的类方法D在类方法中绝对不能调用实例方法答案:ACD8下列说法错误的有()A Java面向对象语言容许单独的过程与函数存在B Java面向对象语言容许单独的方法存在C Java语言中的方法属于类中的成员(member)D Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9下列说法错误的有()A能被java.exe成功运行的java class文件必须有main()方法B J2SDK就是Java APIC Appletviewer.exe可利用jar选项运行.jar文件D能被Appletviewer成功运行的java clas

    12、s文件必须有main()方法答案:BCD三、判断题1Java程序中的起始类名称必须与存放该类的文件名相同。()答案:正确2Unicode是用16位来表示一个字的。()答案:正确3原生类中的数据类型均可任意转换。()答案:错误 1.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。 答案: BOOL : if ( !a ) or if(a) int : if ( a = 0) float : const EXPRESSION EXP = 0.000001 if ( a -EXP) pointer : if ( a != NULL) or if(a = NULL) 2.请

    13、说出const与#define 相比,有何优点? 答案:1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。 2) 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。 3.简述数组与指针的区别? 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。 (1)修改内容上的差别 char a = “hello”; a0 = X; char *p = “world”; / 注意p 指向常量字符串 p0 = X; /

    14、 编译器不能发现该错误,运行时错误 (2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C+/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。 char a = hello world; char *p = a; cout sizeof(a) endl; / 12 字节 cout sizeof(p) endl; / 4 字节 计算数组和指针的内存容量 void Func(char a100) cout sizeof(a

    15、) endl; / 4 字节而不是100 字节 4.类成员函数的重载、覆盖和隐藏区别? 答案: a.成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 b.覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virtual 关键字。 c.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下: (1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与

    16、重载混淆)。 (2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆) 5. There are two int variables: a and b, dont use “if”, “? :”, “switch”or other judgement statements, find out the biggest one of the two numbers. 答案:( ( a + b ) + abs( a - b ) ) / 2 6. 如何打印出当前源文件的文件名以及源文件的当前行号? 答案: cout _F

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

    18、 This is executed first.n ); int fn1() printf( next.n ); return 0; int fn2() printf( executed ); return 0; int fn3() printf( is ); return 0; int fn4() printf( This ); return 0; The _onexit function is passed the address of a function (func) to be called when the program terminates normally. Successi

    19、ve calls to _onexit create a register of functions that are executed in LIFO (last-in-first-out) order. The functions passed to _onexit cannot take parameters.8. 如何判断一段程序是由C 编译程序还是由C+编译程序编译的? 答案: #ifdef _cplusplus coutc+; #else coutc; #endif 9.文件中有一组整数,要求排序后输出到另一个文件中 答案: i nclude i nclude using name

    20、space std; void Order(vector& data) /bubble sort int count = data.size() ; int tag = false ; / 设置是否需要继续冒泡的标志位 for ( int i = 0 ; i count ; i+) for ( int j = 0 ; j dataj+1) tag = true ; int temp = dataj ; dataj = dataj+1 ; dataj+1 = temp ; if ( !tag ) break ; void main( void ) vectordata; ifstream in(

    21、c:data.txt); if ( !in) couttemp; data.push_back(temp); in.close(); /关闭输入文件流 Order(data); ofstream out(c:result.txt); if ( !out) coutfile error!; exit(1); for ( i = 0 ; i data.size() ; i+) outDATAInext = NULL ) return head; Node *p1 = head ; Node *p2 = p1-next ; Node *p3 = p2-next ; p1-next = NULL ;

    22、while ( p3 != NULL ) p2-next = p1 ; p1 = p2 ; p2 = p3 ; p3 = p3-next ; p2-next = p1 ; head = p2 ; return head ; (2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同) Node * Merge(Node *head1 , Node *head2) if ( head1 = NULL) return head2 ; if ( head2 = NULL) return head1 ; Node *head = NULL ; N

    23、ode *p1 = NULL; Node *p2 = NULL; if ( head1-data data ) head = head1 ; p1 = head1-next; p2 = head2 ; else head = head2 ; p2 = head2-next ; p1 = head1 ; Node *pcurrent = head ; while ( p1 != NULL & p2 != NULL) if ( p1-data data ) pcurrent-next = p1 ; pcurrent = p1 ; p1 = p1-next ; else pcurrent-next

    24、= p2 ; pcurrent = p2 ; p2 = p2-next ; if ( p1 != NULL ) pcurrent-next = p1 ; if ( p2 != NULL ) pcurrent-next = p2 ; return head ; (3)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,这次要求用递归方法进行。 (Autodesk) 答案: Node * MergeRecursive(Node *head1 , Node *head2) if ( head1 = NULL ) return head2 ; if ( head2 = NU

    25、LL) return head1 ; Node *head = NULL ; if ( head1-data data ) head = head1 ; head-next = MergeRecursive(head1-next,head2); else head = head2 ; head-next = MergeRecursive(head1,head2-next); return head ; 1.C+或Java中的异常处理机制的简单原理和应用。当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义

    26、检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。2. Java的接口和C+的虚类的相同和不同处。由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所

    27、有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。3. 垃圾回收的优点和原理。并考虑2种回收机制。Java语言中一个显著的特点就是引入了垃圾回收机制,使c+程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收


    注意事项

    本文(java笔试题汇总.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开