考试宣言:同学们,考试考多少分不是我们的目的!排在班级多少的名次也不是我们的初衷!我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了,那么不用怕,考完试后,导师讲解的时候你要注意听!那时候学会了,记住了,也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。1.下面说法正确的是()A.JVM就是Java虚拟机,包含java核心类库//JRE:JVM+Javalibrary。B.JRE就是java运行环境,包含java程序编译运行的工具环境//JDK:JRE+ToolsC.JDK就是java开发环境,javac是其中的一个工具D.功能范围:JDKJVMJRE2.下面的说法正确的是()A.Java语言是面向对象的、解释执行的网络编程语言。B.Java语言具有可移植性,是与平台无关的编程语言。C.Java语言可对内存垃圾自动收集。D.Java语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。3.给定java代码,如下:publicbytecount(byteb1,byteb2){return____;}要使这段代码能够编译成功,横线处可以填入A.(byte)(b1-b2)//返回值类型为byte,要求选项结果为byteB.b1-b2C.(byte)b1+b2D.(byte)b1/b24.关于类的命名,正确说法是()A.可以由数字和英文拉丁字母组成,且可以任意排序//数字不能开头B.命名要做到见名知意C.如果是由多个单词组成,每个单词首字母大写D.可以是Java已经定义过的关键字//囧5.关于main方法说法错误的是()A.main方法是java程序执行的入口B.main方法的方法体至少要有一行代码//可以没有代码C.main必须定义在一个类中D.main方法的定义格式为:publicstaticvoidmain(String[]args){}6.类中某方法定义如下:doublefun(inta,intb){returna*1.0/b;}同一类内其它方法调用该方法的正确方式是:A.doublea=fun(1,2);B.doublea=fun(1.0,2.0);C.intx=fun(1,2);D.intx=fun(1.0,2.0);7.给定java代码,如下,编译运行,结果是()publicstaticvoidmain(String[]args){booleanflag;System.out.println(“flag”+flag);//局部变量需要先初始化再使用}A.编译错误B.编译通过,单出现运行时错误C.正常运行,输出flag=falseD.正常运行,输出flag=8.下面哪个关键字可以定义一个类()A.interfaceB.class//查看下面解释C.extendsD.implements在Oracle官网java英文原版教程,链接地址:上有如下解释:IntheJavaprogramminglanguage,aninterfaceisareferencetype,similartoaclass,thatcancontainonlyconstants,methodsignatures,defaultmethods,staticmethods,andnestedtypes.Methodbodiesexistonlyfordefaultmethodsandstaticmethods.Interfacescannotbeinstantiated—theycanonlybeimplementedbyclassesorextendedbyotherinterfaces.Extensionisdiscussedlaterinthislesson.9.byte类型的取值范围是()A.-256至255B.-255至255C.-128至127//*/?#%¥@*&……D.-127至12810.下面关于java中方法,描述错误的是()A.必须定义在类或者接口里面B.定义一个方法之前要明确该方法需要的参数和返回值类型C.方法可以提高代码复用性,提高程序运行的效率//可以提高编写代码的效率D.方法只有调用才会被执行11.下面程序执行的结果是?()classTest{publicstaticvoidmain(String[]args){System.out.println(““+’a’+1);//+在这里是连接符,任何数据和字符串连接后,都是字符串}}A.98B.a1C.971D.19712.for循环格式如下:for(表达式1;表达式2;表达式3){//code}下面描述错误的是()A.表达式1处的代码会被执行多次//只能一次B.表达式1处可以定义变量C.表达式3用于决定循环是否应该结束//表达式2D.表达式2的值可以是任意类型,也可以是boolean类型//只能是boolean13.以下选项可以正确创建一个长度为3的二维数组的是()A.newint[2][3]B.newint[3][]C.newint[][3]D.以上答案都不对14.设以下是应用程序中定义的方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是()。staticvoidprintBinary(inti){System.out.print(i+的2进制数表示为:\t);for(intj=31;j=0;j--)if(((1j)&i)!=0)System.out.print(1);elseSystem.out.print(0);System.out.println();}A)00000000000000000000000000000001B)00000000000000000000000000000010//自己算吧。其实是求2的二级制表示形式C)00000000000000000000000000001111D)0000000000000000000000000000000015.下面关于return语句说法正确的是:()A.只能让方法返回数值B.方法都必须显式使用该关键字C.方法中可以有多句return//if第三种格式,每个条件下面都可以写一个return,单最多只能执行其中一个D.可以用来返回数值以外的类型16.下面程序执行的结果是?()inti=100;while(true){if(i++100){break;}System.out.println(i);}//continue(跳出本次循环),break(跳出,结束本循环),return(跳出,结束方法)A.100B.101C.102D.报错17.下面关于Java语言跨平台说法错误的是:A.java语言编写的程序,一次编译后,可以在多个系统平台上运行。B.java语言垮平台依赖于java虚拟机C.java垮平台,java虚拟机也是垮平台的(不同系统平台使用相同的java虚拟机)D.原理是java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。18.下面程序的运行结果是()inta=3,b=1;if(a==b)//false{System.out.println(a=+a);}A.a=1B.a=3C.编译错误D.正常运行但没有输出19.下面程序的运行后,结果正确的是:inta=1,b=2;intc=(a+b3?a++:++b);//三元运算符如果不成立的话,那么a++不会执行,a还是1.A.a=2,b=3B.a=1,b=3C.a=1,b=2D.c=220.定义如下的二维数组b,下面的说法正确的是()intb[][]={{1,2,3},{4,5},{6,7,8}}};A.b.length的值是3B.b[1].length的值是3//2C.b[1][1]的值是5D.二维数组b的第一个元素有3个子元素21.下面哪种类型的文件可以在java虚拟机中运行?()A..javaB..jreC..exeD..class22.下面程序的运行结果classDemo{publicstaticintfun(intc){returnc+=2;//因为return了,return的是4}publicstaticvoidmain(String[]args){inttemp=fun(2);System.out.println(temp);}}A.2B.4C.6D.823.下列方法定义中,正确的是()。A)intx(){returntrue;}//返回值类型为int,不能返回booleanB)voidx(){returntrue;}//没有返回值,不能返回booleanC)intx(){charch='a';return(int)ch;}D)intx(inta,intb){returna+b;}24.下面数组定义正确的是()A.int[]arr={23,45,65,78,89};B.int[]arr=newint[10]{};//[数组]与{}不能共存C.int[]arr=newint[4]{3,4,5,6};//[]与{}不能共存D.int[]arr={a,23,45,6};//byte,short,char------int‘a’会自动转换成97,但是String类型的a不会自动转换成9725.下面程序执行的结果是?()intx=1,y=1;if(x++==2&++y==2){x=7;}System.out.println(x=+x+,y=+y);A.x=1y=2B.x=7y=1C.x=7y=2D.x=2y=226.JDK1.7之后,switch语句后括号里的表达式可以是以下哪种类型()//记住A.charB.StringC.longD.枚举类型27.同一类中有两个以上方法同名称方法重载,Java语言规定():A.不允许重载B.重载方法的参数列表必须不同C.重载方法的返回值类型必须不同//与返回值类型无关D.重载方法的参数列表和返回值类型必须都不同。28.下面程序执行的结果是?()booleanb=true;if(b=false)//false{System.out.println(a);}elseif(b)//false{System.out.println(b);}elseif(!b)//true{System.out.println(c);}else{System.out.println(d);}A.aB.bC.cD.d29.关于选择结构下列哪个说法正确?()A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句//没有的时候没有语法问题D.switch结构中必须有default语句//没有的时候没有语法问题30.下面程序执行的结果是?()intx=2,y=3;switch(x){default:y++;case3:y++;case4:y++;}System.out.println(y=+y);//没有breakA.3B.4C.5D.631.阅读下面代码段:publicclassDemo{publicstaticvoidmain(String[]args){int[]arr=newint[10];}}执行结果正确的说法是()//引用数据类型有默认的初始化值;A.编译时将产生错误B.编译时正确,运行时将产生错误C.输出零//默认初试化D.输出空32.设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为false的是()A.xy||xzB.xy&!(xz)C.z(y+