java单选题库 博学谷

更新时间:2024-05-14 00:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、单选题

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}}

题目难度:★☆☆☆ 容易 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编程基础 题目难度:★★☆☆ 一般

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还mn,会执行嵌套循环中的第2个,最终输出结果为1 考察点:第二章 Java编程基础 题目难度:★★☆☆ 一般 96.请阅读下面的程序。 Class WhileDemo5 {

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 解析:

考察点:第三章 面向对象(上)

本文来源:https://www.bwwdw.com/article/2wc7.html

Top