收藏 分销(赏)

2016-04-01_JAVA软件工程师5.0_试卷分析.docx

上传人:s4****5z 文档编号:8799173 上传时间:2025-03-02 格式:DOCX 页数:38 大小:15.71KB
下载 相关 举报
2016-04-01_JAVA软件工程师5.0_试卷分析.docx_第1页
第1页 / 共38页
2016-04-01_JAVA软件工程师5.0_试卷分析.docx_第2页
第2页 / 共38页
点击查看更多>>
资源描述
04班月考 试卷分析 考试时间:2016-04-01 14:05~16:05 考试班级:XSHJ5ZXDZ00000210201 题干 关于Java中类和对象,下面选项中说法错误的是( )。 题型 选择题 图片 A 类是具有相同属性和共同行为的一组对象的集合 B 对象定义了一个概念模型,类是真实的实体 C 对象拥有的特征对应类的属性,对象执行的操作对应类的方法 D 对象的特征和行为被封装在类中,不可分割 标准答案 b 技能点 理解类和对象的概念 正确率 0% 题干 在Java中,下列关于类的描述,正确的是 () 题型 选择题 图片 A 在同一个class中,不允许声明两个重名(同名)的全局变量和局部变量。 B 在两个方法中,不能声明重名(同名)的局部变量。 C 构造方法必须和类名相同,并且不能有返回值。 D 定义一个类时,必须写构造方法。 标准答案 c 技能点 掌握类的创建方式 正确率 0% 题干 在Java中,以下变量命名正确的是( )。 题型 选择题 图片 A string B void C _&c D _name 标准答案 ad 技能点 掌握Java命名规则 试题解析 本题考察Java命名规则,不能为关键字,$ 、字母、下划线开头都行,后面的可以是数字、字母、下划线、$,void为关键字,string不是关键字,C中有&不可以,所以正确答案为AD 正确率 0% 题干 以下Java中的数据类型属于引用数据类型的是( )。 题型 选择题 图片 A int B double C String D char 标准答案 c 技能点 掌握数据类型的分类 正确率 0% 题干 开发Java程序有三个步骤:编写源程序、编译、运行,其中( )会产生后缀名是.class 的文件 题型 选择题 图片 A 编写源程序 B 编译 C 运行 D Java程序不会产生.class文件 标准答案 b 技能点 掌握基本的Java程序开发过程 正确率 0% 题干 在Java中,使用Eclipse进行代码调试时,步骤顺序为 ①设置断点 ②启动调试 ③跟踪程序,观察变量变化 ④单步调试执行 题型 选择题 图片 A ①②④③ B ②①③④ C ①②③④ D ④③②① 标准答案 a 技能点 使用MyEclipse调试解决简单的程序问题 正确率 0% 题干 在Java中,下列数据类型转换错误的是( )。 题型 选择题 图片 A int i = (int)34.3; B int i = (int)(2/3); C int i = (int)"a"; D char a = (char)3; 标准答案 c 技能点 能够实现不同数据类型之间的转换 正确率 0% 题干 编译运行如下Java代码,输出结果是()。 class Animal{ public void run(){ System.out.print ("动物在跑"); } } class bird extends Animal { public void fly(){ System.out.print ("小鸟在飞"); } public void run(){ System.out.print ("小鸟在地上跑"); } } class Test { public static void main(String[] args) { Animal al= new bird (); al.run(); } } 题型 选择题 图片 A 动物在跑 B 小鸟在飞 C 小鸟在地上跑 D 编译出错 标准答案 c 技能点 多态的概念、实现条件、好处 正确率 0% 题干 在Java中,关于在类中导入包的理解错误的是( )。 题型 选择题 图片 A 导入包即声明在当前类中要使用到的别的类所处的位置 B 使用import关键字导入包 C 既可以导入系统提供的包又可以导入用户自定义的包 D 导入包的语句可以写在Java类定义的任何位置 标准答案 d 技能点 理解包的概念和作用 正确率 0% 题干 在Java中,以下程序的运行结果是( )。 class Person{ public String name; } class Test1 { public static void main(String[] args) { Person person = new Person(); System.out.println(person.name); } } 题型 选择题 图片 A 输出:null B 正常运行,但不会输出任何内容 C 编译出错,不能运行 D 能运行,但运行时会出现异常 标准答案 a 技能点 封装的作用、步骤 试题解析 正确答案为A。因此创建Person对象后没有给它的属性name赋值,它的默认值为null,因此输出为null。 正确率 0% 题干 在Java中,下列关于this的说法错误的选项是( )。 题型 选择题 图片 A 在构造方法中如果使用this调用其他构造方法,只能是第一条语句 B 在类方法中this要求是第一条语句 C 在实例方法中this不要求是第一条语句 D 可以使用“this.方法名()”或“this.属性名”来引用当前对象的成员 标准答案 b 技能点 掌握this关键字的用法 正确率 0% 题干 在Java中,面向对象的优点说法错误的是( )。 题型 选择题 图片 A 能够使用类来模拟现实世界中实体的特征和行为 B 对象的行为和属性被封装在类中 C 使用对象的时候,首先必须知道对象内部的实现细节 D 可以将类理解为模板,利用类可以创建多个类的对象 标准答案 c 技能点 理解对象的属性和方法 正确率 0% 题干 以下关于Java中的接口,说法错误的是( )。 题型 选择题 图片 A 接口中所有方法都是抽象方法 B 接口中可以定义常量和变量 C 一个接口可以继承多个接口,但不能继承类 D 接口不能实例化,也不能有构造方法 标准答案 b 技能点 接口语法及其使用 试题解析 b错误,接口里只能定义静态常量。 在jdk8里a也是错误,但是在jdk8之前是对的,因为在jdk8里是可以有静态方法的实现的。 正确率 0% 题干 在Java中,以下关于继承描述错误的是( )。 题型 选择题 图片 A 继承是Java中实现代码重用的重要手段之一 B Java中只支持单继承,每个类都是Object的子类 C 子类无法直接访问父类中由private修饰的属性和方法 D 子类可以继承父类的构造方法 标准答案 d 技能点 继承的语法及其好处 试题解析 该题考点为Java中继承的特点及使用。Java中使用extends实现继承,继承是实现代码重用的重要手段,因此A正确;Java中只支持单根继承,即一个类只能有一个直接父类,但是一个类可以有多个子类,Java中所有类都是Object的子类,因此B正确。父类的如下内容,子类是无法继承的:private修饰的成员、构造方法、子类与父类不在同包,使用默认访问权限的成员。因此答案C是正确的,而D是错误的 正确率 0% 题干 在Java中,假定在某个类中定义了如下方法,调用时可以使用()作为参数。 public String method(int i, String str ){ return (str + i); } 题型 选择题 图片 A 1,1 B 1,"hello,world" C "Yohoo!","hello,world" D 以上参数都正确 标准答案 b 技能点 掌握带参方法的定义及调用 正确率 0% 题干 在Java的类和对象中,下面的选项中,哪些项属于“汽车类”的属性( )。 题型 选择题 图片 A 品牌 B 刹车 C 价格 D 速度 标准答案 acd 技能点 理解类和对象的关系 试题解析 我们可以将类的特征定义为属性,行为定义为方法,在选项ACD中,都是汽车的特征,因此都可以作为其属性。选项B刹车为行为,并非特征,因此不可以定义为属性 正确率 0% 题干 在一个文件里面写如下代码,则此文件的文件名应该为( )。 class Student{} public class Teacher{ } 题型 选择题 图片 A Student.java B Student.class C Teacher.java D Teacher.class 标准答案 c 技能点 使用面向对象进行设计的步骤 试题解析 一个Java文件(.java)中可以包含多个类,但是只能包含一个公共类(public),这个公共类名与Java文件名要保持一致,因此正确答案为C 正确率 0% 题干 关于重写和重载的说法正确的是() 题型 选择题 图片 A 重载和重写都是涉及同一个类的同名方法,只是重载要求参数列表不同 B 重载方法不能缩小被重载方法的访问权限 C 重载要求参数列表不同,重写要求参数列表相同 D 重载要求返回值类型相同 标准答案 c 技能点 理解方法重载和重写的区别 试题解析 重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关;重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同、返回值类型相同。所以可知描述正确的是C选项。 正确率 0% 题干 在Java中,下划线处可以填入的正确代码是( ) public static void main(String[] args) { int[] arr=new int[]{1,2,5,9,3,7}; System.out.println("对数据进行升序排序,并打印出来"); ___①___ for(int i=0;i<arr.length;i++){ System.out.println(___②___); } } 题型 选择题 图片 A ①处:arr.sort(); ②处:arr[i] B ①处:arr.sort(); ②处:arr[i+1] C ①处:Arrays.sort(arr); ②处:arr[i] D ①处:Arrays.sort(arr); ②处:arr[i+1] 标准答案 c 技能点 能够使用Arrays类实现对数组的操纵 正确率 0% 题干 关于构造方法,下列说法不正确的是:()。 题型 选择题 图片 A 构造方法名要跟类名一致         B 构造方法不能使用private来修饰 C 构造方法的作用是在创建对象时立即对其进行初始化        D 构造方法没有返回值 标准答案 b 技能点 理解构造方法的作用 试题解析 构造方法名必须和类名一致,并且没有返回值,构造方法是在创建对象时调用,对其进行初始化工作,构造方法一般使用public修饰,但在单例模式中,也可以使用private修饰,因此答案B是错误的 正确率 0% 题干 Java中,关于toString方法下面说法正确是()。 题型 选择题 图片 A 自定义的类中实现的toString是重写自Object类的 B 所有的对象都拥有toString方法 C toString是String类的独有方法 D 若一个类有toString方法,System.out.print的时候一定要写明obj.toString() 标准答案 ab 技能点 了解Object类 试题解析 本题考查的是Object类的toString()方法的使用。所有的对象都是Object类的子类,因此都能够继承其toString()方法,可以在本类中根据需求重写toString()方法。在控制台输出时,可以直接写对象名,省略.toString()。如System.out.print(对象名)。 正确答案为AB。 正确率 0% 题干 以下关于Java中final关键字描述错误的是( )。 题型 选择题 图片 A 用final修饰的类,不能再被继承 B 用final修饰的方法,不能被子类重写 C 用final修饰的变量,将变成常量,只能赋值一次 D 用final修饰的构造方法,不能再被重载 标准答案 d 技能点 使用final关键字修饰变量、类和类的成员 试题解析 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。 正确率 0% 题干 在Java中,以下( )标识符是不合法的。 题型 选择题 图片 A IDoLikeTheLongNameClass B $byte C _ok D 4_case 标准答案 d 技能点 掌握变量的声明及使用方法 正确率 0% 题干 如下的Java代码输出的结果是( )。 public static void main(String[] args) { int i = 4; do { i++; System.out.print(i); } while (i < 7); } 题型 选择题 图片 A 567 B 456 C 67 D 4567 标准答案 a 技能点 掌握基于do-while语句的流程控制 试题解析 本题考察do-while语句,do-while是先执行循环体后判断控件条件,从5开始到7结束,所以选择A 正确率 0% 题干 在Java中,以下关于接口和抽象类的说法不正确的是( )。 题型 选择题 图片 A 抽象类和接口中都可以定义抽象方法 B 抽象类也可以实现接口 C 接口可以继承接口,抽象类不可以继承抽象类 D 接口中只可以定义常量属性,但是抽象类中既可以定义常量属性也可以定义变量属性 标准答案 c 技能点 接口和抽象类的异同 试题解析 当父类为抽象类,子类不重写父类中的抽象方法是的时候,我们可以把子类页定义成抽象类,所以C选项是错误的。其他选择均正确 正确率 0% 题干 Java中,下列类型修饰符中修饰范围最大的是( )。 题型 选择题 图片 A public B default C private D Protected 标准答案 a 技能点 修饰符private、默认、protected、public的访问权限 试题解析 本题考查访问修饰符的访问权限。public修饰的成员可以在任何处被访问,应选择A。 正确率 0% 题干 下列有关switch的说法,正确的是( )。 题型 选择题 图片 A switch结构可以完全替代多重if结构 B 条件判断为等值判断,并且判断的条件为数组时,可以使用switch结构 C 条件判断为等值判断,并且判断的条件为字符时,可以使用switch结构 D 条件判断为等值判断,并且判断的条件为整型变量时,可以使用switch结构 标准答案 cd 技能点 掌握基于switch语句的流程控制 试题解析 switch语句中控制表达式的类型可以是byte、short、char、int(jdk7后,允许String)。它适用于等值判断,在等值判断时,可以替换if语句 正确率 0% 题干 阅读Java抽象类的代码,以下有( )处错误。 private abstract class Operation{ public final abstract int divide(int a,int b); public abstract double add(double a,int b){ return a+b; } } 题型 选择题 图片 A 1 B 2 C 3 D 4 标准答案 c 技能点 抽象类和抽象方法的特点、应用 试题解析 三处错误, 抽象类不能使用私有访问修饰符修饰; 抽象方法不能使用final进行修饰; 抽象方法不能还有实现。 正确率 0% 题干 以下Java代码的输出结果为( )。 public abstract class Person { public abstract void study(); } class Chinese extends Person { public void study(){ System.out.println("学汉语"); } } public class Test { public static void main(String[] args) { Person p1=new Chinese(); System.out.println(p1 instanceof Person); System.out.println(p1 instanceof Chinese); System.out.println(p1 instanceof Object); } } 题型 选择题 图片 A true、true、false B true、false、false C true、false、true D true、true、true 标准答案 d 技能点 向上转型、向下转型、instanceof运算符 试题解析 正确答案为D。instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。Chinese类是Person类的子类,p1是Chinese类的实例对象,因此输出结果为D。 正确率 0% 题干 在Java中,使用static关键字可以修饰方法和属性,下面选项中关于静态方法描述正确的是( )。 题型 选择题 图片 A 在静态方法中不能直接调用非静态方法 B 在非静态方法中不能直接调用静态方法 C 使用类名可以直接调用非私有的静态方法 D 在静态方法中可以使用this关键字 标准答案 ac 技能点 能够使用static修饰类的成员 试题解析 b错误,在非静态方法中可以直接调用静态方法 d错误,静态方法不能使用this关键字 正确率 0% 题干 给定如下Java代码,下列横线处填入( )选项,可以实现divide()方法的重写,并且能够编译正确。 class Arithmetic{ public int divide(int a,int b){ return a/b; } } public class Demo extends Arithmetic{ ________________________________ } 题型 选择题 图片 A private int divide(int a,int b){ return a/b+1; } B public double divide(int a,int b){ return a/b+1; } C public int divide(int a,int b){ return a/b+1; } D public int divide(int a){ return a/b+1; } 标准答案 c 技能点 在Java中实现方法重写 试题解析 a错误,重写,访问修饰符不能缩小 b错误,double不能自动转化成int类型, d错误,重写,参数列表个数必须相同。 正确率 0% 题干 Java中,以下返回true的表达式有()。 题型 选择题 图片 A "george" = = "george" B "george" = "george" C "george".equals(new String("george")) D "george" == new String("george") 标准答案 ac 技能点 理解==与equals()的区别 试题解析 本题考查的是对==与equals()方法的理解。==运算符是比较两对象是否是同一对象,Object类中的equals()方法在没有被重写之前,也是比较两个对象是否是同一对象,而在String类中重写了equals()方法为比较两个字符串的值是否相等。因此正确答案为AC。 正确率 0% 题干 在Java中,如下代码段的输出结果为()。 int num=0; while(num<5){ num=num+1; if(num==3){ break; } } System.out.print(num); 题型 选择题 图片 A 0 B 3 C 4 D 5 标准答案 b 技能点 掌握基于break语句的流程控制 正确率 0% 题干 在Java中,以下定义的方法可以编译通过的是( )。 题型 选择题 图片 A public String check(){ System.out.print("正在执行方法"); return 1+1; } B public int check (){ double number = 3+3.5; return number; } C public int check (){ return 2+ 'a'; } D public double check (){ return 5+2; System.out.print("正在执行方法"); } 标准答案 c 技能点 掌握无参方法的定义与调用 试题解析 本题中,A方法返回类型为String,而return为int;B返回类型为int而return为double,double不能自动转为int类型;C:返回类型为int ,return 2+ 'a';char会自动转为int类型,然后计算与2的和返回;D:方法返回值之后就不能再有其他语句了。所以选C 正确率 0% 题干 阅读下列Java代码片段,则输出结果是( )。 int sum = 0; for (int i = 10, j = ++i; i < j; i -= 2, j += 2) { sum += i + j; } System.out.println(sum); 题型 选择题 图片 A 0 B 12 C 16 D 21 标准答案 a 技能点 掌握基于for语句的流程控制 试题解析 本题考查for语句、各种运算符的使用,由于++i为先自加1然后再使用,所以j的值为11,然后进行判断i<j错误,结束for循环,结果sum的值没有变,所以选择A 正确率 0% 题干 在JAVA中,以下代码的运行结果是( )。 public class Test { public static void main(String args[]) { char c = chang('B'); System.out.println(c); } public static char chang(char c) { if (c >= 'A' && c <= 'Z') { c = (char) (c + 32); } if (c >= 'a' && c <= 'z') { c = (char) (c - 32); } return c; } } 题型 选择题 图片 A B B b C C D c 标准答案 a 技能点 掌握基于if语句的流程控制 试题解析 本题考察if语句、短路逻辑与,英文大小写相差32,chang方法由于B>A,c值变为了b,第二个判断b>a,c值又变回了B,最后返回了B所以最后输出B,本题选择A 正确率 0% 题干 有如下代码,请选择正确的描述:()。 public class News { static int a=5; int b=6; public static void main(String[] args) { System.out.println(a); System.out.println(b); }} 题型 选择题 图片 A 编译报错 B 编译时不报错,运行时报错 C 分别用两行输出5和6 D 只能输出5 标准答案 a 技能点 掌握对象的创建方式 试题解析 本题考察静态变量的使用,main()为静态方法,在静态方法中可以直接访问静态变量a,但是不可以访问非静态(普通)变量b,因此编译错误 正确率 0% 题干 下面Java代码的输出结果是( )。 public static void main(String[] args) { int[] array={5,7,4,2,1}; getCountByArray(array); for (int i = 0; i < array.length; i++) { System.out.print(array[i]+" "); } } public static void getCountByArray(int[] arr){ for (int i = 0; i < arr.length; i++) { if (arr[i]%2==1) { arr[i]=0; } } } 题型 选择题 图片 A 0 0 4 2 0 B 5 7 0 0 1 C 5 7 4 2 1 D 0 0 0 0 0 标准答案 a 技能点 掌握使用引用类型作为参数类型进行传递 试题解析 正确答案是A。%是取余运算,方法getCountByArray()的作用是遍历每个数组元素,判断如果该元素除以2余数为1,则将该元素设置为0。因此,getCountByArray()方法执行完毕,int[] arr的值为{0 0 4 2 0 }。考虑数组作为参数是引用传参,因此,main()中数组array的值也发生变化,输出为A。 正确率 0% 题干 Java中,类Test1定义如下: 1)public class Test1{ 2)public float aMethod(float a,float b){ } 3) 4)} 将以下哪种方法插入行3是不合法的()。 题型 选择题 图片 A public float aMethod(float a, float b,float c){ } B public float aMethod(float c,float d){ } C public int aMethod(int a, int b){ } D private float aMethod(int a,int b,int c){ } 标准答案 b 技能点 掌握一般方法重载的实现方式 试题解析 本题考查的是方法的重载,在同一类中,方法名相同,参数列表不同的方法称为重载方法。本题B选项中aMethod()方法的参数列表与Test1类中aMethod()方法的参数列表相同,不能构成重载。本题应选择B。 正确率 0% 题干 如果以下程序的运行结果为“小华”,下划线处的代码可以是( )。 class Person { private String name;//姓名 public Person() { this.name = "小华"; System.out.println(this.name); } public Person(String name) { this.name = name; System.out.println(this.name); } } class Student extends Person { public Student(String name) { __________________________ } public static void main(String[] args) { Student stu = new Student("小明"); } } 题型 选择题 图片 A super(); B super(name); C 不写入任何代码 D this(); 标准答案 ac 技能点 继承关系中的构造方法 正确率 0% 题干 请选择出以下代码的输出结果(): public class Person{ public String name; public int age; public int weight; public Person(int age,String name){ this.name=name; this age=age; System.out.print("您的年龄是:"+age); } public Person(String name,int weight){ this.name=name; this weight=weight; System.out.print("您的体重是"+weight); } public static void main(String[] args){ Person guest = new Person("Lili",80); } } 题型 选择题 图片 A 您的年龄是80 您的体重是0 B 您的年龄是0 您的体重是80 C 您的年龄是80 D 您的体重是80 标准答案 d 技能点 掌握构造方法重载的实现方式 试题解析 重载方法只执行参数相同的方法,即体重只调用public Person(String name,int weight)这个方法,所以答案选D. 正确率 0% 题干 在Java中,以下代码的输出结果是( )。 public static void add(int num){ num += 5; } public static void main(String[] args) { int age = 20; add(age); System.out.println(age); } 题型 选择题 图片 A 20 B 25 C 5 D 编译错误 标准答案 a 技能点 掌握使用基本数据类型作为参数类型进行传递 试题解析 基本数据类型作为参数时是按照值传递的,无论add方法对参数做了什么操作,都不会影响main方法中的age。 正确率 0% 题干 如下java代码,在运行main方法时,程序要求打印出Animal类中m1方法的内容,可以填入下划线处的的代码是( )。 public class Animal { int name; int age; public Animal(){ } public void m1(){ System.out.println("Animal m1()"); } } public class Dog extends Animal{ String colour; public void m2(){ System.out.println("m2()"); } public void m1(){ _____________________ System.out.println("Dog m1()"); } } public class Test { public static void main (String[] args) { Animal animal = new Dog(); animal.m1(); } } 题型 选择题 图片 A this.m2(); B super.m1(); C this.m1(); D super(); 标准答案 b 技能点 掌握super关键字(使用super调用属性、方法、构造方法) 试题解析 本题考查super关键字的用法。本题要求打印出Animal类中m1方法的内容,通过代码可以看出Dog类继承了Animal类,这两个存在继承关系。在执行main方法中的animal.m1()代码时,按照多态的执行原理,会调用Dog类中的m1方法,在Dog类中的m1方法中如果要执行父类的m1方法,就需要用到super关键字。子类调用父类的方法是super.方法名。根据这一点,可以判断B选项正确。可以排除AB选项,而D选项是调用构造方法,故D选项错误。 正确率 0% 题干 分析下面的Java源程序,编译后的运行结果是( )。 import java.util.*; public class Test { public static void main(String[] args) { int[] numbers = new int[]{2,1,3}; Arrays.sort(numbers); for(int index=0;index<numbers.length;index++){ System.out.print(numbers[index]); } } } 题型 选择题 图片 A 输出:213 B 输出:123 C 输出:321 D 输出:0123 标准答案 b 技能点 能够使用A
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服