java习题解答 联系客服

发布时间 : 星期日 文章java习题解答更新完毕开始阅读71ab28dd680203d8ce2f24a5

第1章 Java语言概述

习 题 一

一、简答题

1.Java语言的诞生日是哪一天?它有哪些特点与优势? 2.Java语言程序分为哪几种?Java Application程序和Java Applet程序的主要区别是什么?

3.Java Application程序在结构上有哪些特点?如何编译、运行?被编译后生成什么文件?该文件机器可以直接识别吗?如何执行?

4.安装JDK后如何对JAVA_HOME、PATH和CLASSPATH环境变量进行设置?它们的作用是什么?

5.Java程序在书写上应注意哪些事项?有哪些编码规范?

6.为什么要对程序进行注释?Java中有哪几种注释?文档注释符与多行注释符有何不同? 二、选择题

1.下面关于Java Application 程序结构特点描述中,错误的是( D )。 A.一个Java Application程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若干个方法和变量组成。

B.Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩展名为.java。

C.组成Java Application程序的多个类中,有且仅有一个主类。

D.一个.java文件中定义多个类时,允许其中声明多个public类。最多有一个public类

2.编译Java程序后生成的面向JVM的字节码文件的扩展名是( B )。 A..java程序文件名 B..class C..obj D..exe 3.下面关于Java 语言特点的描述中,错误的是( A )。

A.Java是纯面向对象编程语言,支持单继承和多继承。仅支持单继承 B.Java支持分布式的网络应用,可透明地访问网络上的其他对象。 C.Java支持多线程编程。

D.Java程序与平台无关、可移植性好。

4.Java SE的命令文件(java、javac、javadoc等)所在目录是( C )。 A.%JAVA_HOME%\\jre B.%JAVA_HOME%\\lib C.%JAVA_HOME%\\bin D.%JAVA_HOME%\\demo

5.下列关于运行字节码文件的命令行参的描述中,正确的是( C )。 A.命令行的命令字被存放在args[0]中。

B.数组args[]的大小与命令行的参数的个数无关。

C.第一个命令行参数(紧跟命令字的参数)被存放在args[0]中。 D.第一个命令行参数被存放在args[1]中。 6.paint()方法使用哪种类型的参数? ( A )

A.Graphics B.Graphics2D C.String D.Color

7.Java的核心包中,提供编程应用的基本类的包是( B )。

A.java.util B.java.lang C.java.applet D.java.rmi

8.编译Java程序时,用于指定生成class文件位置的选项是( A )。 A.-d B.-g C.-verbose D.-nowarn 9.下列标识符(名字)命名原则中,正确的是( C )。 A.类名的首字母小写 B.接口名的首字母小写

C.常量全部大写 D.变量名和方法名的首字母大写 10.下面哪些选项是正确的main方法说明?( D )

A.void main() B.private static void main(String args[])

C.public main(String args[]) D.public static void main(String args[])

11.下面哪种注释方法能够支持javadoc命令?( C )

A.// B./*...*/ C./**...*/ D./**...**/ 三、判断题

1.Java语言具有较好的安全性和可移植性及与平台无关等特性。( √ ) 2.Java语言的源程序不是编译型的,而是编译解释型的。( √ )

3.Java Application程序中,必有一个主方法main(),该方法有没有参数都可以。( √ )

4.java.util.Scanner(System.in)可以接收用户从键盘输入的简单数据。( √ )

5.Java程序中不区分大小写字母。( × ) 6.机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。( √ )

7.System类中的println()方法分行显示信息,而print()方法不分行显示信息。( √ )

8.当前路径的标识是“.”。 ( √ )

9.java命令不区分大小写,而javac命令区分大小写。( × )

10.printf()和 format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。( √ )

11.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。( × ) 四、编程题

1.分别用UltraEdit、NetBeans、Eclipse、JBuilder和JCreator编写一个Java Application程序,使该程序运行后输出字符串“Nothing is too difficult if you put your head into it .”。

