java程序设计试题库.doc_第1页
java程序设计试题库.doc_第2页
java程序设计试题库.doc_第3页
java程序设计试题库.doc_第4页
java程序设计试题库.doc_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.Java语言程序设计基础教程练习思考题参考答案第1章 Java程序设计概述1.1单项选择题1编译Java Application源文件将产生相应的字节码文件,扩展名是什么 A. .javaB. .class C. .html D. .exe解答:B2Java语言具有许多优点和特点,下列选项中,哪个反映了Java中“一次编译,随处运行”的特点。 A. 简单性B. 平台无关性 C. 面向对象性D. 安全性解答:B3Java语言具有许多优点和特点,下列选项中,哪个反映了Java中并行机制的特点。 A. 多线程B. 平台无关性 C. 面向对象性D. 安全性解答:A4在Java语言中,下列哪些语句关于内存回收的说明是正确的? A程序员必须创建一个线程来释放内存; B内存回收程序负责释放无用内存 ; C内存回收程序允许程序员直接释放内存 ; D内存回收程序可以在指定的时间释放内存对象解答:B5一个Java源文件中最多只能有多少个public类。 A. 1个B. 2个 C. 3个 D. 任意多个解答:A6下面哪一个不是Java语言所具有的特点。 A. 没有全局变量,在类的定义外部没有任何的变量定义; B. 不直接支持指针操作,而使用更安全的引用类型; C. 支持子类对父类的多继承;D. 具有自动垃圾收集功能;解答:C7下面哪一个不是Java开发工具包JDK的组成部分。 A. Java的编译器; B. Java的解释器; C. Java的API继承类库;D. Eclipse开发工具;解答:C8JDK提供的编译器是( )。 A. java.exeB. javac.exe C. javap.exe D. javaw.exe解答:B9作为Java应用程序入口的main方法,其声明格式可以是( ) A. public void main(String args) B. public static void main(String args) C. public static void Main(String * args) D. public int main(String args)解答:B10下列说法正确的是( A ) A、 JAVA程序的main方法必须写在类里面B、 JAVA程序中可以有多个main方法 C、 JAVA程序中类名必须与文件名一样 D、 JAVA程序的main方法中如果只有一条语句,可以不用(大括号)括起来11下列哪些语句关于Java内存回收的说明是正确的? ( B ) A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象1.2填空题1、 开发与运行Java程序需要经过的三个主要步骤为_、_和_。解答:编辑源程序 、编译生成字节码和解释运行字节码2、使用Java编译器_ javac_.exe编译源文件得到字节码文件。3、Java应用程序必须通过Java解释器_JAVA_.exe来解释执行其字节码文件。4、如果Java源文件中有一个类是public类,那么源文件的名字必须与这个类的名字完全_相同_,扩展名是.java 。5、Java应用程序总是从主类的_main_方法开始执行1.3简答题13.简述Java程序的开发过程? (1)使用一个文字编辑器,编写源文件。(2)使用java编译器,编译源文件得到字节码文件。(3)解释运行字节码,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?解答:Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。3.Java语言的关键特点有哪些?解答:简单性平台无关性面向对象性安全性分布式多线程动态性1.4综合题第2章 Java基本的程序设计结构2.1单项选择题1、 下面哪一项在java中是非法的标识符?( )A. $userB. pointC. You&meD. _endline解答:2、 若有定义 int a=9,b=6; 那么ab的值是:( )A. 0B. 1C. falseD. true解答:D3、执行完以下代码int x = new int25;后,以下说明正确的是:( )A. x24为0 B. x24未定义 C. x25为0 D. x0为空解答:A4、Java应用程序的main方法中有以下语句,则输出的结果是( )。int x=2,3,-8,7,9; int max=x0; for(int i=1;imax) max=xi; System.out.println(max); A. 2B. -8C. 7D. 9解答:5、设 x = 1 , y = 2 , z = 3,则表达式 yz/x 的值是( )A. 3B. 3.5 C. 4D. 5解答:A5、执行System.out.println(5/4),这条代码的输出结果是( )A. 1B. 1.25 C. 1.5D. 0解答:A6、下列语句有错误的是:( )A. int a; B. int b=new int10; C. int c=new int; D. int d=null;解答:C7、下列语句有错误的是:( )A. int a=new int55; B. int b=new int55;C. int c=new int55; D. int d=new int5,5;解答:D8、下列哪一个不属于Java中的8种基本数据类型( )A. double; B.char;C. int; D. String;解答:D9、以下数据类型存储空间最大的是( )。(A)byte (B)long (C)float (D)char解答:B10、System.out.println(5 + 2);的输出结果应该是()。A 52 B7 C2 D5答案:A11在类的定义中可以有两个同名方法,每个方法的参数不同,这种现象称为方法(D )。 (A)封装 (B)继承 (C)覆盖 (D)重载12java中定义字符串String s=”pzhu”,下面操作可以取得字符串长度的是( )。 A. s.length() B. s.length C. s.size() D. length(s)解答:A13指出下列程序运行的结果 (B)(很难)public class Example String str = new String(good); char ch = a, b, c ; public static void main(String args) Example ex = new Example(); ex.change(ex.str, ex.ch); System.out.print(ex.str + and ); System.out.print(ex.ch); public void change(String str, char ch) str = test ok; ch0 = g; A、 good and abcB、 good and gbcC、 test ok and abcD、 test ok and gbc14下面代码的运行结果为:(C)(较难)import java.io.*;import java.util.*;public class foo public static void main (String args) String s; System.out.println(s= + s); A 代码得到编译,并输出“s=”B 代码得到编译,并输出“s=null”C 由于String s没有初始化,代码不能编译通过D 代码得到编译,但捕获到 NullPointException异常15关于以下程序段,正确的说法是( C ) 1 String s1=”abc”+”def”; 2 String s2=new String(s1); 3 if(s1= =s2) 4 System.out.println(“= = succeeded”); 5 if (s1.equals(s2) 6 System.out.println(“.equals() succeeded”);A、行4与行6都将执行 B、行4执行,行6不执行 C、行6执行,行4不执行 D、行4、行6都不执行16Java application中的主类需包含main方法,main方法的返回类型是什么?( D ) A、int B、float C、double D、void17为一个boolean类型变量赋值时,可以使用(B )方式 A、 boolean = 1; B、 boolean a = (9 = 10); C、 boolean a=真; D、 boolean a = = false;18表达式(11+3*8)/4%3的值是( D ) A、 31 B、 0 C、 1 D、 219运算符优先级别排序正确的是( A) (太难)A、 由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符; B、 由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符; C、 由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符; D、 由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;20下列值不为true的表达式有(C )。A、 john = = john B、 john.equals(john) C、 john = john D、 john.equals(new String(john)21、下面的方法,当输入为2的时候返回值是多少?(D)(很难) public static int getValue(int i) int result = 0; switch (i) case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; return result; A0 B2 C4 D10答案:D解析:注意这里case后面没有加break,所以从case 2开始一直往下运行。22、下面有关for循环的描述正确的是( A ) A、 for循环体语句中,可以包含多条语句,但要用大括号括起来 B、 for循环只能用于循环次数已经确定的情况 C、 在for循环中,不能使用break语句跳出循环 D、 for循环是先执行循环体语句,后进行条件判断23、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是( B ) temp = score0; for (int index = 1;index 5;index+) if (scoreindex temp) temp = scoreindex; A. 求最大数 B. 求最小数 C. 找到数组最后一个元素 D. 编译出错26、2.2填空题1、Java语言是一种完全的_面向对象 _程序设计语言 2、String s1=“China”; int n=s1.length( ); n的值为_5_3、在Java语言中,基本数据类型包括:_整数类型、_浮点类型、_字符类型_和_布尔类型17、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用_2_字节内存空间,这样,无论是中文字符还是英文字符,都是占用_2_字节内存空间。18、设 x = 2 ,则表达式 ( x + + )3 的值是_0_。20、设有数组定义:int MyIntArray = 10, 20, 30, 40, 50, 60, 70 ;则执行以下几个语句后的输出结果是: 120 。int MyIntArray = 10, 20, 30, 40, 50, 60, 70 ;int s = 0;for (int i = 0; i MyIntArray.length; i+)if (i % 2 = 1)s += MyIntArrayi;System.out.println(s);21、数组对象的长度在数组对象创建之后,就_不会_改变。数组元素的下标总是从_0_开始。22、对于数组intt=1,2,3,4,5,6来说,t.length等于_2_,t0.length等于_3_。2.3简答题1、Java的基本数据类型有哪8种,每种类型的内存空间分别是多少。2.4综合题26、编程计算1020的整数的平方值,将结果保存在一个数组中。27、编写一个程序使之从键盘读入10个整数存入整型数组a中,并输出这10个整数的最大值和最小值。import java.util.Scanner;public class lianxi30 public static void main(String args) Scanner temp;float sum = new float11;float max, min;for (int i = 0; i 10; i+) System.out.println(请输入第一个数字(回车结束):);temp = new Scanner(System.in);String a = temp.nextLine();sumi = Integer.parseInt(a); /获取输入的字符串max = sum0;min = sum0;for (int j = 1; j 10; j+)if (max sumj)min = sumj;System.out.println(max);System.out.println(min);31、如果我国经济以每年10%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。class exA4_1 public static void main(String args) int a=0; double i=0.10,sum=1; while(sumb ? a:b) ;void max(float a,float b)System.out.println(ab ? a:b) ;void max(double a, double b)System.out.println(ab ? a:b) ;public static void main(String args)Test t =new Test() ;t.max(3,4) ;3、编写一个矩形类对数学中的矩形进行抽象描述,并具有方法可以计算矩形的周长和面积,具体分为以下三个子任务完成。(1)创建Rectangle类,添加属性width、height,并定义构造方法Rectangle(double _width, double _height); (2)在Rectangle类中添加两种方法computCircum()和computArea()分别计算矩形的周长和面积; (3)编程利用Rectangle对象输出一个30*40的矩形的周长和面积。解答:public class TestRectang public static void main(String args) / TODO Auto-generated method stubRectangle rect1 = new Rectangle(20,30) ;System.out.println(putArea();System.out.println(putCircum();class Rectangledouble width,height ;Rectangle()width = 0 ;height = 0 ;Rectangle(double _width,double _height)width = _width ;height = _height ;double computArea() return width*height ;double computCircum()return 2*(width+height) ;第4章 继承、接口和内部类4.1单项选择题1、 Java中用于定义接口的关键字是( )A、importB、packageC、class D、interface解答:D2、 以下关于abstract的说法,正确的是( )A、abstract只能修饰类B、abstract只能修饰方法C、abstract类中必须有abstract方法D、abstarct方法所在的类必须用abstract修饰解答:D3、 下列哪种说法是正确的( ) A、私有方法不能被子类覆盖。 B、子类可以覆盖超类中的任何方法。 C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。 D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。 解答:A4、关于类继承的说法,正确的是( )A、Java 类允许多重继承B、Java接口允许多继承C、接口和类都允许多继承D、接口和类都不允许多继承解答:B5、关于抽象类,正确的是_。 A. 抽象类中不可以有非抽象方法B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法C. 可以用抽象类直接去创建对象D. 接口和抽象类是同一个概念解答:B8、 抽象类A和抽象类B的定义如下:abstract class A abstract int getinfo();public class B extends A private int a = 0;public int getinfo() return a;public static void main(String args) B b = new B();System.out.println(b.getinfo();关于上述代码说明正确的是( )。A. 输出结果为0 B.通过编译但没有输出任何结果C. 第5行不能通过编译 D. 程序第2行不能通过编译解答:A9、下面程序的运行结果是_class ex4_5_11_A protected static int count = 0;public ex4_5_11_A() count+;class ex4_5_11_B extends ex4_5_11_A public ex4_5_11_B() count+;class ex4_5_11 public static void main(String args) ex4_5_11_B x = new ex4_5_11_B();System.out.println(count= + x.count);A. count=1 B. count=2C. count=3 D. count=4解答:B10、设有下面两个类的定义:class Person long id; / 身份证号 String name; / 姓名 class Student extends Person int score; / 入学总分 int getScore() return score; 问:类Person和类Student的关系是( )A、包含关系 B、继承关系 C、关联关系 D、无关系,上述类定义有语法错误解答:B11、以下程序代码错误的是( B )。 abstract class P class A extends P abstract class B extends P ()P p=new A(); ()P p=new B();()A a=new A(); ()P p=new P()void foo();12、下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new Child(mike)的时候都有哪些构造方法被顺序调用?请选择输出结果 ( D)class People String name; public People() System.out.print(1); public People(String name) System.out.print(2); = name; class Child extends People People father; public Child(String name) System.out.print(3); = name; father = new People(name + :F); public Child() System.out.print(4); A312 B 32 C 432 D 13213、选项中哪一行代码可以替换题目中/add code here而不产生编译错误?(A)public abstract class MyClass public int constInt = 5; /add code here public void method() A public abstract void method(int a);B constInt = constInt + 5;C public int method();D public abstract void anotherMethod() 15、以下哪项是接口的正确定义?( D ) A、 interface B void print() B、 abstract interface B void print() C、 abstract interface B extends A1,A2 /A1、A2为已定义的接口 abstract void print() ; D、 interface B void print();16、A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的? ( D )A、只有第1行能通过编译B、第1、2行能通过编译,但第3行编译出错 C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的 17、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A int i; static String s; void method1() static void method2() A、System.out.printl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论