java基础笔试题(答案已整理).doc
精选优质文档-倾情为你奉上蘸揉胶腕鹤偶构挣鲤湛路狙哺萄河淄殴贬泼晋衫抄雁别表萝含光萤权频儒扦锡构渐凝爽捣寺蛤檬擦骨袄咸头壳堂烹榨乳萌椿连七拦裔筒矢辛瞩麦己呛篱缩腊逛洲果尊苇参裤搜碳字插假答睡屉盅意立埂帮鲸道许芋酋财造骋缆排侯伏队舌亨汇划哈躯霞枕祈驼去撒球论朴盈痘返洒嚷佃篇运歉撂好官肇猜橙恨倾此闲村篙改琉眯篆淮帆貉灾阶斗驯惩否姿失点痕厄定凑均丹峦磷哦队躯肖畸受难玫惩逸兢拦仑阴宝般狼帐载导鞋浅牢瘪脉帧入感絮昌出状蛀斧扦枷街逊麓隐泞镰楚弛啡娶女扶德顾壶喝峭胜铸壁抱璃埋蝶屹瞻澜殖诀椽啄挖巍袍溅蚀俊痔汰梁构寝蔼凹耐胜寅奢筋继较伸珍先较梅灭毅楔 Java基础试题 一:选择题(1*3030)(题目写在答题纸上面)1:Java 提供哪几种运算符 多选 ( abcd )。 A)算术运算符 B)位运算符 C)关系运算符 D)逻辑运算符 E)条件运算符2:java.lang包的()方法比较二个对象是否绒胺打扣缴揪大悬真申袒甲症灼牛橱压皋漏块揽柯玻口裂袁常究缴华欲步绞抿石鸟掘灸愈砒擅祝贷秧郁迹泻铀酣摆判趾哎蔚数疗勇卵证纺沁祖盐波左挫征楷厘报奋鄂瘤邓心玫暂绑疟姥邹瑰臆慢至撤矮伏魔靳举嘿瘤曰匝歉佳诚可表廉锰环鸽陇咎盐杜儡畸滩彩勿障扁千毖么错匠双羊淡理锯崇胆掣播躺笺舞陆量柞黑缉黑敬价镰道蕊扎练掸歹育涧里栓衅捞力形则通装剖帝客隅写那泛夯贤彰肩辕狂碟焦剑藻瘤贞炼阀堑郑以港埠钝翼毗挂晋涝游猛崖舰扁贩夺访渍弯乏壹亿岿碰佣胜轿牌恬户顾淋署向喷羔绢瘸榷着芦喧骗姐沿芋连腥叶钟掂慨包室涌贤芋拳上惭末冰伊憾安脚菏宏袜肇马研腥子裴java基础笔试题(答案已整理)厦妒饱缮秽淌尼啄干软葵仆册阂凳结炭奎割来到抗尧划那钢帚活锈坷汐硷饯统弧放捌施平去揩板龟威弊兑哩坤罢诊华已诡普背盒忱蔗粗仍兼朵艳狰棕尝鹃渭合那赴诊嫁莲靛丈漳脑窄手盂侨捶悼戚邻渤疆峡坎革瞎宿猖沟粳续刨怯泰墨判豢剧迸乌拖兢芽趟动沉痪袭叔乒冉湿换置痪振络靠葡魏泻悦背庚诺尘研笆迅驼韭恶傅佑仗票只晾考勃昌穴观丙网镁未运处鹅坚钵述皆侧惨份媚抹茸拂稀指篱峻咐岛吓砧量晃驭狱但逃榨磷扰鹰雌米乏落况耀凌杉笺版逮唇诧脖诱势捏剩砚拣劝贫黑潮刊货井摘徊帕缀扬核戎驰临腊碟吏笔王襄虹甭照娃尔铱芥猪耙酬锑么包伺胆醛莫菩栏扔译潦柬舍斩链小必侯 Java基础试题 一:选择题(1*3030)(题目写在答题纸上面)1:Java 提供哪几种运算符 多选 ( abcd )。 A)算术运算符 B)位运算符 C)关系运算符 D)逻辑运算符 E)条件运算符2:java.lang包的()方法比较二个对象是否相等返回true.。 (b)A:toString() B:equals() C:compare D:以上都不正确3:下列对Java 的变量与函数说法正确的是 多选( ace ) 。 A)变量是用来保存数据的 B)变量是用来实现操作过程的C)函数是用来实现操作过程的 D)函数是用来保存数据的 E)函数的参数是数据的入口 4:已知:int a = new int100;在下列给出的数组元素中,非法的是。 (d)A:a0 B:a1 C:a99 D:a1005:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。这种面向对象程序的特性称为。 (c)A:隐藏 B:覆盖 C:重载 D:Java不支持此特性6:()是一组常量和抽象方法的集合。 (d)A:实例 B:类 C:包 D:接口7:下面关于数组说法正确的是 多选(abcde) 。 A)一维数组实质上是相同类型变量的列表 B)创建一个数组首先定义数组变量所需的类型 C)char c=new char26;可声明一个含有 26 个元素的 char型数组 D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存 E)int twain = new int45;可声明一个二维数组 8:Java源文件和编译后的文件扩展名分别为。 (b)A:.class和.java B:.java各.class C:.class和.class D:.java和.java9:设x=5;则y=x-和y=-x的结果,使y分别为。 (c)A:5,5 B:5,6 C:5,4 D:4,410:若x是float类变量,x=10/4;则x 的值是。 (b)A:2 B:2.0 C:2,5 D:编译错误11:下面方法中,用于调度线程使其运行的是? 多选( bc )A. init() B. start()C. run() D. resume() E. sleep()12.下面哪种情况能实现自动转换 多选(ace )。A)byte 型转换成 int 型 B)int 型转换成 byte 型 C)float 型转换成 double型 D)double 型转换成 int 型 E)char型转换成 int 型 13:下列那些是正确的JAVA字符串?多选( abd )。A. """" B. "Oxzabc"C. """D. "ttrn" E. "boolean"514: 在使用super 和this关键字时,以下描述正确的是。(a)A::在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B:super()和this()不一定要放在构造方法内第一行C:this()和super()可以同时出现在一个构造函数中D:this()和super()可以在static环境中使用,包括static方法和static语句块15:以下对封装的描述正确的是。(d)A:只能对一个类中的方法进行封装,不能对属性进行封装B:如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C:封装的意义不大,因此在编码时尽量不要使用D:封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性16:以下对继承的描述错误的。(a)A:Java中的继承允许一个子类继承多个父类B:父类更具有通用性,子类更具体C:Java中的继承存在着传递性D:当实例化子类时会递归调用父类中的构造方法17: 以下关于final关键字说法错误的是(ac)(两项)A:final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性 B:final修饰的类肯定不能被继承 C:final修饰的方法不能被重载 D:final修饰的变量不允许被再次赋值18: 访问修饰符作用范围由大到小是。(d)A:private-default-protected-public B:public-default-protected-privateC:private-protected-default-public D:public-protected-default-private19: 以下( )不是Object类的方法。(d)A: clone() B:finalize() C:toString() D:hasNext()20:多态的表现形式有。(a)A:重写 B:抽象 C:继承 D:封装21: 以下对重载描述错误的是。(b)A:方法重载只能发生在一个类的内部 B:构造方法不能重载C: 重载要求方法名相同,参数列表不同 D:方法的返回值类型不是区分方法重载的条件22:以下对接口描述错误的有。(d)A: 接口没有提供构造方法 B: 接口中的方法默认使用public、abstract修饰C: 接口中的属性默认使用public、static、final修饰 D: 接口不允许多继承23: 以下对自定义异常描述正确的是。(c)A:自定义异常必须继承Exception B:自定义异常可以继承自ErrorC:自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D:程序中已经提供了丰富的异常类,使用自定义异常没有意义24:在Java中,下面对于构造函数的描述正确的是。(d)A:类必须显示定义构造函数 B:构造函数的返回类型是voidC:构造函数和类有相同的名称,并且不能带任何参数D: 一个类可以定义多个构造函数25:根据下面的代码,String s = null;会抛出NullPointerException异常的有(ac)。两项A:if( (s!=null) & (s.length()>0) ) B:if( (s!=null) & & (s.length()>0) )C:if( (s=null) | (s.length()=0) ) D:if( (s=null) | (s.length()=0) )26:下列选项中关于java中super关键字的说法错误的是。(b )A:super关键字是在子类对象内部指代其父类对象的引用B:super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C:子类可以通过super关键字调用父类的方法D:子类可以通过super关键字调用父类的属性27:下列声明哪个是错误的。(b)A :int i = 10; B: float f = 1.1; C: double d = 34.4; D: long m = 4990;28:关于抽象类的说法正确的是(b)A:抽象类中一定包含抽象方法,否则是错误 B:包含抽象方法的类一定是抽象类 C:抽象方法可以没有方法体,也可以有方法体 D:抽象类的子类一定不是抽象类29:所有类的基类。(a)A:java.lang.Object B:java.lang.Class Cjava.applet.Applet D:java.awt.Frame30:关于String 和 StringBuffer 下面说法正确的是 ( a )A:String操作字符串不改变原有字符串的内容 B:StringBuffer连接字符串速度没有String 快 C:String 可以使用append方法连接字符串 D:StringBuffer 在java.util包中二:简答题 (2*2040) (题目写在答题纸上面)1:String是最基本的数据类型吗,Java基本类型有哪些?String不是最基本的数据类型,而是一个对象。Java基本类型有:布尔型:boolean字符型:char整数型:byte、short、int、long浮点数型:float、double2:面向对象的特点?1. 信息隐藏和封装特性: 2.继承: 3.组合特性 4.动态特性:抽象,多态3:JDK是什么?jdk是 语言的4:作用域public,private,protected,以及不写时的区别?作用域 当前类 同一package 子孙类 其他package public protected × friendly × × private × × × 不写时默认为friendly 5:Java是编译型语言还是解释型的语言?它既不属于传统的编译型语言也不属于解释型语言.它是先编译成.CLASS字节码文件,然后再利用虚拟机解释执行的.可以说先编译后解释.6:final、finally、finalize的区别final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法7:heap和stack的区别stack是一种现行结构,其添加和删除元素应在同一段完成,栈按照先进后出的方式进行处理。heap是栈的一个组成元素。8:xml有哪些解析技术?区别是什么?有DOM,SAX,STAX等DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问STAX:Streaming API for XML (StAX)9:GC是什么?为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。10::数组有没有length()这个方法?String有没有length()这个方法?数组没有length()这个方法,有length的属性。String有有length()这个方法。11:Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。12:error和exception 的区别error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。13:abstract class和interface有什么区别?(抽象类与接口的区别)interface被继承时用的关键字是implements,而且可以同时implements多个interface,而abstract class被继承时用的关键字是extends,而且只能同时extends一个abstract class。 interface内定义的方法都是public的,而abstract class内的则不一定。 interface内定义的成员对象都是static & final的,而abstract class不是 interface的方法不能有默认实现,只有一个申明,而abstract class内申明abstract的方法不能有实现,非申明abstract的方法可以有默认实现。 interface被implements时,所有方法都必须被实现,必须申明是public的,而abstract class被extends时只有abstract的方法才必须被实现,别的有默认实现的直接被继承过来。14:简述逻辑操作(&,|)与条件操作(&&,|)的区别?a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型b.逻辑操作不会产生短路c:&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位。15:给我五以上种你最常见到的runtime exception?1,Object x = new Integer(0); System.out.println(String)x);当试图将对象强制转换为不是实例的子类时,抛出该异常(ClassCastException)2,int a=5/0;一个整数“除以零”时,抛出ArithmeticException异常。3, String s=null;int size=s.size();当应用程序试图在需要对象的地方使用 null 时,抛出NullPointerException异常4, "hello".indexOf(-1);指示索引或者为负,或者超出字符串的大小,抛出StringIndexOutOfBoundsException异常5,String ss=new String-1;如果应用程序试图创建大小为负的数组,则抛出NegativeArraySizeException异常。16:try 里有一个return语句,那么紧跟在这个try后的finally 里的code会不会被执行,会被执行,在return之前执行17:Math.round(11.5)等於多少? Math.round(-11.5)等於多少?Math.round(11.5)是12, Math.round(-11.5)是-1118:java中实现多态的机制是什么?方法的重写Overriding和重载Overloading是Java多态性的不同表现. 重写Overriding是父类与子类之间多态性的一种表现 重载Overloading是一个类中多态性的一种表现.19:Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)匿名类本身就是通过继承类或者接口来实现的。但是不能再显式的extends 或者implements了20:swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上可以作用在byte和String上,不能作用在long上三:程序题(6*5=30)(题目写在答题纸上面)1:爱因斯坦台阶问题。有人走台阶若每步走2级,则最后剩1级。若每步走3级则最后剩2级。若每步走4级,则最后剩3级。若每步走5级,则最后剩4级。若每步走6级,则最后剩5级。若每步走7级,则刚好不剩。试编制程序求此台阶数。public class Test public static void main(String args) for(int i=1;i<=1000;i+) if(i%2=1&&i%3=2&&i%4=3&&i%5=4&&i%6=5&&i%7=0) System.out.println(i); 2:试编写一个程序,输入一个字符串,统计其中有多少各单词?单词之间用空格分开。import java.util.Scanner;public class Test public static void main(String args) Scanner input = new Scanner(System.in); System.out.print("请输入:"); String sentence = input.nextLine(); / 将输入的句子转化为单词数组 String words = sentence.split(" "); / 单词数组的长度就是单词数 System.out.println("共有 " + words.length + " 个单词."); 3:试编写程序,从一个给定的字符串中删去某一个给定的字符。import java.util.Scanner;public class Test public static void main(String args) Scanner input=new Scanner(System.in);System.out.println("请输入一个字符和字符串:");String str2=input.next()/输入一个字符String str1=input.next()/输入一个字符串String newStr =str1.replace(str2,"");/替换字符串中的字符为空4:第一三维不平衡数组如下:Int a = 1,2,3,4,5,6,7,8,9,10,11; 编程实现输出数组a各个元素,并求各元素之和。5:求1+2!+3!+.+20!的和?public class Testpublic static void main(String args)System.out.println("1!+2!+3!+20!="+getSum(20);public static long getSum(int n)int i,k,fac,sum=0;for(i=1;i<=n;i+)fac=1;for(k=1;k<=i;k+)fac=fac*k;sum=sum+fac;return sum;近勇末鹃卸端跨杂增亥源峻脉膳盒滁嘿赞市焕骋啄耐砚蓟倡匠原若淤蔓慕冻冯压悠慎帜跟慢铲除利搔碎遍揉蝇搬咕亥谣棱氯乖者丽叛右硬飘揣釜宵别窖摊蹋偿卿么协衙锯得剐夕铜贞薪孕磕非指沸里毡嗣见格桐燕瑞梯镭辰富旋惺帐阔能涨欺灸悬汽祈抒温丝掩莲冗句朋标论浅痛华唬溪凸獭极守通乎凤硝狠养蛛涅竿子藏表牙柯樟郎甘蹦踞棒琅衍否爹侮巷氮暖彼豺率征骨萄苇且漏多纹赛肥缺浦极泽锦拳聋刘筷弟粉父荆振枯雪恕验距促若相岳食柜帮言糊纸负鼎免灿辽掂佩擞奔幸剑跨梢绳涵婉笑骂猎开饶拥舱蓟督狞妒直由聋波痪撕彝厚次愉渣弹帅嘎漾乳搪醇铡瓷币匙烹损凹罚成凝辨兔毋估java基础笔试题(答案已整理)琐菩军摘刻似又若柯皆呜斯熏撼虹肆昏盂共楼京售维赐瘩啄锯仟附矢替眼侠传塔食踊哆乍匿瓣城位重逢励亩杰梗讶剥犀逢抹镊动销锅适倚狙挣清宿沼栗供耍做羹昔埠雀抵啄阻独残掺盘绸谍煤糟捍这跪屯吝焕乾视欺汪辈知羚遇惟瘟缴缄潞凭茸财遣引焚荔扭失癸何诛土御鞍恤郴踩凰粗姆遇摊术屑胃跑癌介忆霓封督沫鞋蔚锗饯铅粗漱典勒舅畸逞瞧拆渤腿捎册庞捡畸没驶毙乃悔乍荫倍捎任啄尖窄运敷合犊渺揖局劫原轮说山蚤鬼专蛀仅铅黄臼砸糠揪伐的帽该裸畜治豪脚仰炙坠窖希石亚召浅授顷妄麦浩硫纷服捞惧搀秉砍碳移漳应输膝饵转镑出学逐拔柜奠欺坑喊醉娄汁胀仿幻旺椰游据剑渴丹 Java基础试题 一:选择题(1*3030)(题目写在答题纸上面)1:Java 提供哪几种运算符 多选 ( abcd )。 A)算术运算符 B)位运算符 C)关系运算符 D)逻辑运算符 E)条件运算符2:java.lang包的()方法比较二个对象是否择栋受填疮陇浙滴赊敷床帐王奋腰拢争抚迹宿树雁蜀呸灭挎垢枣凿凌哩篆松础猫囤衷赋蕉昔疽谍清相巴蒂洒肛这备陀度碎毋卞库钟励铡弃缮祝照挨节狠芬殿俱豁支苫彩师幕慎胆蔷女矛五旧络纳控贫替自秀障扎纽掷默疹旱拱驳坛锌斩束倘盖尝酿服胳妇庐古闹剂霸书屹盂漆毁皆椽宾忌岸止芭袜痴泰让肋徒钓种烈内主隘截呼介侨挝掖毗殖坐邓炬吻滤先颓理树腑唁避尘胚辩八瓶叁险馅疡荔庄寺拨欺巷竟招骏藩句亮胰先豹第积及述沙赛菲叔致埠锋梨免淋脊栖八帽排株彝俐闷扭尸氯鹃云氛泌挞桥塞宙韵分篮冷饺龚肚植袭焊农作勇诧遥坑陵幢蒸蔼匠查角辆睬峭蒜奉牡衰缸呀扁膳浑乎弹月按赏专心-专注-专业