收藏 分销(赏)

Java应用程序-题库测试题练习题带答案测试题模拟题自测题.doc

上传人:a199****6536 文档编号:3248470 上传时间:2024-06-26 格式:DOC 页数:35 大小:616.21KB 下载积分:12 金币
下载 相关 举报
Java应用程序-题库测试题练习题带答案测试题模拟题自测题.doc_第1页
第1页 / 共35页
Java应用程序-题库测试题练习题带答案测试题模拟题自测题.doc_第2页
第2页 / 共35页


点击查看更多>>
资源描述
习题 一、选择题(答案可能不止一个) 1.( )是以对象为特征的可视化程序组件? A.过程化语言 B.面向对象的语言 C.机器语言 D.以上都不是 2.Java语言在体系结构上是( )。 A.过程化语言 B.抽象的 C.与平台无关的 D.特定的 3.所有Java应用程序必须包含下面哪个方法才能运行?( ) A.start() B.begin() C.main() D.main(String args[]) 4.执行编译好的Java程序的命令是( )。 A.javac B.java C.run D.execute 5.在Java中,类可以具有任何数目的超类?( ) A.正确 B.错误 6.以下哪种Java程序可访问JVM之外的资源?( ) A.Java应用程序 B.Java Applet C.Java Servlet D.以上都不是 7.Java源代码文件可使用下列哪个扩展名存储?( ) A..java B..javac C..javax D..src 8.子类也称为( )。 A.内联类 B.嵌套类 C.派生类 D.隐藏类 9.以下哪个选项使Java得以在因特网上流行? A.Java Applet B.Java应用程序 C.Java字节码 D.以上都不是 10.以下哪个是关于Java的正确说法?( ) A.仅具有编译器 B.仅具有翻译器 C.具有编译器和翻译器 D.具有字节码阅读器 二、填空题 1.Java程序有_______________________和______________________两种类型; 2.现有一个Java类MyJava,其权限为public,则包含该类的Java程序文件名为________________;用javac命令编译后,得到类文件是______________________;要运行该程序,在命令行环境下应输入_________________________命令; 3.在Eclipse集成开发环境中开发Java程序,先要点击________________菜单创建Java项目,然后点出__________________菜单在Java项目中新建Java类,接着编写程序代码,之后点出______________菜单或______________按钮运行程序; 4.通常,主类程序都有一个__________方法,它是Java应用程序的入口点。 三、思考题 1.与其它高级语言比较,Java语言有什么特点? 2.环境变量classpath与path包含的内容、实现的功能有什么不同? 3.什么是JVM ?简述ava程序的执行过程。 四、编程题 1.编写一个主类名为MyJava1的Java程序,输出一行“这是我编写的第一个Java程序”文字; 2.参考例题,编程实现如图1、图2所示功能:输入圆的半径,输出其周长与面积: 图1 输入圆的半径 图2 输出圆的周长与面积 3.参考例题,编写一个小应用程序,输出类似于图3所示结果(图片可从互联网上下载): 图3 小应用程序运行结果 习题 一、选择题(答案可能不止一个) 1.下列哪一个不是Java语言的关键字?( ) A . if B. sizeof C. private D. null 2.下列关于基本数据类型取值范围的描述中,正确的是( ) A. byte类型的取值范围为-128~128 B. boolean类型的取值为ture和false C. char类型的取值范围为0~65536 D. short类型的取值范围为-32768~32767 3.下列赋值语句中,不正确的是( ) A. boolean b=(5>6); B. double d=0.0f; C. float f=1.23; D. char c=’NBA’; 4.表达式 true || false && true || false && !true的值是( ) A. 0 B. 1 C. true D. false 5.已知:int x=3; int y=6; z=x|y; 则z的值为( ) A. 6 B. 7 C. 8 D. 9 6.在一个应用程序中定义了数组a:int [] a={1,2,3,4,5,6}; 能够打印输出数组最后一个元素的语句是( ) A. System.out.println(a[6]); B. System.out.println(a[5]); C. System.out.println(a[4]); D. System.out.println(a[a.length]); 7. 观察下列代码段,其运行结果中包括( )选项 for (int i=0;i<2;i++){ for (int j=0;j<3;j++){ if (i==j) continue; System.out.println("i="+i+", j="+j); } } A. i=0, j=0 B. i=0, j=1 C. i=0, j=2 D. i=1, j=0 E. i=1, j=1 F. i=1, j=2 8. 执行如下代码段后,程序的输出结果是( ) int x=1; switch (x){ case 1: ++x; System.out.print(x); case 5: x++; System.out.print(x); break; default: System.out.print(x); } A. 1 B. 12 C. 23 D. 123 E. 234 F. 3 二、填空题 1.请将程序所缺代码补充完整: public __________ App1{ public _________ void ____________(________ arg[ ]){ __________.out.println("你好!"); } } 2.设i、d、c的数据类型分别为int、double和char型,它们的值为:i=10, d=23.4, c=’a’。 请将表达式的值填入表格中(假定各表达式互不影响): 表 1 表达式对应的运行结果 表达式 运算结果 表达式 运算结果 r1=i++ r2=++i i%3 d/2 d >123.45 i==0 i+20 <= d (i<20) && (c!=’A’) c>=’a’ && c<=’z’ (int) (c+3) 3. 请把下列数学式或描述写成Java对应的表达式: (1) ax2+bx+c 对应的Java表达式________________ (2) 对应的Java表达式________________ (3) 对应的Java表达式________________ (4) 4x-7y+2=ab 对应的Java表达式________________ (5) place="广东" 同时 sex='男' 对应的Java表达式________________ (6) ch是0—9的数字字符对应的Java表达式________________ 4.某学校评选奖学金的条件是主要课程的平均成绩为95分及95分以上,或是主要课程每科成绩为90分及90分以上。设某学期某年级开设了x1、x2、…、x5门主要课程,则将评选奖学金的条件用Java表达式表示出来应该是____________________________。 三、思考题 1. Java中的数据类型可分哪两大类?基本类型包括哪8种? 2. Java中的包名、类名、接口类、方法名的命名有什么约定俗成的规则? 3. Java中的注释有哪些种类?为什么编写程序代码时要加入注释? 4. 为什么使用&&、||运算符进行逻辑运算时容易出现“短路”现象?如何加以改进? 5. 本章中介绍了哪几种输入、输出方法?请注意它们的区别。 6. 比较Java中的数组与C++中的数组的异同点。 四、编程题 1.要求:以图形界面方式输入任意三个实数,输出其中的最大值。 2.现有一函数: 请编写一个程序,输入x值,输出y值。 3.我国公民个人收入所得税采用分级累进方法计算,实际操作时:先计算 超出个税起征点的金额=月收入- 个税起征点(现阶段为2000元),再根据超出部分数量多少来确定纳税等级(月收入不到个税起征点的不用纳税),最后计算 纳税金额=超出部分金额*相应税率-速算扣除数。具体见表2: 表2 我国个人所得税各等级的税率及速算扣除数 级数 月收入超出个税起征点的金额 税率 速算扣除数(元) 1级 不超过500元的 5% 0 2级 超过500至2000元的部分 10% 25 3级 超过2000元至5000元的部分 15% 125 4级 超过5000元至20000元的部分 20% 375 5级 超过20000元至40000元的部分 25% 1375 6级 超过40000元至60000元的部分 30% 3375 7级 超过60000元至80000元的部分 35% 6375 8级 超过80000元至100000元的部分 40% 10375 9级 超过100000元以上 45% 15375 例如:某人某月收入为5000元,则他应交纳的个人所得税可以这样计算: 超出个税起征点金额:5000-2000=3000元,属于第3级别,故: 应缴个人所得税:3000*15%-125=450-125=325(元) 请编写一个程序,输入任何一个公民的月收入,能够计算其应交纳的个人所得税。 4.利用公式 : 求π的近似值,直到最后一项的绝对值小于10-4为止。(用while语句实现) 5.36块砖,36人搬,男搬4、女搬3、两个小儿抬1砖,要求一次全搬完,问:男、女、小儿各几人? 6.使用Math.random()方法产生50个0—100的随机整数,并将它们存放到一维数组score中,然后统计各分数段上的次数(即分别在0~9,10~19,20~29,…,80~89,90~100上的次数),并将分类统计结果存入到数组result中,最后输出数组result各元素的值。 习题 一、选择题(答案可能不止一个) 1.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( ) A.static void method( ) B.public void method( ) C.final void method( ) D.abstract void method( ) 2.对于构造方法,下列叙述正确的是( ) A.构造方法是类的一种特殊方法,它的方法名必须与类名相同 B.构造方法的返回类型只能是void型 C.构造方法的主要作用是完成对类的对象的初始化工作 D.一般在创建新对象时,系统会自动调用构造方法 3.若需要定义一个类变量或类方法,应使用哪种修饰符?( ) A.static B.package C.private D.public 4.若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于( ) A.本地方法 B.最终方法 C.静态方法 D.抽象方法 5.不使用static修饰符限定的方法称为实例方法。下列关于实例方法的说法中,正确的是( ) A.实例方法可以直接调用父类的实例方法 B.实例方法可以直接调用父类的类方法 C.实例方法可以直接调用其他类的实例方法 D.实例方法不可以直接调用本类的类方法 6.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( ) A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 7.设有下面的一个类定义: class AA { static void Show( ){ System.out.println(“我喜欢Java!”); } } class BB { void Show( ){ System.out.println(“我喜欢C++!”); } } 若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的?( ) A.a.Show( ) B.AA.Show( ) C.AA.Show( ) D.a.Show( ) b.Show( ) BB.Show( ) b.Show( ) BB.Show( ) 8.关于下列代码,哪那个语句的描述是正确的?( ) public class Person{ static int arr[] = new int[10]; public static void main(String a[]){ System.out.println(arr[1]); } } A.编译时将产生错误 B.编译时正确,运行时将产生错误 C.输出零 D.输出空 9.  下列方法定义中,正确的是( ) A. int x( ){ char ch='a'; return (int)ch; } B.void x( ){ ...return true; } C. int x( ){ ...return true; } D.int x( int a, b){ return a+b; } 10.在某个类A中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是( ) A.void getSort(float x) B.int getSort(int y) C.double getSort(int x,int y) D.void get(int x,int y) 11. 有一个类A,以下为其构造方法的声明,正确的是( ) A. void A(int x){...} B. A(int x){...} C. a(int x){...} D. void a(int x){...} 12. 符合对象和类关系的是( ) A.人和老虎 B.书和汽车 C.楼和建筑物 D.汽车和交通工具 二、填空题 1.定义一个类包括类的声明和_______两个部分。 2. Java中类成员的访问修饰符有以下几种:private, public, _ __ _ ___, _______ _;类的访问修饰符只能使用缺省和_______ _。 3.类的类型修饰符包含了缺省、 及 三种,分别对应具体类、抽象类和最终类三种类型。 4.this除了可以用作对当前对象的引用外,还可以使用this调用 构造方法以及访问 ___________的成员变量。 5.如果子类中的某个方法的名字、返回值类型和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法 __________了父类的同名方法。 6.创建一个名为MyPackage 的包的语句是 ,该语句应该放在程序的位置为 。 三、思考题 1.面向对象编程语言的基本特征是什么? 2.什么是对象?什么是类?对象与类的关系是什么? 3.类变量与实例变量的区别? 4.类方法与实例方法的区别? 5.什么是方法的重载? 6.构造方法有什么作用? 7.Java中引入包的优点是什么? 8.如何将需要的外部类引入程序中?如何引用包中的某个类?如何引用整个包? 四、编程题 1.根据下面的要求实现圆类Circle: Circle类的成员变量:radius 半径 Circle类的成员方法: (1) Circle() 构造方法,将半径置为0 (2) Circle(double r) 构造方法,创建Circle对象时将半径初始化为r (3) double getRadius() 获得圆的半径值 (4) void setRadius(double r) 设置圆的半径 (5) double getPerimeter() 获得圆的周长 (6) double gerArea() 获得圆的面积 接着再定义一个类CircleTest,用来调用Circle类,具体如下: 在CircleTest类的main()方法中创建一个半径为0的对象c1,再调用它的setRadius()修改其半径值为50,然后输出c1的周长和面积。 2.先定义一个教师类Teacher,它封装了: 三个成员变量:    strNo  //表示工号 strName //表示姓名 intWorkAge //表示工龄 四个成员方法: Teacher(String no, String name, int workAge) //构造方法 getTeacherNo() //获取教师工号 getTeacherName() //获取教师姓名 getTeacherWorkAge() //获取教师工龄 接着再定义一个类TeacherTest,用来调用Teacher类,具体如下: 在Teacher类的main()方法中创建一个工号为“0234”、姓名为“张三”、工龄为35年的对象t1,然后输出t1的工号、姓名和工龄。 3.设计学生类student,属性包括:sno、sname、Chinese(语文成绩)、Math(数学成绩)和Phsic(物理成绩),,然后创建一个包含四个元素的对象数组stu,stu使用表1中的数据进行初始化,要求输出三门成绩总和为最高的学生学号和姓名。 表1 类属性及属性值 4.请按要求设计一个课程类Course,它封装了: 三个成员变量:    courseID  //课程代号 courseName //课程名称 credit //课程学分 四个重载的构造器: Course() //默认的构造器 Course(String courseID) //单参数的构造器 Course(String courseID,String courseName) //两个参数的构造器 Course(String courseID,String courseName, int credit) //三个参数的构造器 要求:Course(String courseID,String courseName)构造器要调用Course(String courseID,String courseName, int credit)构造器。 习题 一、选择题(答案可能不止一个) 1.现有:String str1="Java"; String str2=new String("Java"); String str3="Java"; String str4=new String("Java"); 在下列表达式中,结果为true的有( ) A . str1==str2; B. str1==str3; C. str2==str4; D. pareTo(str4); 2.若有:String str1="Java"; String str2=new String("Java"); String str3="Java"; String str4=new String("Java"); 在下列表达式中,结果为true的有( ) A. str1.equals(str2); B. str1.equals(str3); C. str2.equals(str4); D. pareTo(str3); 3.现有:String str="Tel:(020)87818998"; 若要得到第二个“8”的位置,可调用 ( )方法 A. str.indexOf('8'); B. str.lastIndexOf('8'); C. str.indexOf('8', strr.indexOf('8')+1); D. str.charAt('8'); 4.若有:String str=new String("广州亚运会")转换为字节数组,正确的语句( ) A. byte b[]=str.getBytes(); B. byte b[]=str.getchars(); C. byte b[]=str.getBytes("GBK"); D. byte b[]=new Byte(str); 5.以下表达式中,正确的有( ) A. String str=""+6; B. "test".trim(); C. "nba".toUpperCase(); D. String words[]="What is your name?".split(); 6.具有append()方法的是( )类 A. String B. StringBuffer C. Math D. StringTokenizer 7.要产生[1,100]的随机整数,可通过( )语来实现 A. (int) (1 + Math.random() * 100); B. (int) (1 + Math.random() * 99); C. (int) (1 + Math.random() * 101); D. (int) (Math.random() * 101); 8.要将字符串"678" 转换成int类型数据,正确的语句是( ) A. Double.parseDouble("678"); B. Int.parseInt("678"); C. Integer.parseInt("678"); D. Integer.valueOf("678"); 9.要获得当前系统时间的毫秒数,正确的方法有( ) A. Date now=new Date() ; long n=now.getTime(); B. System. currentTimeMillis(); C. Calendar cal=new GregorianCalendar();long n=cal. getTimeInMillis(); D. Calendar cal=new Calendar();long n=cal. getTime(); 10. 假设系统时间为2010年10月1日0时0分0秒 0毫秒,则执行如下语句:Calendar cal=new GregorianCalendar(); System.out.println(cal.get(Calendar.MONTH));后将输出( ) A. 1 B. 4 C. 5 D. 6 二、填空题 1.调用____________表达式可得到圆周率的近似值; 2.执行StringBuffer buffer=new StringBuffer(); 语句后,buffer的初始容量为____字节; 3.若要创建一个指定时间:2008年8月8日20时0分0秒 的对象,可用____________________语句来实现; 4.SimpleDateFormat类的功能是____________________________。 三、思考题 1.字符串常量与使用new String(" …")方法构造的字符串有什么不同? 2.比较字符串时,使用“==”运算符与调用equals()方法有什么差异? 3.StringBuffer与String相比,有什么优点? 4.基本数据类型的包装类有什么用途? 5.比较Date类与Calendar类的区别。 四、编程题 1.编写一个Java程序,实现下列功能: (1)声明一个名为str的String对象,并使它的内容初始化为“How are you? ”; (2)打印整个字符串内容; (3)输出字符串的长度; (4)输出字符串的第一个字符; (5)输出字符串的最后一个字符; (6)输出字符串中的第一个单词(提示:先查找第一个空格位置,再获取该位置之前的子串); (7)以大写字母方式输出字符串内容。 2.编写一个Java程序,实现如下功能: (1)声明一个名为bufferr的StringBuffer对象,并使它的内容初始化为“C++”; (2)输出buffer的内容; (3)使用append()方法在尾部追加“是一种编程语言”字符串; (4)使用insert()方法在“一种”和“编程”之间插入“面向对象”字符串; (5)使用replace()方法将字符串中的“C++”内容替换成“Java”; (6)使用delete()方法删除字符串中的“一种”两个汉字; (7)将buffer对象翻转(即从尾到头),再转换为String对象,并输出。 3.使用Math.random()方法产生50个0—100的随机整数,并将它们存放到一维数组score中,然后统计各分数段上的次数(即分别在0—9,10—19,20—29,…,80—89,90—100上的次数),并将分类统计结果存入到数组result中,最后输出数组result各元素的值。 4.编程实现:输入任意一个正整数,输出其对应的二进制、八进制、十六进制字符串。 5.借助SimpleDateFormat类输出系统的当前时间,输出格式为: 北京时间:xxxx年xx月xx日xx时xx分xx秒。 习题 一、选择题(答案可能不止一个) 1.设有下面两个类的定义: class Person {} class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){return score;} } 问:类Person和类Student的关系是( )。 A.包含关系 B.继承关系 C.关联关系 D.无关系,上述类定义有语法错误 2.设有下面的两个类定义: class AA { void Show(){ System.out.println(“我喜欢Java!”); } class BB extends AA { void Show(){ System.out.println(“我喜欢C++!”); } } 则顺序执行如下语句后输出结果为:( ) AA a; BB b; a.Show(); b.Show(); A.我喜欢Java! B.我喜欢C++! 我喜欢C++! 我喜欢Java! C.我喜欢Java! D.我喜欢C++! 我喜欢Java! 我喜欢C++! 3.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 4.对于子类的构造方法说明,下列叙述中不正确的是( )。 A.子类无条件地继承父类的无参构造方法。 B.子类可以在自己的构造方法中使用super关键字来调用父类的含参数构造方法,但这个调用语句必须是子类构造方法的第一个可执行语句。 C.在创建子类的对象时,将先执行继承自父类的无参构造方法,然后再执行自己的构造方法。 D.子类不但可以继承父类的无参构造方法,也可以继承父类的有参构造方法。 5.给出下面代码: 1) class Parent { 2) private String name; 3) public Parent(){} 4) } 5) public class Child extends Parent { 6) private String department; 7) public Child() {} 8) public String getValue(){ return name; } 9) public static void main(String arg[]) { 10) Parent p = new Parent(); 11) } 12) } 那些行将引起错误? ( ) A.第3行 B.第6行 C.第7行 D.第8行 6.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; //p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; } 最后一句语句的结果是: ( ) A.将构造一个Student对象 B.表达式是合法的 C.表达式是错误的 D.编译时正确,但运行时错误 7.对于下列代码: 1) class Person { 2) public void printValue(int i, int j) {//... } 3) public void printValue(int i){//... } 4)} 5) public class Teacher extends Person { 6) public void printValue() {//... } 7) public void printValue(int i) {//...} 8) public static void main(String args[]){ 9) Person t = new Teacher(); 10) t.printValue(10); 11) } 第10行语句将调用哪行语句?( ) A.line 2 B.line 3 C.line 6 D.line 7 8.对于下列代码:( ) public class Parent { public int addValue( int a, int b) { int s; s = a+b; return s; } } class Child extends Parent { } 下述哪些方法可以加入类Child? A. int addValue( int a, int b ){// do something...} B.public void addValue (int a, int b ){// do something...} C.public int addValue( int a ){// do something...} D.public int addValue( int a, int b )throws MyException {//do something...} 9.给出下面代码, 那个选项是正确的?( ) public class test{ static int a[] = new a[10]; public static void main(String args[]) { System.out.println(arr[10]); } } A. 编译时将产生错误 B. 输出零 C. 编译时正确,运行时将产生错误 D. 输出空 二、填空题 1. 是一种软件重用形式,在这种形式中,新类获得现有类的数据和方法,并可增加新的功能。 2.派生类构造方法可以通过关键字 调用基类构造方法。 2.多态是指 ,在Java中有两种多态,一种是使用方法的 实现多态,另一种是使用方法的 实现多态。 3. Java中所有类都是类 的子类。 4.被关键字 修饰的方法是不能被当前类的子类重新定义的方法。 三、思考题 1.比较Overload(方法重载)和Override(方法覆盖)的区别。 2.在创建派生类的对象的时候,基类与派生类中构造方法的调用顺序怎样? 3.比较this和super的区别 4.什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点? 四、编程
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服