《java程序设计试题~库.doc》由会员分享,可在线阅读,更多相关《java程序设计试题~库.doc(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.Java 语言程序设计基础教程练习思考题参考答案第 1 章 Java 程序设计概述1.1 单项选择题1编译 Java Application 源文件将产生相应的字节码文件,扩展名是什么A. .java B. .classC. .html D. .exe解答:B2Java 语言具有许多优点和特点,下列选项中,哪个反映了 Java 中“一次编译,随处运行”的特点。A. 简单性 B. 平台无关性C. 面向对象性 D. 安全性解答:B3Java 语言具有许多优点和特点,下列选项中,哪个反映了 Java 中并行机制的特点。A. 多线程 B. 平台无关性C. 面向对象性 D. 安全性解答:A4在 Jav
2、a 语言中,下列哪些语句关于内存回收的说明是正确的?A程序员必须创建一个线程来释放内存;B内存回收程序负责释放无用内存 ;C内存回收程序允许程序员直接释放内存 ;Java 语言程序设计基础教程22D内存回收程序可以在指定的时间释放内存对象解答:B5一个 Java 源文件中最多只能有多少个 public 类。A. 1 个 B. 2 个C. 3 个 D. 任意多个解答:A6下面哪一个不是 Java 语言所具有的特点。A. 没有全局变量,在类的定义外部没有任何的变量定义;B. 不直接支持指针操作,而使用更安全的引用类型;C. 支持子类对父类的多继承;D. 具有自动垃圾收集功能;解答:C7下面哪一个不
3、是 Java 开发工具包 JDK 的组成部分。A. Java 的编译器;B. Java 的解释器;C. Java 的 API 继承类库;D. Eclipse 开发工具;解答:C8JDK 提供的编译器是( ) 。A. java.exe B. javac.exeC. 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 *
4、 args)D. public int main(String args)Java 语言程序设计基础教程 33解答:B10下列说法正确的是( A ) A、 JAVA 程序的 main 方法必须写在类里面B、 JAVA 程序中可以有多个 main 方法 C、 JAVA 程序中类名必须与文件名一样 D、 JAVA 程序的 main 方法中如果只有一条语句,可以不用(大括号)括起来11下列哪些语句关于 Java 内存回收的说明是正确的 ? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对
5、象1.2 填空题1、 开发与运行 Java 程序需要经过的三个主要步骤为_、_和_。解答:编辑源程序 、编译生成字节码和解释运行字节码2、使用 Java 编译器_ javac_.exe 编译源文件得到字节码文件。3、Java 应用程序必须通过 Java 解释器_JAVA_.exe 来解释执行其字节码文件。4、如果 Java 源文件中有一个类是 public 类,那么源文件的名字必须与这个类的名字完全_相同_,扩展名是.java 。5、Java 应用程序总是从主类的_main_方法开始执行1.3 简答题13.简述 Java 程序的开发过程? Java 语言程序设计基础教程44(1)使用一个文字编
6、辑器,编写源文件。 (2)使用 java 编译器,编译源文件得到字节码文件。(3)解释运行字节码,分两种 java 应用程序必须通过 java 解释器来解释执行,java 小应用程序必须使用解释器和浏览器运行程序。1.什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?解答:Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java虚拟机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性
7、。3.Java 语言的关键特点有哪些?解答:简单性平台无关性面向对象性安全性分布式多线程动态性1.4 综合题第 2 章 Java 基本的程序设计结构2.1 单项选择题1、 下面哪一项在 java 中是非法的标识符?( )A. $userB. pointC. You 那么 ab 的值是:( )A. 0 B. 1C. false D. true解答:D3、执行完以下代码 int x = new int25;后,以下说明正确的是:( )A. x24为 0 B. x24未定义 C. x25为 0 D. x0为空解答:A4、Java 应用程序的 main 方法中有以下语句,则输出的结果是( ) 。int
8、 x=2,3,-8,7,9; int max=x0; for(int i=1;imax) max=xi; System.out.println(max); A. 2 B. -8C. 7 D. 9解答:5、设 x = 1 , y = 2 , z = 3,则表达式 yz/x 的值是( )A. 3 B. 3.5 C. 4 D. 5解答:A5、执行 System.out.println(5/4),这条代码的输出结果是( )A. 1 B. 1.25 C. 1.5 D. 0解答:A6、下列语句有错误的是:( )A. int a; B. int b=new int10; C. int c=new int;
9、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;Java 语言程序设计基础教程66解答:D9、以下数据类型存储空间最大的是( ) 。(A)byte ( B)long (C)float (D )char解答:B10、System.out.println(“5“ + 2);的输出结果应
10、该是() 。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
11、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;Java 语言程序设计基础教程 77A、 good and abcB、 good and gbcC、 test ok and abcD、 test ok and gbc14下面代码的运行结果为:(C)(较
12、难)import java.io.*;import java.util.*;public class foopublic 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)
13、 ; 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 Java 语言程序设计基础教程88C、double D、void17为一个 boolean
14、 类型变量赋值时,可以使用(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、
15、 由高向低分别是:() 、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;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 =
16、 result + i * 2;case 3:result = result + i * 3;return result;A0 B2 C4 D10答案:DJava 语言程序设计基础教程 99解析:注意这里 case 后面没有加 break,所以从 case 2 开始一直往下运行。22、下面有关 for 循环的描述正确的是( A ) A、 for 循环体语句中,可以包含多条语句,但要用大括号括起来 B、 for 循环只能用于循环次数已经确定的情况 C、 在 for 循环中,不能使用 break 语句跳出循环 D、 for 循环是先执行循环体语句,后进行条件判断23、score 是一个整数数组,有
17、五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是( 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 语言中,基本数据类型包括:_整数类型、 _浮点类型、_字符类型_和_布尔类型
18、17、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占用_2_字节内存空间,这样,无论是中文字符还是英文字符,都是占用_2_字节内存空间。Java 语言程序设计基础教程101018、设 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
19、 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);