1、Java语言程序设计一自考题模拟11Java语言程序设计(一)自考题模拟11(总分:100.00,做题时间:90分钟)一、第部分 选择题单项选择题 (总题数:10,分数:10.00)1.下述字符组合不能作为Java程序标识符的是_(分数:1.00)A.5xB.大xC.y小D.Aa12解析:考点 Java标识符 解析 标识符只能由字母(包括英文字母、下画线、美元符号、文字字符)和数字组成,且不能以数字开头,所以A不对。2.下列字符组合不能作为Java整型常量的是_(分数:1.00)A.0x3ABCB.0x3ACBC.5000D.078解析:考点 Java整型常量 解析 Java整型常量有十进制、
2、八进制和十六进制三种。八进制数包括0到7,不包含数字8。A、B是十六进制数,C是十进制数,都正确。3.在下述字符串中,不属于Java语言关键字的是_(分数:1.00)A.floatB.newC.returnD.java解析:考点 Java关键字 解析 “java”是普通字符串,不是Java的关键字。4.下面不是Java特点的是_(分数:1.00)A.动态性B.面向对象C.编辑型D.多线程解析:考点 Java语言的特点 解析 Java语言的特点包括:动态性、自动回收无用内存、面向对象、与平台无关、安全性、分布式计算和多线程。5.以下程序执行之后,输出的结果是_ System.out.printl
3、n(23%-4);(分数:1.00)A.-1B.-5C.3D.5解析:考点 Java语言中%运算符 解析 %为求余运算符,求余运算所得结果的符号和被除数的符号相同。23/4商5余3,符号为-。所以选C。6.若有定义int x=3, y;则执行语句y=(x+)+(x+)+(x+);后y的值为_(分数:1.00)A.9B.12C.15D.18解析:考点 数据运算自增运算 解析 x+运算,后缀形式,表示在引用变量x之后,才是x加1。第一个括号中的x值为3,执行完+后加1,使得第二个括号中x值变成4,同理,到第三个括号执行前,x变为5,所以y=3+4+5=12。7.下面程序,哪一句是有问题的_ cla
4、ss Class6 int x; void f( ) int class 6=1; x= class 6; void g( ) int y; y=class6+x; (分数:1.00)A.语句B.语句C.语句D.语句解析:考点 局部变量的作用范围 解析 语句引用的class6非法,因为class6是在f函数中定义的局部变量,它的作用范围只能在f函数中,出了f函数就失去了意义,不能在其他函数中使用。8.在下述Java语言语句中,错误的创建数组的方法是_(分数:1.00)A.int intArray ; intArray=new int5;B.int intArray =new int5;C.in
5、t intArray=1,2,3,4,5;D.int intArray5=1,2,3,4,5;解析:考点 Java语言中数组的声明 解析 声明数组的时候不能指定大小。9.以下是关于字符串运算的代码,执行该代码段的输出结果是_ String s=abcdefgh ,s1,s2; s1=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);(分数:1.00)A.abcdefB.abcdefghdefghC.cdefghD.cdefghcdef解析:考点 字符串操作 解析 substring方法用于取字符串的子串。substring
6、(2)表示截取从第二个字符到最后一个(从第零个开始),substring(2,5)表示截取从第二个到第五个字符。所以答案选D。10.以下程序的输出结果是_ public class Class07 Class07( ) System.out.println(0param); Class07(int n) System.out.println(n+param); public static void main(String args); Class07 x=new Class07(100); (分数:1.00)A.100paramB.程序不错,但没有信息输出C.出错D.0param解析:考点 J
7、ava语言中的构造方法的调用 解析 生成x对象时自动调用有参数构造方法,传参数后n=100,所以输出100param。二、第部分 非选择题填空题(总题数:10,分数:20.00)11.Java语言最初的应用对象是 1。 (分数:2.00)解析:消费型电子产品 考点 Java语言基础 解析 Java语言最初的应用对象是消费型电子产品。12.Java中所有程序都使用方法,应用程序以 1方法开始。 (分数:2.00)解析:main 考点 Java应用程序 解析 java应用程序必须在一个类中定义一个main方法,该方法代表应用的入口。13.一个Java Applet不再需要main方法,但必须有一个
8、类扩展了 1类。 (分数:2.00)解析:Applet 考点 Java小应用程序 解析 一个小应用程序也由若干个类组成,其中必须有一个主类,它继承系统提供的Applet类,这个类是小应用程序的主类。14.在Java JDK的核心中,解释器所对应的可执行文件是 1。 (分数:2.00)解析:java.exe 考点 Java程序的开发过程 解析 Java解释器java.exe用来解释执行Java类文件。15.在Java语言中,长整型long在计算机内存中占 1个字节。 (分数:2.00)解析:8 考点 Java整数类型 解析 Java长整型在内存占8个字节。16.在Java语言中,逻辑左移位运算的
9、运算符为 1。 (分数:2.00)解析: 考点 Java移位运算 解析 左移运算。17.Java语言的控制语句有3种类型,即条件语句、 1和转移语句。 (分数:2.00)解析:循环语句 考点 Java语言的控制语句 解析 Java语言的控制语句分为:条件语句(if.else, switch)、循环语句(for, while, do.while)和转移语句(break, continue)。18.数组声明后,必须使用 1运算符分配内存空间。 (分数:2.00)解析:new 考点 Java数组声明 解析 数组的声明,类似对象的创建,都是用new关键字。19.可以使用String类的 1方法判断一个
10、字符串的前缀是否是字符串s。 (分数:2.00)解析:public boolean stautsWith(Strings) 考点 Java字符串操作 解析 startsWith用来判断字符串是否以s开头。20.接口中的方法被默认的访问权限是 1。 (分数:2.00)解析:public 考点 Java接口 解析 Java中接口默认都是public的。三、简答题(总题数:6,分数:18.00)21.请写出与数学计算式 等价的Java语言表达式。 (分数:3.00)_正确答案:()解析:(a*x+(a+x)/(5.0*a)/822.怎样区分应用程序和小应用程序? (分数:3.00)_正确答案:()解
11、析:一个Java应用程序必须有且只有一个类含有main方法,这个类称为应用程序的主类,其main方法必须被说明为public static void。一个Java Applet小应用程序不再需要man方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。23.在一个循环中使用break和continue语句有什么不同的效果? (分数:3.00)_正确答案:()解析:在循环中使用break语句,将使循环终止,流程跳转到break语句所在循环外面的第一个语句继续执行;在循环中使用continue语句,将提前结束本次循环,流程跳转到continue语句所在循环的第一个语句继续执行。2
12、4.什么是方法重载? (分数:3.00)_正确答案:()解析:方法重载是指,一个类中可以有多个方法具有相同的名字和类型,这些方法的参数必须不同,或者是参数个数不同,或者是参数类型不同。25.Java中如何定义和使用接口? (分数:3.00)_正确答案:()解析:使用关键字interface来定义一个接口,接口的定义和类的定义很相似,分为接口的声明和接口体。一个类通过关键字implements声明自己使用一个或多个接口,如果使用多个接口,则用逗号隔开。如果一个类使用某个接口,那么这个类必须实现该接口的所有方法。26.简述在Java中使用this的情况。 (分数:3.00)_正确答案:()解析:第
13、一,通过this调用另一个构造方法,用法是this(参数列表),此法仅用在类的构造方法中,别的地方不能这么用。第二,函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式。在没有同名的情况下,可以直接用成员变量的名字,而不用this,当然用了也不算错。第三,在函数中,需要引用该函所属类的当前对象时,直接用this。四、程序填空题(总题数:5,分数:20.00)27.以下程序输出50以内的所有素数。 public class test1_1 Public static void main(String args ) int i
14、,j; for(j=2;j=50;j+) for(i=2;i=j/2;i+) if( 1) break; if(i 2) System.out.println(j+是素数); (分数:4.00)解析:j%i j/2 考点 循环语句 解析 素数指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。本题是求50以内的素数。首先将某数折半成j,然后依次判断这个数能否被2到j整除。如果能整除说明这个数不是素数,继续判断下一个数,否则是素数,打印输出。28.方法func(int n)返回十进制整数n的位数。 1func(int n) int c; for(c=0; 2;c+)n/=1
15、0; return c; (分数:4.00)解析:int n!=0 考点 Java函数 解析 该函数的返回值类型为整数,所以第一空填int;求十进制数n的位数,则可以通过循环每次对十取整,如果取整之后的数不等于0,说明它至少还有一位数(个位数),直到n变为0,此时的循环次数c就是n的位数。29.子类Univer_Student继承父类Student,并调用父类的构造方法。 Class Student int number; String name; Student (int number,String name) this.number=number; this.name=name; Syst
16、emout.println(I am+name+My number is+number); class Univer_Student 1 Student boolean婚否; Univer_Student(int number,String name,boolean b) 2 (number,name); 婚否=b; System.out.pritnln(婚否=+婚否); public class test1_1 public static void main(String args ) Univer_Student zhang=new Univer_Student(9901,和小林,fals
17、e); (分数:4.00)解析:extends super 考点 Java类的继承 解析 子类用关键字extends继承父类,并且可以用super调用父类的构造方法。30.下面程序对长度为5的数组中的每个元素赋值,然后按逆序输出。请在横线处填入适当内容,使程序能正确运行。 java.io.*; public class ArrayTest static void main (String args ) int i; int a = 1; for(i=0;i5;i+) ai=i; for( 2;i=0;i-) System.out.println(a+i+=+ai); (分数:4.00)解析:n
18、ewint5 i=a.length-1 考点 数组的创建和引用 解析 创建数组就是为数组分配存储空间,需要指定数组长度。数组创建后,数组名就标识用于存储数组元素的存储空间,本题数组的创建采用的是声明时创建。逆序输出需要从数组的最后一个元素开始,它的下标是数组的长度减一。31.以下程序的输出结果是:true,23456。 public class Class31 public static void main(String args) String.str1=new String(abc); String.str2=new String(Abc) boolean b; b=str1. 1/忽略大
19、小写,比较字符串s1,s2是否相等 str1=new String(0123456789); str2= str1. 2; System.out.println(*b+,+s2); (分数:4.00)解析:equalsIgnoreCase(str2) substring 考点 String类的操作 解析 equalsIgnoreCase是忽略大小写来比较两个字符串的内容是否相同,equals不忽略大小写;substring取源字符串的子串。五、程序分析题(总题数:5,分数:20.00)32.阅读以下程序代码,程序打印输出的结果是什么? public class Class32 public s
20、tatic void main(String args) boolean x=false,y= true,z= true; x= x&y|z; y=x|y&z; z=!(x!=y)|(y=z); System.out.println(x+,+y+,+z) (分数:4.00)_正确答案:()解析:true,true,true 考点 Java逻辑运算 解析 &(逻辑与),|(逻辑或),!(逻辑否定)。&和|是双目运算符,!是单目运算符。对于&,必须保证两个操作数都为tme,结果才为true,否则结果为false。对于|,只要有一个操作数为true,结果就为true。33.请给出下列程序的运行结果。
21、 public class Test public static void main( ) int i=1,j=10; do if(i+-j) continue; while(i5); System.out.println(i=+i+ j=+j); (分数:4.00)_正确答案:()解析:i=5,j=6 考点 Java控制语句 解析 do-while循环,当i=5时即跳出循环;同时还考查自增、自减操作以及continue对于循环的控制。If条件首先判断i的值是否大于j减1之后的值,然后i的值加1,条件满足则跳出本次循环;判断i是否小于5,小于5的话继续执行if判断。当i执行到等于4时,此时j等
22、于6,条件仍不满足,判断完if之后i加1变为5,判断while条件,5不小于5,while循环结束,i=5,j=6。34.写出下面程序的运行结果 。 public class Test extends TT public static void main(String args ) Test t=new Test(Tom. ); public Test(String s) super(s); System. out.print(How are you?); public Test( ) this(I am Jack.); class TT public TT( ) System.out.pri
23、nt(Hi!); public TT(String s) this( ); System.out.print(I am+s); (分数:4.00)_正确答案:()解析:Hi!I am Tom. How are you? 考点 Java类的继承以及构造方法的调用 解析 程序的入口从Test的main方法开始,首先创建一个Test对象,此时会调用Test的有参数的构造方法,并将“Tom”传给s。在Test的构造方法中又通过super调用了父类TT的有参数的构造方法TT(String s)。在这个方法中又通过this( )调用了TT的无参数构造方法TT( ),此时打印输出“Hii”,之后接着打印输出
24、“I am Tom.”,此时执行完父类TT的构造方法,重新返回super这个地方,接着向下执行输出“How are you?”35.阅读以下程序代码,程序打印输出的结果是什么? public class Class35 public static void main(String args) String s1=new String(abcdefg),s2=abcdefg; System.out.prinln(s1=s2); System.out.prinln(s1.equals(s2); System.out.println(s1.ends With(s2)=s1.starts With(s
25、2); (分数:4.00)_正确答案:()解析:false,true,true 考点 String类API 解析 =和equals的区别:=是判断两个字符串对象是否是同一个对象,即两个对象的内存地址是否相同;equals是判断两个字符串的值是否相同。题目中s2相当于一个值,而s1是指向这个值的引用,它代表的值和s2是一样的。endsWith( )和startsWith( )是String类的两个方法,分别判断前一个字符串是否以后一个字符串结束或者开始,它们的返回类型为boolean类型。s1和s2的值相等,所以这两个方法的返回值都是true,即相等。注意区分字符串中的等号和普通类型的等号。36.写出下面程序的运行结果。 public static void main(String args) String str=puclic class,Child extends( ) Father implements Inters; StringTokenizer str2=new StringTokenizer(str, ,( ) ); int n=str2. countTokens( ); System.out.println(单词个数:+n+,如下所示:); while(str2.hasMoreTokens( ) System.out.printl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1