JAVA程序设计语言基础习题及答案 下载本文

内容发布更新时间 : 2024/5/2 10:33:49星期一 下面是文章的全部内容请认真阅读。

JAVA程序设计语言基础习题

(1)在Java中,负责对字节代码解释执行的是(B )。 A.垃圾回收器 B.虚拟机 C.编译器 D.多线程机制 //编译器将JAVa源程序编译成字节代码,即虚拟机代码,然后由虚拟机将虚拟机代码换成相应硬件的机器代码,之后加以执行。 (2)Java语言中,负责并发管理的机制是( D) A.垃圾回收 B.虚拟机 C.代码安全 D.多线程 //多线程即是多任务的特殊形式,多个任务并发执行。 (3)下列叙述中,正确的是 (C ) A.源文件扩展名为.jar B.源文件名与public类名可以不相同 C.Java语言的标识符是区分大小写的 D.源文件中public类的数目不限 //A项扩展名应为.java;B项应为相同;D项public类只能有一个。 (4)Java为移动设备提供的平台是( A ) A.J2ME B.J2SE C.J2EE D.J2RE //J2ME是致力于消费产品与嵌入式设备之间的最佳解决方案,特别是在移动通J2SE是用于编写桌面/工作站应用软件;J2EE信设备,移动计算设备上应用广泛;J2RE是前沿的JAVA技术平台,为服务器的计算提供了所有范围的企业级功能。是JAVA的运行环境。 (5)JDK中提供的文档生成器是( C ) A.java.exe B. javap.exe C. javadoc.exe D. jdb.exe //A中的java.exe是java语言解释器;B中的javap.exe是java类文件反汇编器,用于分析类中的所有成员方法和成员变量,当然也包括构造方法;C中的javadoc.exe是Java API文档生成器;D中的jdb.exe是javadebug的缩写,既JAVA调试器。 (6)在Java语言中,不允许使用指针体现出的Java特性是( D ) A.可移植 B.解释执行 C.健壮性 D.安全性 //java不支持指针数据类型,它提供了字节码的检查机制还提供了自动的“内存垃圾”手机功能,提高了JaVA的稳定性和安全性。 (7)下列描述中,错误的是(A ) A.Java要求编程者管理内存 B.Java的安全性体现在多个层次上 C.Applet要求在支持Java的浏览器上运行 D.Java有多线程机制Java不需要编程者管理内存,提供了自动的“内存垃圾”的收集功能 // Java不需要编程者管理内存,提供了自动的“内存垃圾”的收集功能 (8)Java编译器将源代码翻译成独立于平台的格式是(B ) A.opcodes B.bytecodes C.virtual machines D.applet // Java编译器将源代码翻译成独立于平台的格式是字节码即bytecodes (9)Java可以用来创建程序的工具集是( D ) A.JRE B.JNI C.JVM D.JDK 1

//A中的JRE是JAVA运行环境。B中JNI是JAVA本地接口。C中的JVM是JAVA虚拟机。D中的JDK是JAVA的工具集。 (10)Java语言与其他主要语言相比较,独有的特点是( C ) A.面向对象 B.多线程 C.平台无关性 D.可扩展性 //用JAVA语言编写的各种程序可以不经过修改在各个平台系统上运行。 (11)下列属于合法的Java标识符是( A ) A._cat B.5books C. +static D.-3.14159 //标识符是以字母、下划线或$符号开头的字母、下划线以及数字序列。 (12)按照Java的标识符命名规范,下列表示一个类的标识符正确的是( B )A.Helloworld B.HelloWorld C.helloworld D.helloWorld //用Java标识符来表示类名时,如果多于一个单词,则每个单词的第一个字母需要大写。定义变量名时,若一个变量名是有一个以上单词所组成的,则第一个单词之后的所有单词都以大写字母开头。 (13)在Java中,表示“回车”的转义字符是( B ) A.\\n B.\\r C.\\b D.\\t //A中的\\n是回车并且换行的意思。B中的\\r是回车的意思(即回到本行的开头)。C中的\\b是向前退格的意思。D中的\\t是横向跳格的意思。 (14)char类型的取值范围是( B ) A. 2-7 ~27 -1 B. 0~216-1 C. -215 ~215 -1 D. 0~28-1 //JAVA中字符型是用16位的Unicode码来表示的。 (15)十进制数16的16进制表示格式是( A ) A.0x10 B.0x16 C.0xA D.16 //十进制数16表示的二进制数为00010000,然后再将其化为十六进制的0X10 (16)下列的( A )赋值语句是不正确的 A.float f = 2E1.2; B.double d = 5.3E-12; C.float d = 3.14f ; D.double f=0.3E0; //表示float型数时在后面加f或F,浮点型数据采用科学计数法表示时尾数必须有,小数部分可有可无;阶码必须有,且必须是整数。 (17)下列的( D )赋值语句是正确的 A.char a=12; B.int a=12.0; C.int a=12.0f; D.int a=(int)12.0; //浮点型转化为整型数据,必须用强制类型转换。 (18)\运算符的操作数个数是( A ) A. 1个 B. 2个 C. 3个 D. 4个 //++为单目运算符,操作数个数为1。 (19)在switch(expression)语句中,expression的数据类型不能是( A ) A. double B. char C. byte D. short //表达式必须是符合byte,char,short和int类型的表达式,而不能使用浮点类型或long类型,也不能是一个字符串。 (20)阅读下列代码 public class Test{ public static void main(String args[]){ 2

System.out.println(~(0xa5) & 0xaa); } } 其运行结果是 ( B ) A.0xa5 B.10 C.0x50 D.0xaa //~(0XA5)为0X5A,然后与0XAA相与得0X0A,因为计算机输出的结果为十进制,所以结果为10。 (21)阅读下列代码 public class Test{ public static void main(String args[]){ System.out.println(9 >>>2); } } 其运行结果是( B ) A. 4 B. 2 C. 3 D. 1 //9的二进制形式为00001001,无符号右移2位的0010,十进制为2 (22)阅读下列代码段 int x=3; while(x<9) x+=2; x++; while语句成功执行的次数是( D ) 。 A.1次 B.2次 C.0次 D.3次 //如果在while(x<9)后加入大括号,括住x+=2;再加入输出语句System.out.println(“x=”+x);则会输出x=5 x=7 x=9,成功执行while语句3次。 但是如果将x++;也括到大括号中,则输出x=5 x=8,成功执行while语句2次。(23) 阅读下面程序: import java.*; public class TypeTransition { public static void main(String args[]) { char a='h'; int i=100,j=97; int aa=a+i; System.out.println(\char bb=(char)j; System.out.println(\} } 如果输出结果的第二行为bb=a,那么第一行的输出是( C ) A. aa=1 B. aa=v C. aa=204 D. aa=156 //字符h的Unicode值为104,所以a转化为整型数据时为104,故aa为204 (24)给出下列的代码,哪行在编译时可能会有错误? ① public void modify( C ){ ② int i, j, k; ③ i = 100; ④ while ( i > 0 ){ ⑤ j = i * 2; ⑥ System.out.println (\); 3