java单选题库 博学谷
更新时间:2024-01-29 22:35:01 阅读量: 教育文库 文档下载
- java单选按钮推荐度:
- 相关推荐
一、单选题
1.Java属于以下哪种语言?( )
A. 机器语言 B. 汇编语言 C. 高级语言 D. 以上都不对 答案:C
解析:Java是一门高级编程语言 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
2.下列目录中,哪一个是用来存放JDK核心源代码的? A. lib目录 B. src目录 C. jre目录 D. include目录 答案:B
解析:JDK核心源代码存放在src文件夹下 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
3.下面命令中,可以用来正确执行HelloWorld案例的是( ) A. java HelloWorld B. java HelloWorld.java C. javac HelloWorld D. javac HelloWorld.java 答案:A
解析:java命令负责运行编译后的.class文件,不需要文件后缀名。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
4.下面关于配置path环境变量作用的说法中,正确的是( ) A. 在任意目录可以使用javac和java命令 B. 在任意目录下可以使用class文件 C. 在任意目录可以使用记事本
D. 在任意目录下可以使用扫雷游戏 答案:A
解析:path环境变量的作用是在任意目录下都可以使用javac和java命令。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
5.下列选项中,可以正确配置classpath的命令是( ) A. set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin B. set classpath : C:\\Program Files\\Java\\jdk1.7.0_15\\bin C. classpath set =C:\\Program Files\\Java\\jdk1.7.0_15\\bin D. classpath set : C:\\Program Files\\Java\\jdk1.7.0_15\\bin 答案:A
解析:配置classpath的命令是set classpath=xxx,并且等于号两边不要有空格。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
6.下面选项中,完全面向对象的编程语言是?( ) A. C
B. COBOL C. JAVA
D. FORTRAN 答案:C
解析:Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯粹的面向对象程序设计语言 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易 7.
是打发 A. 1 B. 2 C. 3 D. 4 答案:A 解析: 放到
考察点:第一章 Java开发入门 题目难度:★★☆☆ 一般
8.下列关于Java特点的描述中,错误的是? A. Java语言不支持指针
B. Java具有自动垃圾回收的机制
C. Java只能运行在Window和Linux平台 D. Java允许多个线程同时执行 答案:C
解析:JAVA是一门面向对象的语言,它没有指针的概念,并提供了自动垃圾回收的机制,具有跨平台,多线程等特点。 考察点:第一章 Java开发入门 题目难度:★★☆☆ 一般
9.下列关于JDK、JRE和JVM关系的描述中,正确的是 A. JDK中包含了JRE,JVM中包含了JRE。 B. JRE中包含了JDK,JDK中包含了JVM。 C. JRE中包含了JDK,JVM中包含了JRE。 D. JDK中包含了JRE,JRE中包含了JVM。 答案:D
解析:JVM是Java虚拟机,JRE是Java程序的运行时环境,JDK是Java程序的编译环境,包含范围递增。所以从小到大一次是 JVM—JRE—JDK。 考察点:第一章 Java开发入门 题目难度:★★☆☆ 一般
10.下列关于JDK安装的说法中,错误的是? A. Oracle公司提供了多种操作系统的JDK
B. 开发工具中已经包含了一个JRE,因此可以选择不再安装公共的JRE环境 C. 在安装JDK过程中,源代码指的是Java公共的API类
D. 开发工具是JDK中的核心功能模块,因此无论是否进行Java程序开发都必须安装 答案:D
解析:只有开发Java程序时,才需要安装开发工具,如果只是运行Java程序,安装JRE即可。
考察点:第一章 Java开发入门 题目难度:★★☆☆ 一般
11.下面关于classpath的说法中,错误的是()。
A. classpath和path环境变量的查看与配置的方式完全相同。
B. 为了让Java虚拟机能找到所需的class文件,就需要对classpath环境变量进行设置。 C. 从JDK5.0开始,如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。
D. 在命令行窗口中配置了classpath后,重新打开新命令行窗口依然生效 答案:D
解析:在命令行窗口设置的classpath只对当前窗口有效 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
12.下列关于JDK的说法中,错误的是? A. JDK是Java开发工具包的简称
B. JDK包括Java编译器、Java文档生成工具、Java打包工具等 C. 安装JDK后,还需要单独安装JRE D. JDK是整个Java的核心 答案:C 解析:SUN公司提供了一套Java开发环境,简称JDK(Java Development Kit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可,不需要专门安装JRE工具了。
考察点:第一章 Java开发入门 题目难度:★★☆☆ 一般
13.下列目录中,哪一个是用来存放JDK可执行程序的。( ) A. db目录 B. jre目录 C. lib目录 D. bin目录 答案:D
解析:JDK中可执行程序都放在bin目录下。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
14.在JDK安装目录下,用于存放可执行程序的文件夹是? A. bin B. jre C. lib D. db 答案:A
解析:bin目录用于存放一些可执行程序,如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易 15.如果jdk的安装路径为:c:\\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项 A. c:\\jdk; B. c:\\jdk\\bin; C. c:\\jre\\bin; D. c:\\jre; 答案:B
解析:path环境必须设为javac.exe和java.exe的上一级目录bin 考察点:第一章 Java开发入门 题目难度:★★★★ 难
16.下列Java命令中,哪一个可以编译HelloWorld.java文件? A. java HelloWorld B. java HelloWorld.java C. javac HelloWorld D. javac HelloWorld.java 答案:D
解析:javac命令用于编译.java文件;java命令用户解析.class文件。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
17.下列关于Java语言的描述中,错误的是?() A. Java语言是一门面向对象的编程语言 B. Java是一门与平台无关的编程语言
C. Java具有JavaSE、JavaME和JavaEE三大平台 D. Java是一门介于汇编和高级之间的语言 答案:D
解析:Java是一门高级语言,它的开发与平台无关,采用的是面向对象的编程思想。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
18.下面关于javac命令作用的描述中,正确的是 A. 可以执行java程序
B. 可以将编写好的Java文件编译成.class文件 C. 可以把文件压缩 D. 可以把数据打包 答案:B
解析:javac命令将java文件编译成java字节码文件。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
19.以下关于java命令作用的描述中,正确的是 A. 它专门负责解析由Java编译器生成的.class文件 B. 它可以将编写好的Java文件编译成.class文件 C. 可以把文件压缩 D. 可以把数据打包 答案:A
解析:java命令负责运行编译后的.class文件。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易 20.安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种( )
A. Java文档制作工具 B. Java解释器 C. Java编译器 D. Java启动器 答案:B 解析:
考察点:第一章 Java开发入门 题目难度:★★☆☆ 一般
21.下列关于classpath环境变量的说法中,哪一个是正确的 A. classpath配置一次后可永久使用
B. 没有classpath环境变量就不能运行Java程序
C. classpath环境变量可以让虚拟机找到class文件的目录 D. 查看当前classpath配置的命令是:classpath 答案:C 解析:classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,java虚拟机会自动将其设置为“.”。查看当前classpath的命令是set classpath; 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易
22.下面关于path和classpath的说法中,错误的是() A. path用来指定 java 虚拟机(JVM) 所在的目录
B. classpath用来指定我们自己所写的或要用到的类文件(.jar文件) 所在的目录 C. 在dos命令行中,classpath和path环境变量的查看与配置的方式不相同 D. 只要设置了classpath 这个环境变量系统就不会再在当前目录下查询某个类 答案:C 解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。 考察点:第一章 Java开发入门 题目难度:★☆☆☆ 容易 一、单选题
1.下列选项中,哪一个是单行注释的符号?( ) A. \\\\ B. // C. / D. \\ 答案:B
解析:// 双斜杠表示注释单行代码 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 2.以下标识符中,不合法的是 A. user B. $inner C. class D. login_1 答案:C
解析:class为java中的关键字 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
3.下列选项中,用于引入包的关键字是 A. class B. import C. package
D. static 答案:B
解析:import关键字的作用是引入包 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
4.下列选项中,属于浮点数常量的是?( ) A. 198 B. 2e3f C. true D. null 答案:B
解析:198属于整型常量,true属于布尔常量,null属于null常量 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
5.以下关于变量的定义,正确的是 ( ) A. int a=10; B. b=2; C. int=20;
D. int a;b=a+10; 答案:A
解析:变量定义的基本格式 数据类型 变量名=值;变量一定要先初始化后才可以使用。 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
6.下列选项中,按照箭头方向,不可以进行自动类型转换的是 A. byte → int B. int → long C. double →long D. short → int 答案:C
解析:类型转换过程中,只能范围小的自动转成范围大的。double范围大于long 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
7.下列关于变量作用域的说法中,正确的是
A. 在main()方法中任何位置定义的变量,其作用域为整个main()方法 B. 块中定义的变量,在块外也是可以使用的
C. 变量的作用域为:从定义处开始,到变量所在块结束位置 D. 变量的作用域不受块的限制 答案:C
解析:变量的作用域为:从定义处开始,到变量所在代码块结束位置
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
8.表达式7%(-3)的运算结果为 A. -2 B. -1 C. 2 D. 1 答案:D
解析:在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
9.下列选项中,不属于赋值运算符的是 A. -= B. = C. == D. *= 答案:C
解析:选项C属于比较运算符,其他三项属于赋值运算符 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
10.下列选项中,不属于比较运算符的是 A. = B. == C. < D. <= 答案:A 解析:“=”属于赋值运算符,不属于比较运算符 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
11.下面选项中,哪个是短路与运算符( ) A. & B. && C. | D. || 答案:B
解析:运算符“&”和“&&”都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false。当运算符“&”和“&&”的右边为表达式时,两者在使用上还有一定的区别。在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式不会进行运
算,因此“&&”被称作短路与 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
12.将十进制的6与11进行异或运算的结果为 A. 11 B. 12 C. 13 D. 14 答案:C
解析:位运算符“^”是将参与运算的两个二进制数进行“异或”运算,如果二进制位相同,则值为0,否则为1。然后将得出的二进制数转化成对应的整数值 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 13.请阅读下面的程序 public class Example03 {
public static void main(String[] args) { int x = 8; if (x > 5) {
System.out.println(\\\ } else {
System.out.println(\\\ } } }
程序的运行结果是?()
A. true B. false C. a D. b 答案:C
解析:因为判断条件8>5成立,所以{}中的语句会被执行,输出a 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 14.请阅读下面的程序 public class Test {
public static void main(String[] args) { int temp = 0;
for (int i = 1; i < 5; i++) { for (int j = 0; j < i; j++) { temp++;
} }
System.out.println(temp); } }
下列选项中,哪一个是正确的运行结果( ) A. 5 B. 9 C. 10 D. 15 答案:C
解析:嵌套for循环,依次实现1,2,3,4,5以内数字的叠加运算。外层for循环,每次循环后temp的值依次为:1,3,6,10; 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
15.关于continue语句的使用范围,下列说法正确的是 A. continue语句可以在选择语句中使用 B. continue语句可以在条件语句中使用 C. continue语句可以在循环语句中使用 D. 不输出任何内容 答案:C
解析:continue语句只能在循环语句中使用 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
16.声明一个数组,__[ ] a = new String[]{};空格处应该填写的的内容为() A. int B. double C. String D. string 答案:C
解析:根据类型[] 数组名 = new 类型[]{元素,元素,??};的格式,此处需要填String 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
17.下列选项中关于二维数组的定义,格式错误的是( )
A. int[][] arr = new int[3][4] B. int[][] arr = new int[3][] C. int[][] arr = new int[][4]
D. int[][] arr = {{1,2},{3,4,5},{6}}
答案:C
解析:选项3错误,因为该选项没有给出二维数组的长度 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
18.下列命令中,可以将文档注释提取出来生成帮助文档的是( ) A. javac B. java C. javadoc D. jar 答案:C
解析:可以使用javadoc命令将文档注释提取出来生成帮助文档 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
19.下面选项中,哪一个是合法的标识符 A. hello world B. 1Demo C. _3_ D. class 答案:C
解析:标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的关键字 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
20.下面选项中,哪一个不是Java中的关键字 A. sizeof B. const C. public D. goto 答案:A
解析:sizeof不属于Java语言中的关键字 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
21.下列选项中,哪一个是十进制数6的二进制值( ) A. 111 B. 101 C. 110 D. 011 答案:C
解析:十进制转换成二进制就是一个除以2取余数的过程。把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
22.下列转义字符中,不合法的是( ) A. '\\n' B. '\\x' C. '\\r' D. '\\t' 答案:B
解析:Java中的转义字符有\\n、\\r、\\t、\\b、\\'、\\\\\、\\\\等 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
23.下列字符串常量中,哪一个是错误的( ) A. “abc” B. “12?12” C. “12”12” D. “” 答案:C 解析:字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(” “)引起来,一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,但不能包含特殊字符,例如在字符串中表示引号(”),需要用转义字符(\\)。 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
24.关于变量类型转换的描述中,正确的是 A. 只有数据类型相同的数据才能进行运算
B. byte类型和short类型的数据是不能一起运算的
C. 两个byte类型数据一起运算时会把先自动提升到int类型再运算 D. 两个整型在一起运算时,结果一定是int 答案:C
解析:byte类型和short类型的数据一起运算时会把先自动提升到int类型,再运算 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
25.请阅读下列示例代码,选择程序的输出结果 int a = 1; int b = a++; int c = ++a;
int d = a++ + ++a;
System.out.print(a + \\\A. 5,1,3,9 B. 5,2,3,9 C. 5,1,2,9 D. 5,1,3,8
答案:D
解析:++在前表示先运行自加运算,++在后表示后运行自加运算 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
26.下列选项中,哪个是程序的运行结果 class Test {
public static void main(String[] args) {
int a = 3; int b = 6;
System.out.print(a==b); System.out.print(a=b); } }
A. false false true false B. false false true true C. false true true false D. true false false true 答案:C
解析:3==6(错),3<6(对),3!=6(对),3>=6(错) 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
27.下列关于浮点型数据的定义,哪一个不能通过编译( ) A. double a=12.45; B. float b=12.45; C. double c=100; D. float d=100; 答案:B
解析:float类型的数据在定义浮点型数据时,必须在后面加上f或F.double类型的数据在定义时可以在后面加上d或D,也可以不加。 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
28.题号:请先阅读下面的代码。 int x = 1; int y = 2;
if (x % 2 == 0) { y++; } else {
y--; }
System.out.println(\\\
上面一段程序运行结束时,变量y的值为下列哪一项 A. 1 B. 2 C. 3 答案:A
解析:1 % 2不为0,所以进入到else语句,2--,所以答案为A 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 29.请阅读下面的程序
public class SwitchDemo3 {
public static void main(String[] args) { char c = ?B?; switch ? { case ?A?:
System.out.println(“优”); break; case ?B?:
System.out.println(“良”); break; case ?C?:
System.out.println(“差”); break; } } }
下列选项中,哪一个才是程序的运行结果 A. 优 B. 良 C. 差
D. 编译失败 答案:B
解析:char c=’B’与case ‘B’相匹配,因此输出结果为“良” 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
30.下列关于while语句的描述中,正确的是 A. while语句循环体中可以没有语句 B. while语句的循环条件可以是整型变量 C. while语句的循环体必须使用大括号 D. while语句的循环体至少被执行一次
答案:A
解析:while语句的循环条件必须是boolean类型的 while语句的循环体中只有一条语句时可以不用大括号 while语句的循环条件不满足时,循环体中的内容不执行 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 31.请阅读下面的程序 public class Test {
public static void main(String[] args) { int sum = 0;
for (int i = 1; i <= 100; i++) { if (i % 2 == 1) { continue; }
sum += i; }
System.out.println(\\\ } }
sum的值为()
A. 1050 B. 2550 C. 2500
D. 以上答案都不对 答案:B
解析:程序计算的是1到100间的偶数和,答案为2550 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 32.请阅读下面的程序 public class Test {
public static void main(String[] args) { int temp = 0;
for (int i = 1; i < 5; i++) { for (int j = 0; j < i; j++) { temp++; } }
System.out.println(temp); } }
下列选项中,哪个是程序的运行结果()
A. 5 B. 9 C. 10 D. 15 答案:C
解析:循环结束后temp的值为10 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 33.请阅读下面的程序 Public class Test {
public static void main(String[] args) { int a = 0; int b = 0;
for (int i = 1; i <= 5; i++) { a = i % 2;
while (a-- >= 0) { b++; } }
System.out.println(\\\} }
下列选项中,哪一个是正确的运行结果( )
A. a=8,b=-2 B. a=-2,b=8 C. a=3,b=0 D. a=0,b=3 答案:B
解析:本题中有两个循环语句,分别是外层循环的for语句和内层循环的while语句,首先程序会执行for循环中的语句,并执行循环体中的表达式a=i%2,计算出a的值,然后在进入while循环计算b的值,循环往复直到外层循环条件i>5为止 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 34.阅读下面的程序 public class Test {
public static void main(String[] args) { for(int x = 0 ; x <=3 ; x++){ continue;
System.out.print(x%2); }
} }
运行结果正确的是 A. 跳出循环,无输出 B. 0121 C. 01 D. 0123 答案:A
解析:continue语句的作用是终止本次循环,因此contine后的代码永远不会被执行,都是无效代码
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 35.阅读下面的代码片段
public static int add(int a,int b) { return a + b; }
下列选项中,可以在main()方法中调用add()方法的是 A. int num = add(1.0,2.0); B. int num = add(1,2);
C. int num = add(true,flase); D. int num = add(\ 答案:B
解析:调用add方法时,传入参数的数据类型必须和方法的形参类型相同 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
36.关于方法的递归,以下说法正确的是
A. 方法递归就是指在一个方法的内部调用自身的过程 B. 方法递归其实就是调用其它方法 C. 方法递归是指方法的返回值不同 D. 以上说法都不对 答案:A
解析:方法的递归是指在一个方法的内部调用自身的过程,而且必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 37.public class Example01 {
public static void main(String[] args) {
int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组
int minIndex = 0; //初始时设第1个角标处的值为最小值 for (int i = 1; i < arr.length; i++) {
if (______) {
minIndex = i; } }
System.out.println(\\\数组中的最小值为:\\\ } }
请问在上述程序的横线处填写下列哪段代码,可以求到数组的最小值( )
A. i < minIndex
B. arr[i] < arr[minIndex] C. arr[i] > arr[minIndex] D. i > minIndex 答案:B
解析:求最小值比较的不是角标大小,而是数组中元素的大小 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 38.已知类的继承关系如下: class A
class B extends A class C extends A
则以下语句中能够通过编译的是?( )
A. A a=new B(); B. C c=new B(); C. C c=new A(); D. B b=new C(); 答案:A
解析:假设A为犬类,B为狗,C为狼,那么狗当然属于犬类对象 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
39.若二维数组int arr[][]={{1,2,3},{4,5,6},{7,8}};,则arr[1][2]的值是( ) A. 2 B. 5 C. 6 D. 0 答案:C
解析:数组角标从0开始计数,arr[1][2]表示的是二维数组中第2个一维数组中的第3个元素的值,因此答案是C
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
40.下列选项中,按照箭头方向,需要进行强制类型转换的是 A. double ← float B. float ← long C. int ← char D. char ←byte 答案:D
解析:byte是整数型变量,取值范围小于char,但是char是字符型变量,所以需要强制转换
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
41.以下哪个选项可以正确创建一个长度为3的二维数组( ) A. new int [2][3]; B. new int[3][]; C. new int[][3];
D. 以上答案都不对 答案:B 解析:
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
42.阅读下列代码:System.out.println(“Hello” + 9 + 1); 下列选项中,哪个是正确的输出结果( ) A. Hello91 B. Hello10
C. Compilation fails.
D. An exception is thrown at runtime 答案:A
解析:字符串常量与其他数据类型常量使用“+”进行操作时,返回结果还是字符串类型,因此输出Hello91。
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
43.下列关于方法的描述中,正确的是 A. 方法是对功能代码块的封装
B. 方法没有返回值时,返回值类型可以不写 C. 没有返回值的方法,不能有return语句 D. 方法是不可以没有参数的 答案:A
解析:如果方法没有返回值,则返回值类型要定义为void。 方法中没有返回值也可以使用return语句,格式为return。 方法中可以定义参数,也可以不定义参数。
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
44.下列选项中,属于布尔常量的是?( ) A. 198 B. 2e3f C. true D. null 答案:C
解析:198属于整型常量,2e3f属于浮点数常量,null属于null常量 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
45.下列选项中,按照箭头方向,需要进行强制类型转换的是 A. int ← short B. int ← byte C. int ← char D. int ← float 答案:D
解析:类型转换过程中,范围大的需要强制转换成范围小的 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
46.int a[ ]={45,4,67,23,65,87,34,52,56};数组中a[5]的值为( ) A. 23 B. 45 C. 65 D. 87 答案:D
解析:数组的索引值从0开始,a[5]表示第6个元素即87 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
47.下列选项中,哪个是八进制043的十六进制表示形式( ) A. 0x43 B. 0x23 C. 23 D. 0x32 答案:B
解析:十六进制数字以0x或者0X开头,八进制以3个二进制位为一个单元,而十六进制以4个二进制位为一个单元计算每一位数。运算过程:八进制043 ->二进制0010 0011 -> 十六进制 0x23 )
考察点:第二章 Java编程基础
题目难度:★☆☆☆ 容易 48.请阅读下面的代码 boolean a = false; boolean b = true;
boolean c= ( a&&b)&&(!b); int result = (c = = false)?1:2;
当语句执行完,变量c与result的值为( )
A. false和1 B. true和2 C. true和1 D. false和2 答案:A 解析:三元运算符条件表达式为真就返回第一个表达式的值,条件表达式为假就返回第二个表达式的值。&&运算符的特点是,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false,因此c=false,三元运算符的表达式c==false就为true,因此返回结果为1
考察点:第二章 Java编程基础 题目难度:★★★★ 难
49.下面选项中,可以从数组int [] arr = {10,1,2,3,4,5,6,7,8,9,10}中求出元素10所对应角标值的是( ) A. for(int x=0;x B. for(int x=1;x C. for(int x=0;x D. for(int x=1;x 答案:A
解析:数组的最大角标值比数组的长度小1,并且数组的角标值从0开始。所以前提条件是x=0且判断条件是x
50.下列选项中,按照箭头方向,可以进行自动类型转换的是 A. char → int B. short → char C. float → long D. char → short 答案:A
解析:类型转换过程中,只能范围小的会自动转成范围大的 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
51.若int[][] arr= {{1,2,3}},则arr[0][1]的结果为( ) A. 0
B. 1 C. 2 D. 3 答案:C
解析:题目中定义的二维数组只有一个一维数组,arr[0][1]表示要获取的是一维数组的第二个元素,因此正确答案为第3项 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 52.请阅读下面的程序 public class Test {
public static void main(String[] args) { for(int x = 0 ; x <=3 ; x++){ continue;
System.out.print(x%2+” “); } } }
下列选项中,哪一个是程序的运行结果 A. 0 1 2 3 B. 0 1 2 1 C. 0 1 2
D. 编译失败 答案:D
解析:continue语句的作用是终止本次循环,因此contine后的代码永远不会被执行,编译失败
考察点:第二章 Java编程基础 题目难度:★★★★ 难
53.若x=6 ,y=5 则表达式int max=x>y?x:y 的结果为() A. 6 B. 5 C. true D. false 答案:A
解析:三元表达式语法结构: 判断条件 ? 表达式1 : 表达式2
当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
54.下列选项中,不属于位运算符的是 A. &
B. ! C. ^ D. | 答案:B 解析:“!”是逻辑运算符,表示逻辑非 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
55.表达式3510/1000的运算结果为 A. 3 B. 3.51 C. 3.510 D. 4 答案:A
解析:整数之间相除,会忽略小数部分 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
56.下面关于字符类型变量的定义中,错误的是( ) A. char a='97'; B. char b=65536; C. char c='\a'; D. char d=\\\ 答案:D
解析:char类型数据在定义时需要使用单引号引起的单个字符,也可以赋值为0-65535之间的数字。也可以使用Unicode 代码来描述 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
57.阅读下段代码片段,选择正确的运行结果 public static void main(String[] args) { {
int a = 1;
System.out.print(a); } {
int a = 2;
System.out.print(a); }
int a = 3;
System.out.print(a); }
A. 123 B. 111
C. 121
D. 编译不通过 答案:A
解析:变量的作用域为:从定义处开始,到变量所在块结束位置 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 58.请阅读下面的程序 public class Demo {
public static void sum(int a, int b) {
System.out.println(\\\ }
public static void sum(int a, float b) {
System.out.println(\\\ }
public static void sum(int a, double b) {
System.out.println(\\\ }
public static void main(String[] args) { int a = 10; long b = 20; sum(a, b); } }
下列选项中,哪一个是程序的运行结果 A. int:30 B. float:30.0 C. double:30.0 D. int:30.0 答案:B
解析:在主方法中定义一个int类型,一个long,按照正常做法,是找对应的类型,可是没有,这个时候要想到基本类型的隐式转换。Long会自动转到float。所以选择B 考察点:第二章 Java编程基础 题目难度:★★★★ 难 59.请阅读下面的程序 public class Test {
public static void main(String[] args) { int a[ ] = { 2, 0, 4, 1, 8, 3, 5 }; int temp;
for (int i = 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if (a[j] < a[j - 1]) { temp = a[j];
a[j] = a[j - 1]; a[j - 1] = temp; } } }
for (Integer i : a) {
System.out.print(i); } } }
下列选项中,哪个是程序的运行结果()
A. 8543210 B. 0123458 C. 2041835
D. 以上答案都不对 答案:B
解析:由于使用的输出语句会换行 ,所以程序的运行结果为B选项 考察点:第二章 Java编程基础 题目难度:★★★★ 难 60.public class Test {
public static void main(String[] args) { int sum = 0;
for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { continue; }
sum += i; }
System.out.println(sum); }
} 下列选项中,哪一个是程序的运行结果( )
A. 1050 B. 2050 C. 2500
D. 以上答案都不对 答案:C
解析:程序表示求出100以内,所有奇数的和 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
61.以下语法格式中,哪一个是三元运算符的语法格式( ) A. 表达式1:表达式2?表达式3 B. 表达式1?表达式2:表达式3 C. 表达式1:表达式2:表达式3 D. 以上答案都不对 答案:B
解析:三元运算符语法格式: 表达式1?表达式2:表达式3;
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 62.程序的运行结果是 public class Example02 {
public static void main(String[] args) { int x = 0; // 定义变量x,初始值为0 int y = 0; // 定义变量y,初始值为0 boolean b = x==0 || y++<0;
System.out.println(\\\ } }
A. b = false, y = 0 B. b = false, y = 1 C. b = true, y = 0 D. b = true, y = 1 答案:C
解析:答案为C。我们看表达式的执行流程:首先判断x==0是否成立,判断结果是true成立,那么“||”右边的表达式将不执行,将true的值赋给b,因为右边的表达式不参与运算,所以y的值还是0
考察点:第二章 Java编程基础 题目难度:★★★★ 难 63.请阅读下面的程序片段 int x = 3; if (x > 5) {
System.out.print(\\\ } else {
System.out.print(\\\ }
选择程序的运行结果( ) A. a B. b C. ab
D. 编译错误 答案:B 解析:if语句中的判断条件成立时,会执行if语句中的内容,否则会执行else语句中的内容,很明显3不大于5所以执行else语句的内容,输出结果为b 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
64.下面关于方法定义的描述中,正确的是
A. 当方法没有返回值时,返回值类型要定义为void B. 当方法没有返回值时,返回值类型可以不写 C. 当方法没有返回值时,不能有return语句 D. 方法是不可以没有参数的 答案:A
解析:如果方法没有返回值,则返回值类型要定义为void; 方法中没有返回值也可以使用return语句,格式为return; 方法中可以定义参数,也可以不定义参数。 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
65.下列关于int类型变量的定义,错误的是( ) A. int a=10; B. int b,c=20; C. int d=e=30; D. int f=40; 答案:C
解析:变量定义的基本格式 数据类型 变量名=值;变量一定要先初始化后才可以使用。 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
66.下列选项中关于二维数组的定义,错误的是( ) A. int[][] arr = new int[][2] B. int[][] arr = new int[1][2] C. int[][] arr = new int[2][]
D. int[][] arr = {{1},{2,3},{4,5,6}} 答案:A
解析:由二维数组的定义方式可知,int[][] arr = new int[][2] 中的int[]长度不能为空 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
67.请阅读下列的程序,程序的运行结果是 public class Example01 {
public static void main(String[] args) { int num = 127; byte b = num;
System.out.println(b); } }
A. 编译报错
B. 编译通过,执行输出127 C. 编译通过,执行报错 D. 以上选项均不正确 答案:A
解析:将一个int型num变量的值赋给byte类型的变量b时,int类型的取值范围大于byte类型的取值范围,这样的赋值会导致数值溢出,需要进行强制类型转换,否则编译不能通过 考察点:第二章 Java编程基础 题目难度:★★★★ 难
68.下列关于case关键字的说法中,错误的是 A. case关键字后面必须是常量
B. case关键字后面的break必须存在 C. case关键字后面的break可以没有 D. case关键字后面的值必须不一样 答案:B
解析:case关键字后面的break可以没有 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
69.关于方法的递归,以下说法错误的是 A. 方法递归必须有结束条件
B. 方法递归次数太多会导致内存溢出
C. 方法递归就是指在一个方法的内部调用自身的过程 D. 方法递归可以无数次,只要有结束条件就可以 答案:D
解析:方法的递归是指在一个方法的内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。如果递归此次数太多就会导致内存溢出关于方法的递归,以下说法错误的是 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 70.请阅读下面的代码片段 public static int add(int a,int b) { return a + b; }
下列选项中,可以在main()方法中成功调用add()方法的是 A. int num = add(1.0,2.0); B. int num = add('a','b'); C. int num = add(true,flase); D. int num = add(\
答案:B
解析:调用add方法传入’a’和’b’会自动类型提升为int类型,查找对应的ascii码表值 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 71.请阅读下面的程序 class WhileDemo4 {
public static void main(String[] args) { int n = 5;
while (n > 10) {
System.out.print(n); n++; } } }
下列选项中,哪一个是程序运行的结果 A. 无输出 B. 输出56789 C. 死循环 D. 编译错误 答案:A
解析:由于变量n=5,因此while条件为false,循环不执行,没有任何结果输出 考察点:第二章 Java编程基础 题目难度:★★★★ 难
72.下列关于数组最值的描述中,错误的是( ) A. 要想求数组的最值必须先定义一个数组
B. 在求数组最值时,初始时一定要将数组中的第一个元素的值赋给变量 C. 求数组最值过程中,一定要对数组进行遍历
D. 在求数组最大值时,使用变量记住每次比较后较大的那个值 答案:B 解析:
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
73.下列选项中,哪一个是多行注释符号?( ) A. //* *// B. /* /* C. / / D. /* */ 答案:D
解析:/* */ 表示多行注释,以“/*”起始,以“*/”结束。 考察点:第二章 Java编程基础
题目难度:★☆☆☆ 容易
74.下列选项中,哪一个不能通过编译( ) A. byte a=1; B. short b=100; C. int c='a';
D. long d=8888888888; 答案:D
解析:java中的整型数据默认是int类型,long d=8888888888;它的值超过了int类型的范围,这时如果要描述成一个long数据,必须在值后面加上L后l。 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
75.下列选项中,不属于Java中关键字的是 A. const B. false C. Final D. null 答案:C
解析:Java中的关键字都是小写的 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 76.请阅读下面的程序 public class Test {
public static void main(String[] args) { int x; int y;
for (x = 1, y = 1; x <= 100; x++) { if (y >= 20) { break; }
if (y % 3 == 1) { y += 3; continue; }
y -= 5; }
System.out.println(“x=” + x + “,y=” + y); } }
下列选项中,哪一个是程序的运行结果 A. x=8,y=22 B. x=22,y=8 C. x=3,y=0
D. x=0,y=3 答案:A
解析:按照循环语句嵌套if语句的执行流程分析即可得到正确结果,注意break和continue语句的特点
考察点:第二章 Java编程基础 题目难度:★★★★ 难 77.请阅读下面的程序 public class Test {
public static void main(String[] args) { int i = 0; int count = 0; do {
if (!(i + \\\ count++; }
i++; } while (i < 500);
System.out.println(\\\一共有:\\\ }
} 下列选项中,哪一个是程序运行后count的值
A. 322 B. 323 C. 324 D. 325 答案:C
解析:判断500以内的数字,不包含4的个数,499-99-40-36=324。
99表示以4为百位数数字的个数,40表示以4为十位数数字的个数,36=4*9表示以4位个位数数字的个数
考察点:第二章 Java编程基础 题目难度:★★★★ 难
78.下面关于布尔类型变量的定义中,正确的是( ) A. boolean a=TRUE; B. boolean b=FALSE; C. boolean c='true'; D. boolean d=false; 答案:D
解析:布尔类型的变量只有两个值,即true和false。 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
79.下面的运算符中,用于执行除法运算是哪个? A. / B. \\ C. % D. * 答案:A 解析:
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
80.下列数据类型中,哪种数据类型转为int类型需要进行强制转换 A. byte B. short C. char D. float 答案:D
解析:在两种类型兼容的前提下,取值范围大的类型转换成取值范围小的类型时,需要进行强制类型转换
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
81.假设x为int类型,那么下列选项中可以作为if语句的判断条件的是( ) A. x = 4 B. x & 3 C. x++ D. x<10 答案:D
解析:if判断条件只能是布尔值,上述选项中,只有x<10这个表达式的值是布尔值 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
82.下面哪种写法可以实现访问数组arr的第1个元素? A. arr[0] B. arr(0) C. arr[1] D. arr(1) 答案:A 解析:
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 83.请阅读下面的程序 public class Test {
public static void main(String[] args) {
for(int x =0;x<5;x++) {
if(x%2==0) break;
System.out.print(x+” “); } } }
下列选项中,哪一个是程序的运行结果 A. 1 2 3 4 5 B. 0 2 4 C. 1 3
D. 不输出任何内容 答案:D
解析:由于上述程序在for循环中使用了break语句,当执行到break语句时,就会跳出本次循环, break后的语句一直没有机会执行,因此,最后什么都不会输出 考察点:第二章 Java编程基础 题目难度:★★★★ 难
84.下列关于数据类型的说法中,错误的是
A. Java中的数据类型分为基本数据类型和引用数据类型 B. int类型数据占4个字节
C. 浮点数类型变量不能赋予一个整数数值 D. 布尔类型的变量只有true和false这两个值 答案:C
解析:浮点数类型变量可以赋予一个整数数值 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
85.下列常量中,属于整型常量的是?( ) A. 198 B. 2e3f C. true D. null 答案:A
解析:2e3f属于浮点数常量,true属于布尔常量,null属于null常量 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
86.下列选项中,属于字符常量的是( ) A. “a” B. ?ab' C. ?1' D. 1
答案:C
解析:字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号(' ')引起来,它可以是英文字母、数字、标点符号、以及由转义序列来表示的特殊字符,如’a’。 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
87.下列有关数组中元素位置交换的描述,错误的是( ) A. 位置交换的过程中需要借助一个中间变量 B. 位置交换的过程至少需要三步
C. 位置交换后数组的角标顺序发生了改变 D. 位置交换后数组的角标顺序不会发生改变 答案:C
解析:数组角标顺序不会变化,只是角标上的值发生了变化 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
88.当String s=null;时,下列选项中会抛出空指针异常的是( ) A. if( (s!=null) & (s.length()>0) ) B. if( (s!=null) && (s.length()>0) ) C. if( (s!=null) &&(s.length()==0) ) D. if( (s==null) || (s.length()==0) ) 答案:A
解析:null赋值给引用型变量,不能访问该类型中的成员,由于选项1中使用的运算符号为&当(s!=null)无论为true或者false,右边的表达式都会执行,因此就会出现空指针异常。 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
89.下列选项中,关于运算符“^”的描述正确是 A. 二进制位有1,则结果为1 B. 二进制位有0,则结果为0
C. 二进制位有相同,则结果为1,不同为0 D. 二进制位有相同,则结果为0,不同为1 答案:D
解析:位运算符“^”是将参与运算的两个二进制数进行“异或”运算,如果二进制位相同,则值为0,否则为1
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 90.请阅读下面的程序 public class Test {
public static void main(String[] args) { int a[] = {2,0,4,1,8,3,5}; int temp;
for (int i = 0; i < a.length - 1; i++) {
for (int j = a.length - 1; j > i; j--) { if (a[j] < a[j - 1]) { temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } } }
for (Integer i : a) {
System.out.println(i); } }
} 下列选项中,哪一个是程序的运行结果( )
A. 8,5,4,3,2,1,0 B. 0,1,2,3,4,5,8 C. 2,0,4,1,8,3,5 D. 5,3,8,1,4,0,2 答案:B
解析:数组的冒泡排序法
考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
91.下面浮点型数据的定义中,错误的是( ) A. float a=1.23; B. double b=1.23; C. double c=1.5E4; D. float d='a'; 答案:A
解析:float类型的数据在定义浮点型数据时,必须在后面加上f或F;double类型的数据在定义时可以在后面加上d或D,也可以不加。 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般
92.下面代码中,哪一项是正确定义了一个3*4的二维数组 A. int[][] arr = new int[3][4] B. int[][] arr = new int[3][] C. int[][] arr = new int[][4]
D. int[][] arr = {{1,2},{3,4,5},{6}} 答案:A
解析:只有1选项正确给出了二维数组的长度,以及每一个一维数组的元素个数 考察点:第二章 Java编程基础
题目难度:★☆☆☆ 容易
93.下列选项中,不属于基本数据类型的是 A. String B. short C. boolean D. char 答案:A 解析:Java中的8种基本数据类型分别是byte、short、int、long、float、double、char和boolean,其中不包含String类型,String属于引用类型 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
94.下面关于字符变量的定义中,错误的是( ) A. char a='a'; B. char b=97; C. char c=0x61; D. char d=A; 答案:D
解析:char类型数据在定义时需要使用单引号引起的单个字符,也可以赋值为0-65535之间的数字
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易 95.请阅读下面的程序 public class Test {
public static void main(String[] args) { int m = 37; int n = 13;
while (m != n) { while (m > n) { m -= n; }
while (m < n) { n -= m; } }
System.out.println(\\\} }
下列选项中,哪一个是正确的运行结果( )
A. m=37 B. m=13 C. m=1
D. m=2 答案:C
解析:本题中有三个循环语句,首先在外层循环中判断m!=n是否成立,如果成立进入内层循环,然后在内层循环中分别比较m>n还m
public static void main(String[] args) { int n = 5;
while (n < 10) {
System.out.print(n); n++; } } }
下列选项中,哪一个是程序运行的结果 A. 无输出 B. 输出56789 C. 死循环 D. 编译错误 答案:B
解析:while条件为true,循环体执行,每执行一次输出n的值,并且n递增 考察点:第二章 Java编程基础 题目难度:★★★★ 难
97.下列关于continue语句的说法中,正确的是 A. continue语句可以在选择语句中使用 B. continue语句可以在条件语句中使用 C. continue语句可以在循环语句中使用 D. continue语句可以在任何语句中使用 答案:C
解析:continue语句只能在循环语句中使用 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
98.下列关于多行注释的说法中,正确的是( ) A. 多行注释中不能嵌套单行注释 B. 多行注释中可以嵌套多行注释
C. 多行注释中不可以有分号,逗号,括号等符号 D. 多行注释中可以没有换行
答案:D
解析:多行注释中可以没有换行 考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
99.下列关于注释作用的描述中,错误的是?() A. 对程序进行说明 B. 参与编译 C. 帮助调试程序
D. 帮助整理编程思路 答案:B
解析:注释不参与编译
考察点:第二章 Java编程基础 题目难度:★☆☆☆ 容易
1.在以下什么情况下,构造方法会被调用?
A. 类定义时 B. 创建对象时 C. 调用对象方法时 D. 使用对象的变量时 答案:B 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
2.请阅读下面的程序,选择正确的运行结果。 class Demo{
private static int x ;
public static void main(String[] args){ System.out.println(x++); } } A. 0 B. 1
C. 无结果 D. 编译失败 答案:A 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易 3.请阅读下面的代码 class A{
int x;
static int y;
void fac(String s){
System.out.println(“字符串:”+s); } }
下列选项中描述正确的是( ) A. x , y和s 都是成员变量
B. x 是实例变量,y是类变量,s是局部变量 C. x和y是实例变量,s是参数 D. x ,y和s都是实例变量 答案:B
解析:在方法中声明的s是局部变量,使用static关键字修饰的y是类变量,在类中定义的x是实例变量。
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般 4.请阅读下面的程序代码 Class Person{ void say(){
System.out.println(“hello”); } }
class Example{
public static void main(String[] args){ Person p2 = new Person(); Person p1 = new Person(); p2.say(); p1.say(); p2=null; p2.say(); } }
下列关于程序运行结果的描述中,正确的是() A. 输出1个hello
B. 输出2个hello后会抛出异常 C. 输出3个hello后会抛出异常 D. 不会输出hello,直接抛出异常 答案:B
解析:程序中创建了2个Person对象p1、p2,并分别调用了say()方法输出两个hello,然后将p2对象置为null,使p2对象失去了引用,因此再次使用p2对象调用say()方法时,会抛出异常。
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
5.下列关于构造方法定义的描述中,错误的是( )。
A. 方法名与类名相同
B. 在方法名的前面没有返回值类型的声明
C. 当定义了有参构造方法,系统默认的无参构造方法依然存在 D. 在方法中不能使用return语句返回一个值 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般 6.先来看一段代码 ?class Demo{ Demo(){ } }
下列构造方法中,可以存在于Demo类中的是()
A. public Demo(){} B. private Demo(){}
C. Demo(int age,String name)(){} D. Demo(){} 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
7.下列关于this关键字的说法中,错误的是( ) A、 this可以解决成员变量与局部变量重名问题
B、 this出现在成员方法中,代表的是调用这个方法的对象 C、 this可以出现在任何方法中
D、 this相当于一个引用,可以通过它调用成员方法与属性
A. this可以解决成员变量与局部变量重名问题
B. this出现在成员方法中,代表的是调用这个方法的对象 C. this可以出现在任何方法中
D. this相当于一个引用,可以通过它调用成员方法与属性 答案:C 解析:
考察点:第三章 面向对象(上)
题目难度:★★☆☆ 一般
8.下列关于静态方法的描述中,错误的是( )。
A. 静态方法指的是被static关键字修饰的方法
B. 静态方法不占用对象的内存空间,而非静态方法占有对象的内容空间 C. 静态方法内可以使用this关键字
D. 静态方法内部只能访问被static修饰的成员 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般 9.阅读下列的程序 public class Test3 {
public static void main(String[] args) { _________________________ _________________________ } }
class Outer {
static class Inner {
public void method () {
System.out.println(\\\ } } }
下列选项中,可以正确输出method()方法的是( A、Outer o = new Outer(); o.method();
B、Inner I = new Inner(); i.method();
C、Outer.Inner oi = new Outer.Inner(); oi.method();
D、以上答案都不对
A. Outer o = new Outer(); o.method(); B. Inner I = new Inner(); i.method();
C. Outer.Inner oi = new Outer.Inner(); oi.method(); D. 以上答案都不对 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
)10.阅读下列的代码 public class Test {
public static void main(String[] args) { _________________________ _________________________ } }
class Outer {
static class Inner {
public void method () {
System.out.println(\\\ } } }
下列选项中,填写在空白处可以使程序正常运行的是()
A. Outer o = new Outer(); o.method(); B. Inner I = new Inner(); i.method();
C. Outer.Inner oi = new Outer.Inner(); oi.method(); D. 以上答案都不对 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
11.下列关于类的说法中,错误的是( ) A. Java中创建类的关键字是class
B. 类中可以有属性与方法,属性用于描述对象的特征,方法用于描述对象的行为 C. Java中对象的创建,首先需要定义出一个类 D. 一个类只能创建一个对象 答案:D 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
12.Person p = new Person(“张三”,23);这条语句会调用下列哪个构造方法给属性进行初始化( )
A. public Person(){}
B. public Person(String name,int age) { this.name = name; this.age = age; } C. public Person(int age,String name) { this.age = age; this.name = name; } D. public Person(String name) { this.name = name; }
答案:B 解析:创建对象时会找到匹配的构造方法给属性进行初始化,由于Person p = new Person(“张三”,23);这条语句中有两个参数,而且第1个参数是String类型的,第2个参数是int类型的,因此会调用B选项中的构造方法。 考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
13.下列修饰符中,成员内部类被( )修饰后,可以被外界访问。
A. default B. protected C. public D. private 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
14.被声明为private,protected 及public 的类成员,在类的外部则()
A. 只能访问到声明为public 的成员
B. 只可能访问到声明为protected 和public 的成员 C. 都可以访问 D. 都不能访问 答案:B
解析:声明为protected的类既能被同一包下的其它类访问,也能被不同包下该类的子类访问,声明为public的类可以被任意类访问 考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易 15.请阅读下面的代码
String s1=new String(“abc”); String s2=s1.intern(); String s3=”abc”;
System.out.println(s1==s2); System.out.println(s2==s3); System.out.println(s1==s3);
下列选项中,程序的输出结果为()
A. false true false B. false false false C. false true true D. false false true
答案:A 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
16.下面选项中,可以提取文档注释中作者信息的是( )
A. javadoc –d . Demo1.java
B. javadoc –d . –public Demo1.java C. javadoc –d . –version Demo1.java D. javadoc –d . –author Demo1.java 答案:D 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
17.下列关于使用this调用构造方法的说法中,错误的是?( )
A. 使用this调用构造方法的格式为this([参数1,参数2?]) B. 只能在构造方法中使用this调用其它的构造方法 C. 使用this调用其它构造方法的语句必须放在第一行 D. 在一个类的两个构造方法中可以使用this互相调用 答案:D 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
18.当成员变量和局部变量重名时,若想在方法内使用成员变量,那么需要使用下列选项中的哪一个关键字( )。 A. super B. import C. this D. return 答案:C
解析:当成员变量和局部变量重名时,若想在方法内使用成员变量,只能使用this获得成员变量。
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
19.类的定义必须包含在以下哪种符号之间?
A. 方括号[] B. 花括号{} C. 双引号\D. 圆括号()
答案:B 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
20.下面选项中,不是面向对象的特征的是( )。 A. 封装 B. 继承 C. 多态 D. 重构 答案:D
解析:面向对象的特点主要可以概括为封装性、继承性和多态性。 考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
21.下列关于类与对象的说法中,错误的是( )。
A. 类是对某一类事物的抽象描述,而对象则是该类事物的个体。 B. 对象是类的实例化
C. 类用于描述多个对象的共同特征,它是对象的模板 D. 类与对象之间没有关系 答案:D
解析:对象是根据类创建出来的,类是对象的模板,对象是类的实例。 考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
22.下列选项中,不属于面向对象特征的是( )。 A. 继承性 B. 封装性 C. 跨平台性 D. 多态性 答案:C
解析:面向对象有三种特性,分别是封装性、继承性和多态性。跨平台性是Java语言的特点,而不是面向对象的特征。 考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易 23.阅读下列的程序 class Person{ static{
System.out.println(name); }
private static String name = \\\}
class Demo{
public static void main(String[] args){ Person p = null; } }
下列关于程序运行结果的描述中,正确的是()
A. 无结果输出 B. 输出 null C. 输出 hello D. 编译失败 答案:D 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
24.下面关于调用构造方法的描述中,正确的是( )
A. 构造方法在类定义的时候被调用 B. 构造方法在创建对象的时候被调用 C. 构造方法在调用对象方法时被调用 D. 构造方法在使用对象的变量时被调用 答案:B
解析:调用构造方法创建对象
构造方法的作用是为对象中的属性赋值,在创建对象时,构造方法就会被调用。
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
25.为了能让外界访问私有属性,需要提供一些使用( )关键字修饰的公有方法。
A. void B. default C. private D. public 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
26.float类型成员变量的默认初始化值是( )。 A. 0 B. false
C. null D. 0.0F 答案:D
解析:实例化对象时 ,Java虚拟机会自动为成员变量进行初始化,针对不同类型的成员变量,Java虚拟机会赋予不同的初始值。float类型的默认初始值是0.0F。
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
27.下列关于单例设计模式的描述中,正确的是( )
A. 将一个类设计为单例设计模式,在其他类中可以创建这个类对象
B. 将一个类设计为单例设计模式,必须私有其空参数构造方法,并且还不能定义有参数的构造方法
C. 将一个类设计为单例设计模式,需要定义一个静态的成员方法将本类创建的对象返回给调用者
D. 以上答案都不对 答案:B 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
28.当一个类中成员变量和局部变量重名时,可以使用哪个关键字进行区分( )
A. super B. this C. public D. true 答案:B 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
29.下列关键字中,用于创建类的实例对象的是( )。
A. class B. new C. private D. void 答案:B
解析:Java中使用new关键字创建对象,class用于定义一个类,private是权限修饰符,表
示表示只能在本类中访问,void表示无返回值 考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
30.下列关于类和对象的描述,错误的是( ) A. 对象是类的实例
B. 一个类只能有一个实例化对象 C. 类是对象的抽象
D. 类用于描述一组对象的共同特征和行为 答案:B
解析:类是对象的模板,对象是类的实例,一个类可以创建多个对象。 考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
31.以下代码执行后的结果是:( ) public class Person {
String name = “小芳”;
public Person(String name) { name = “小兰”; }
public void show() {
this.name = “小翠”; }
public static void main(String[] args) { Person p = new Person(“小凤”); System.out.print(p.name); p.show();
System.out.print(p.name); } }
A. 小兰小翠 B. 小凤小翠 C. 小芳小翠
D. 程序编译失败 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
32.下列关于静态方法的描述中,错误的是( )。
A. 静态方法属于类的共享成员
B. 静态方法是通过\类名.方法名\的方式来调用 C. 静态方法只能被类调用,不能被对象调用 D. 静态方法中可以访问静态变量 答案:C 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
33.下列关于构造方法的描述,错误的是( )。 A、一个类中只能定义一个构造方法 B、一个类中可以定义多个构造方法
C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法 D、构造方法的作用是用来给属性进行初始化的
A. 一个类中只能定义一个空参数的构造方法 B. 一个类中可以定义多个构造方法
C. 如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法 D. 构造方法的作用是给属性初始化 答案:A 解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
34.下列关于构造方法的描述中,错误的是( )
A. 构造方法的方法名必须和类名一致 B. 构造方法不能写返回值类型 C. 构造方法可以重载
D. 构造方法的访问权限必须和类的访问权限一致 答案:D 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
35.下面哪个关键字用于将类中的属性私有化( )
A. default B. public C. private D. protected 答案:C
解析:
考察点:第三章 面向对象(上) 题目难度:★☆☆☆ 容易
36.请阅读下面的程序,程序的运行结果是()。 class Person { String name; int age;
public Person() {}
public Person(String n, int a) { name = n; age = a; }
public void show() {
System.out.print(name + \\\ \\\ } }
public class Test {
public static void main(String[] args) { Person p1 = new Person(); p1.show();
Person p2 = new Person(\\\周星驰\\\ p2.show(); } }
A. null---0 周星驰---27 B. null---27 周星驰---27 C. 周星驰---0 null---27 D. 周星驰---27 null ---27 答案:A 解析:
考察点:第三章 面向对象(上) 题目难度:★★☆☆ 一般
37.下列修饰符中,哪个修饰内部类后,会使内部类会随着外部类的加载而加载。
A. static B. protected C. public D. private 答案:A
解析:内部类被static修饰后,会随着外部类的加载而加载。所以,可以把一个静态内部类
正在阅读:
java单选题库 博学谷01-29
ISO11135-2007灭菌器验证05-30
适者生存作文02-05
最新北师大版小学三年级下册数学期中练习题习题Word文档下载04-11
2017年6月福州市初中毕业班适应性试卷及答案(生物)09-14
新加坡南洋理工学院办学特色及其启示08-26
兰州大学管理学院教师高级专业技术职务申请条件修订(最终版)04-29
复积分计算总结09-16
核相仪03-17
孤藤的私语作文500字07-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 博学
- 题库
- java
- 综合办公室作业指导书(培训) - 图文
- 北师大版四年级下册方程专项练习题
- QtCreator快捷键(自整理)
- 中国工商银行益阳市赫山区支行等与深圳庆丰工贸发展公司等借款合同纠纷案
- 人教版思品九年《理智面对学习压力》word同步测试
- 预防医学题库第五版
- 常州创新案例专题讲座考试试卷(十四)
- 恩格尔注塑机操作说明书 - 图文
- I2C程序和流程图
- 七年级语文寒假导学参考答案
- 有关情绪的英文表达
- 2011年考驾照模拟试题
- 微机原理与接口技术试卷及答案
- 福建师范大学18年8月课程考试《计算机应用基础》作业考核试题 - 图文
- 检验批、分项、分部、单位工程质量检查、申报和签认制度
- 兴隆县蘑菇峪铅锌银矿地下开采建设项目职业病危害防护设施设计专篇
- Linux环境进程间通信(一):管道及有名管道
- 进口棉基础知识
- 最新特级教师申报材料
- 调研报告:关于新形势下县级纪律审查工作存在的问题和对策