2.编写一个具有交互功能的Java Application程序,提示从键盘输入应付金额和实付金额后,计算并输出找零或欠付金额。

3.编写一个Java Applet程序,使该程序运行后输出字符串“Don’t put off till tomorrow what should be done today.”。

第2章 Java语言基础

习 题 二

一、填空题

1.已知:int a =8,b=6; 则:表达式++a-b++的值为( 3 )。 2.已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为( false )。

3.已知:double x=8.5,y=5.8; 则:表达式x++>y--值为( true )。 4.已知:int a[ ]={2,4,6,8}; 则:表达式(a[0]+=a[1])+ ++a[2]值为( 13 )。

5.执行int x, a = 2, b = 3, c = 4; x = ++a + b++ + c++; 结果是( x=10,a=3,b=4,c=5 )。

6.Java中的显式类型转换既能(从低类型向高类型转换)也能从高类型向低类型转换,而隐式类型转换只有前者。

7.在Java中,字符串和数组是作为(对象)出现的。 8.执行下列程序代码的输出结果是( 10,11,11 )。

int a = 10; int i, j; i = ++a; j = a--; System.out.printf(\

9.执行完boolean x=false; boolean y=true; boolean z=(x&&y)&&(!y) ; int f=z==false?1:2;

这段代码后,z与f的值分别是( false )和( 1 )。 二、选择题

1.下面哪些标识符在Java语言中是合法的?( AB )

A.persons$ B.TwoUsers C.*point D.instanceof F.end-line

2.下列( D )是合法标识符。

A.2end B.-hello C.=AB D.整型变量 3.已知int i = 2 147 483 647; ++i; 则i的值等于( A )。

A.- 2 147 483 648 B.2 147 483 647 C.2 147 483 648 D.-1

4.若x = 5,y = 8,则表达式x|y的值为( B )。 A.3 B.13 C.0 D.5

5.若定义有变量float f1,f2 = 8.0F,则下列说法正确的是( B )。 A.变量f1,f2均被初始化为8.0 B.变量f1没有被初始化,f2被初始化为8.0

C.变量f1,f2均未被初始化 D.变量f2没有被初始化,f1被初始化为8.0

6.基本数据类型short的取值范围是( B )。

A.(-256)~ 255 B.(-32 768)~ 32 767 C.(-128)~ 127 D.0~65 535

7.下列( B )是不能通过编译的语句。

A.double d = 545.0; B.char a1 = “c”; C.int i = 321; D.float f1 =45.0f;

8.若定义有short s; byte b; char c; 则表达式s * b + c的类型为( C )。

A.char B.short C.int D.byte 9.下列循环语句的循环次数是( B )。 int i=5;

do { System.out.println(i--);

i--;

}while(i!=0);

A.5 B.无限 C.0 D.1

10.下列代码哪几行会出错?( C )

1) public void modify() { 2) int I, j, k; 3) I = 100;

4) while (I > 0) { 5) j = I * 2;

6) System.out.println(\7) k = k + 1; 8) I--; 9) } 10 }

A.line 4 B.line 6 C.line 7 D.line 8 11.下列关于数组的定义形式,哪些是错误的?( ABC )

A.int[ ]c=new char[10]; B.int[ ][3]=new int[2][ ]; C.int[ ]a; a=new int; D.char b[ ]; b=new char[80];

12.执行String[] s=new String[10];语句后,哪些结论是正确的?( BC )

A.s[0] 为 未定义 B.s.length 为10 C.s[9] 为 null D.s[10] 为 \

13.下列关于Java语言的数组描述中,错误的是( D )。 A.数组的长度通常用length表示 B.数组下标从0开始

C.数组元素是按顺序存放在内存的 D.数组在赋初值和赋值时都不判界 14.下面的表达式哪些是正确的? ( ACE ) A.String s=\你好\

B.String s=\你好\C.String s=\你好\