标识符合法的是(java往年题库解析第一期-JAVA 语言选择题)

作者:访客 时间:2023年07月29日 05:40:09 阅读数:5人阅读

@准备复习java的学生

标识符合法的是(java往年题库解析第一期-JAVA 语言选择题)


(下面是我们学校的题库,不过知识点都是共通的,对其他学校或许也有用。而我将一题一题讲解)

标识符合法的是(java往年题库解析第一期-JAVA 语言选择题)

JAVA 语言程序设计公共课题库

2023 年春季版

一、单项选择题

JAVA 语言部分:

1.下列________哪一项是 JAVA 的企业版本。A

A.Java EE

B. Java ME

C. Java SE

D. JDK

Java SEJ2SE,Java 2 Platform Standard Edition,标准版)

Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为Java EE和Java ME提供基础。

Java EE(J2EE,Java 2 Platform Enterprise Edition,企业版)

Java EE 以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web2.0应用程序。2018年2月,Eclipse 宣布正式将 JavaEE 更名为 JakartaEE

Java ME(J2ME,Java 2 Platform Micro Edition,微型版)

Java ME 以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

JavaEE 与 JavaSE 的区别与联系

JavaEE 是在 JavaSE (Java Platform, Standard Edition )的基础上构建的,是对 JavaSE 的扩展,增加了一些更加便捷的应用框架。

除了 EE 和 SE,还有为移动端而生的 JavaME,但目前应用不算广泛。三者的关系可以用下图概括:】

标识符合法的是(java往年题库解析第一期-JAVA 语言选择题)

什么是 JDK?

JDK 是一个软件包,其中包含各种工具和实用程序,可以开发、打包、监控和部署为任何标准 Java 平台构建的应用程序,包括 Java 平台标准版 (Java SE); Java 平台,微型版 (Java ME);和 Java 平台企业版 (Java EE)。

现在应该不会搞混了吧

标识符合法的是(java往年题库解析第一期-JAVA 语言选择题)


2.下列关于 Java 语言特点的叙述中,错误的是________。A

A. Java 是面向过程的语言

B. Java 支持分布式计算

C. Java 支持多线程

D.Java 是跨平台的语言

A:Java是一个面向对象的语言,可以更好地解决程序的复杂性问题,代码更易于维护。Java 中的类和对象机制可以帮助程序员将程序模块化,将程序分解成较小的、易于管理的组件。这种面向对象的编程思想,也是现代编程语言中不可或缺的部分。

B/D:Java设计成支持在网络上应用,它是分布式语言,支持分布式计算。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。(跨平台性)这是由于 Java 应用程序在运行时使用的是 Java 虚拟机 (JVM),JVM 会将程序代码翻译成适合特定平台的机器码运行。这使得 Java 成为开发者非常喜欢的语言之一。Java环境本身对新的硬件平台和操作系统是可移植的。

C:Java程序运行原理和JVM的启动是否是多线程的 ?

Java程序的运行原理:

由java命令启动JVM,JVM启动就相当于启动了一个进程

接着有该进程创建了一个主线程去调用main方法

JVM虚拟机的启动是单线程的还是多线程的 ?

垃圾回收线程也要先启动,否则很容易会出现内存溢出

现在的垃圾回收线程加上前面的主线程,最低启动了两个线程,所以,jvm的启动其实是多线程的,故java支持多线程


3.下列关于 main 方法的说明中正确的是________。A

A. JAVA 文件可以没有 main 方法

B. JAVA 程序一定从 main 方法开始运行

C. 一个 JAVA 文件中只能有一个 main 方法

D. main 方法只能有一条语句

A. JAVA 文件可以没有 main 方法是正确的。在某些场景下,比如编写一个库或者一个工具包时,并不需要一个入口方法。

B、C、D 的说法都是错误的。虽然 main 方法可以作为程序入口,但并不是所有的程序都必须从 main 方法开始运行。同时,一个 JAVA 文件中可以有多个 main 方法,但是只能有一个 main 方法作为程序入口。main 方法中也不一定只能有一条语句。A. JAVA 文件可以没有 main 方法是正确的。在某些场景下,比如编写一个库或者一个工具包时,并不需要一个入口方法。

4.JAVA 平台的无关性是通过________实现的。A

A.JAVA 虚拟机 B. JAVA 的编辑环境 C. Windows 操作系统 D. UNIX

JAVA 平台的无关性是指 JAVA 语言所编写的程序可以在多个不同的操作系统和硬件平台上运行,而不需要对程序进行修改或重新编译。

这种特性得益于 JAVA 虚拟机(JVM)的存在。JAVA 程序员编写的 JAVA 代码通过编译器生成字节码,字节码可以在任何安装了 JVM 的平台上运行,JVM 会将字节码解释执行成计算机硬件可以理解的机器指令。因此,只要目标平台有可用的 JVM,就可以在该平台上运行 JAVA 程序。(其实也是跨平台性)因此选A。

而B 选项中的“JAVA 编辑环境” 这个概念并不准确。在编写和编辑 JAVA 代码时,需要使用到一些开发工具,如 Eclipse、IntelliJ IDEA 等,但这些工具只是为程序员提供代码开发和调试环境,它们并不能决定 JAVA 平台的无关性。

C、D 选项中的操作系统都是 JAVA 虚拟机所能运行的平台之一。UNIX 和 Windows 操作系统都可以安装和运行 JAVA 虚拟机,但它们仅仅是支持 JAVA 虚拟机的操作系统而已,并不能单独实现 JAVA 平台的无关性。

5.下列标识符中合法的是________。C

A. 5xy B. public C. _true D. 5false

C. _true 是合法的标识符。JAVA 中标识符指变量、方法和类等命名时使用的名称。它们必须遵循一定的规则:

可以包含字母、数字、下划线和美元符号。

第一个字符必须是字母、下划线或美元符号,不能是数字。

大小写敏感,如 a 和 A 是不同的标识符。

标识符不能与 JAVA 关键字重复,如 public、private、if、while 等。

根据 JAVA 的标识符规则,A、D 都是不合法的标识符,因为它们以数字开头;而 B 是 JAVA 的一个关键字,也不能作为标识符使用。只有 _true 满足标识符的所有要求,因此是一个合法的标识符。

6.下列哪一项是合法的标识符________。A

A. Class B. switch C.private D. int

同理,根据上述规则,A 由于采用了 JAVA 中的关键字 Class,因此不是一个合法的标识符。同样的道理,B 和 C 都不是合法的标识符,分别因为使用了关键字 switch 和 private。只有 D 选项中的 int 符合标识符的所有要求,因此是一个合法的标识符。

7.用来中断循环的命令是________。D

A.exit B. return C. extends D. break

D. break 是用来中断循环的命令。

在循环结构中,break 语句被用于中断一次循环,跳出循环体,使程序继续执行紧接着循环的语句。具体而言,当程序遇到 break 语句时,它会跳出当前的循环体并执行循环后面的语句,不再进行该循环的迭代。这个特性可以用来提高程序执行效率,避免无限循环或处理不必要的数据。

除了 break 之外,JAVA 还提供了 continue 命令,可以用来跳过当前循环中的某些迭代。当程序遇到 continue 语句时,它会直接跳入下一个迭代,而不再执行当前迭代中 continue 后面的语句。

8.下列哪一项不属于 Java 语言的简单数据类型________。CA. 整型 B. 字符型 C. 数组 D. 布尔型

C. 数组不属于 JAVA 语言的简单数据类型。

JAVA 中的简单数据类型分为四类:整型、浮点型、字符型和布尔型。其中,整型(byte、short、int 和 long)、浮点型(float 和 double)、字符型(char)和布尔型(boolean)都是 JAVA 的基本数据类型,可用于存储单个值。这些数据类型具有以下共同特征:

占用固定的内存空间。

可以进行算术运算和逻辑运算。

有默认的初值,如 int 类型的初值为 0,boolean 类型的初值为 false。

数组是一种复合数据类型,可以存储多个相同类型的元素,在 JAVA 中不属于简单数据类型。定义数组时需要指定数组的类型及其长度,可以通过下标来访问其中的元素。由于数组在内存中是连续存储的,因此访问数组中的元素非常高效,是 JAVA 程序中常用的数据结构之一。

9.下列数据定义错误的是________。C

A. float f = 5.3f;

B. int d = (int)4.3;

C. byte c = 128;

D. double x

= 4.56;

C. byte c = 128; 这条数据定义错误。

byte 是 JAVA 中的一种基本数据类型,占用 1 个字节,取值范围为 -128 到 127。因此,当我们将一个大于 127 的数赋值给 byte 类型变量时,就会导致编译错误。

其他选项中,A 和 B 都是合法的数据定义。在 A 中,5.3f 是一个浮点型常量,可以用来初始化 float 类型变量 f;在 B 中,4.3 是一个浮点型常量,需要使用强制类型转换运算符将其转换为整型,然后才能将其赋值给 int 类型变量 d。在 D 中, 4.56 是一个浮点型常量,可以用来初始化 double 类型变量 x。

10.下列数据定义错误的是________。A

A. boolean f = 0;

B. int d = (int)4.3;

C. byte c =1;

D. final double PI = 3.14;

A. boolean f = 0; 这条数据定义错误。

在 JAVA 中,boolean 类型的变量只能取两个值之一:true 或 false。不能将整型常量 0 直接赋值给 boolean 类型变量。如果需要将整型值转换为 boolean 值,则可以使用条件表达式或逻辑运算符来实现。

其他选项中,B、C 和 D 都是合法的数据定义。在 B 中,4.3 是一个浮点型常量,需要使用强制类型转换运算符将其转换为整型,然后才能将其赋值给 int 类型变量 d。在 C 中,1 是一个整型常量,可以用来初始化 byte 类型变量 c。在 D 中,final 关键字用于声明常量,PI 是一个 double 类型的常量,其值被定义为 3.14。

11.下列哪一项是表达式 1 2 ”a” 1 2 的值________。C

A.“12a12”B. “3a3”C. “3a12”D. “6”

C. "3a12" 是表达式 1 2 "a" 1 2 的值。

这个表达式中使用了不同类型的操作数,包括整型和字符串类型。根据运算符的优先级和结合性,表达式的计算顺序为从左到右。 1 2 等于 3,然后将其转换为字符串类型,得到字符串 "3";"a" 是一个字符串字面量,可以直接拼接在前面,得到字符串 "3a";1 2 等于 3,然后将其转换为字符串类型,得到字符串 "3";最后再将 2 转换为字符串类型,得到字符串 "2"。将它们依次拼接起来,就得到了字符串 "3a12"。

12.表达式(100211 1232*6532)%4 的值是________。A

A. 3 B. 0 C. 1 D. 2

A. 3。

根据运算符优先级,先计算乘法表达式 12326532,得到 8042384。然后再将其加上100211,得到 8142595。最后,将结果除以4,取余数,得到 3。因此,表达式(100211 12326532)%4 的值是 3。

13.下面________哪段代码的输出结果是 a 到 b(a<b)之间的随机值整数。C

A.(int)(Math.random()*b a)

B.(int) Math.random()*a b

C. (int)(Math.random()*b) a

D. (int) Math.random()*b a

C. (int)(Math.random()*b) a 的代码可以输出 a 到 b(a<b)之间的随机整数。

Math.random() 方法返回一个大于等于 0 小于 1 的双精度浮点型随机数,因此我们需要将其乘以范围,然后再强制类型转换为整型,才能得到所需的随机整数。同时,还需要注意将结果加上 a,以保证在给定的范围内。因此,选项 C 中的代码可以正确地实现这个过程。而其他选项中的代码存在各种语法错误和逻辑错误,无法正确输出指定范围内的随机整数。

14.语句 int a = 2, b = 3; b *= a b; 执行结束后, b 的值是________。c

A. 9 B. 3 C. 15 D. 5

C. 15。

首先,变量 a 被初始化为 2,变量 b 被初始化为 3。然后,b*=a b; 表示将 b 乘以 a b 的值,并将结果赋回给 b。因此,a b 的值是 5,b 的值将被更新为 3*5=15。所以,执行完这两个语句后,b 的值是 15。

15.下列四类运算符中,优先级最高的是________。A

A. 算术运算符 B. 逻辑运算符|| C. 赋值运算符 D. 关系运算符

A. 算术运算符。

算术运算符的优先级最高,包括加、减、乘、除、取模等。其次是关系运算符(大于、小于等)、逻辑运算符(与、或等)和赋值运算符。在需要改变默认优先级顺序时,可以使用圆括号来指定表达式求值的顺序。

16.下列语句中,与其它不是同一类的语句的是________。B

A.while 语句 B.switch 语句 C.do while 语句 D.for 语句

B. switch 语句。

while、do while 和 for 语句都是循环语句,用于重复执行一段代码。switch 语句则是多分支选择语句。它根据表达式的值,在多个选项中选择一个执行。因此,选项 B 中的 switch 语句与其他选项不属于同一类语句。

17.下列关于 for 和 do while 这两种循环语句的说法,不正确的是________。D

A.它们之间能互相嵌套使用

B.循环次数确定使用 for 语句比较好

C.循环过程中都能被中断循环的执行

D.二者都是前置检查循环条件

D. 二者都是前置检查循环条件。

do while 循环是后置检查循环条件的,即先执行循环体中的语句,再检查循环条件。而 for 循环也可以被设计为后置检查(例如使用 for (;;) {} 可以实现无限循环),但默认情况下是前置检查循环条件的。因此,选项 D 的说法不正确,需要修改为“for 循环是前置检查循环条件”。其他选项的说法均正确。

18.下列哪个表达式能判断整型变量 i 是奇数________。D

A. i%2==1 B. i==1

C. i%2==0 D. i%2!=0

D. i%2!=0。

当一个整数除以 2 后余数为 1 时,它是奇数;当余数为 0 时,它是偶数。因此,i%2==1 可以判断 i 是否为奇数。而选项A中判断的表达式不严谨,在 i 负数时不正确。选项 B 中的表达式只能判断 i 是否等于 1,不能判断 i 是否为奇数。选项 C 中的表达式判断 i 是否为偶数。

19.设 int[]b = {1,2,3,4},则 b[b[1] b[2]-b[3]]=________。A

A. 1 B. 2 C. 3 D. 4

A. 1。

首先,根据优先级,b[1] b[2] 的值是 5。然后,b[3] 的值是 4,因此 b[1] b[2]-b[3] 的值是 1。所以,表达式 b[b[1] b[2]-b[3]] 等价于 b[1],即为 1。注意数组下标从 0 开始,b[1] 表示数组中的第二个元素。

20.在某个程序中有如下定义:int a[]={1,2,3,4,5}; 为了打印输出数组 a 的最后一个元

素,正确的代码是________。B

A. System.out.println(a[5]);

B. System.out.println(a[4]);

C. System.out.println(a[a.length]); D. System.out.println(a(4));

B. System.out.println(a[4])。

数组下标从 0 开始,a[4] 表示数组 a 的最后一个元素。选项 A 的数组下标越界了,因为数组 a 中最后一个元素的下标是 4,而 a[5] 访问的是超出数组边界的位置,会导致编译错误。选项 C 中的 a[a.length] 访问了数组 a 的一个不存在的位置,也会导致数组下标越界。选项 D 的写法使用了小括号,但实际上数组的访问应该使用方括号。因此,选项 B 的代码是正确的。

21.下列关于数组的说法中,正确的是________。C

A.数组可以先使用后声明 B.数组创建后如果没有赋值,默认为空值

C.使用数组前必须创建数组 D.必须通过数组变量和下标才可以访问数组元素

C. 使用数组前必须创建数组。

选项 A 不正确,因为在 Java 中,数组必须先声明再使用。选项 B 不正确,因为如果没有给数组元素赋值,它们的初始值是由数据类型决定的,如整型数组的默认值是 0,引用类型数组的默认值是 null。选项 D 不正确,因为数组元素可以使用 for 循环等方式直接访问,而不一定需要通过数组变量和下标来访问。因此,选项 C 的说法是正确的。

22.判断两个字符串 s1 和 s2 是否相等,应该使用下列哪一表达式________。B

A. s1==s2 B. s1.equals(s2) C. s1=s2 D. s1.length()==s2.length()

B. s1.equals(s2)。

在 Java 中,字符串是引用类型,因此使用“==”符号比较两个字符串时,比较的是它们在内存中的引用地址,而不是它们的值。要判断两个字符串的值是否相等,应该使用 equals() 方法。因此,选项 A 中的表达式是错误的。选项 C 的赋值操作可以改变变量所引用的对象,但不能直接判断两个字符串是否相等。选项 D 判断的是字符串的长度是否相等,而非字符串本身是否相等。因此,选项 B 中的表达式是正确的。

23.在调用方法时,想要通过方法改变实参的值,那么形参可以________。B

A. 用基本数据类型作为参数

B. 用对象作为参数

C. A 和 B 选项都对

D. A 和 B 选项都不对

B. 用对象作为参数。

在 Java 中,如果将一个对象作为参数传递给方法,那么实际上传递的是该对象的引用。因此,如果在方法中修改该对象,那么实际上是修改了对象的内容,这样就可以实现通过方法改变实参的值的需求。而如果使用基本数据类型作为参数,由于方法中无法修改原始数据类型值的内容,无法通过方法改变实参的值。因此,选项 B 正确,而选项 A、C 和 D 都不正确。

24.下列关于 Java 语言中方法的描述,不正确的是________。D

A. 实参向形参的数据传递是单向值传递

B. 方法重载指的是一个类中有两个或更多的方法具有相同名称和不同参数列表

C. 局部变量的作用域为定义语句开始到包含该定义语句的最内层语句块结束

D. 调用方法只能采用方法调用语句的方式

D. 调用方法只能采用方法调用语句的方式。

在 Java 中,调用方法的方式不仅仅局限于方法调用语句(即加上分号的方法调用语句)。还可以将方法调用的结果赋值给变量或者对象属性,也可以将方法调用作为参数传递给其他方法。因此,选项 D 不正确。而选项 A、B 和 C 的描述都是正确的。

25.下列说法哪个是正确的________ 。B

A. 不需定义类,就能创建对象 B. 类可以没有 main 方法

C. 属性只能是简单变量 D. 对象中必有属性和方法

B. 类可以没有 main 方法。

main 方法是 Java 程序的入口方法,但并非所有类都需要有 main 方法。只有希望通过该类启动程序时,才需要定义 main 方法。而有些类只需要被其他类调用或继承,不需要作为程序入口,也不需要定义 main 方法。因此,选项 B 的说法是正确的。选项 A 中的说法不正确,因为在 Java 中,要创建一个对象必须先定义一个类。选项 C 中的说法不正确,因为属性可以是简单变量或者对象引用。选项 D 中的说法不正确,因为在某些情况下,可以定义一个空的类,这个类中既没有属性也没有方法。

26.下列哪一个不是类成员修饰符________。C

A. protected

B. public

C. extends

D. private

C. extends。

extends 不是类成员修饰符,它是用于实现继承关系的关键字。在 Java 中,类成员修饰符包括 public、private、protected 和没有任何修饰符(默认访问修饰符)。其中,public 表示公有的,可以被该类的所有访问者(包括其他类)访问;private 表示私有的,只能被该类自身的方法访问;protected 表示受保护的,可以被该类自身、该类的子类以及同一包中的其他类访问;默认访问修饰符表示只能被同一包中的其他类访问。因此,选项 C 不是类成员修饰符,选项 A、B、D 是类成员修饰符。

27.下列关于构造方法的描述,不正确的是________。C

A. 构造方法的名字必须与类名相同

B. 构造方法没有返回值

C. 构造方法必须采用 public 修饰符

D. 可以有多个参数不同的构造方法

C. 构造方法必须采用 public 修饰符。

构造方法的访问修饰符可以是 public、protected、private 或者没有任何修饰符(默认访问修饰符)。而在很多情况下,为了保证数据的封装性和安全性,常常将构造方法定义为 private 或者 protected。因此,选项 C 不正确。而选项 A、B 和 D 的描述都是正确的,构造方法的名字必须与类名相同,构造方法没有返回值,可以有多个参数不同的构造方法。

28.下列关于 this 的说法,正确的是________。A

A. this 表示对类的当前对象的引用

B. this 不可在类的构造方法中直接调用另外一个构造方法

C. this 是一个方法名

D. this 只有定义之后,才能使用

A. this 表示对类的当前对象的引用。

在 Java 中,this 关键字表示对类的当前对象的引用。我们可以使用 this 关键字来访问该对象中的属性和方法,也可以将 this 作为参数传递给其他方法或者构造方法。因此,选项 A 的说法是正确的。选项 B 中的说法不正确,因为在类的构造方法中,可以通过 this 关键字调用同一个类中的其他构造方法。选项 C 中的说法不正确,因为 this 不是一个方法名,而是一个关键字。选项 D 中的说法不正确,因为在定义之前就可以使用 this 关键字。

29.以下对封装的描述正确的是________。D

A. 只能对一个类中的方法进行封装,不能对数据域进行封装

B. 封装时访问器方法和修改器方法的返回值类型均为 void

C. 封装的意义不大,因此在编码时尽量不要使用

D. 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性

D. 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性。

封装是面向对象编程中的一种重要机制,它将数据和方法封装在一个类中,并对外提供公共接口,从而实现对内部实现细节的隐藏。这样可以增强程序的安全性,避免外部对象直接访问类的属性和方法,减少程序出错的可能性。因此,选项 D 的描述是正确的。选项 A 中的说法不正确,因为封装既可以对方法进行封装,也可以对数据域进行封装。选项 B 中的说法不正确,因为访问器方法和修改器方法的返回值类型并非总是 void。选项 C 中的说法不正确,因为封装是 OOP 的核心概念之一,应该在编码时尽可能使用。

30.下列选项中,用于指定包名的关键字是________。 B

A. struct B. package C. type D. class

B. package。

在 Java 中,用于指定包名的关键字是 package。在编写代码时,可以使用 package 关键字来指定类所在的包,让该类与其他类进行区分,也可以使用 import 关键字来导入其他包中的类。选项 A、C、D 中的关键字 struct、type、class 分别表示结构体、类型和类的定义,但它们不是用于指定包名的关键字。因此,选项 B 是正确的。

31.score 是一个整数数组,有五个元素,已经正确初始化并赋值,下面代码段的目的

是________。A

temp = score[0];

for (int index = 1; index < 5; index ) {

if (score[index] > temp) {

temp = score[index];

}System.out.print(temp);

A. 求数组最大值

B. 求数组最小值

C. 求数组平均值

D. 通过变量 temp 实现数组元素的逆置

A. 求数组最大值。

该代码段的基本思路是,先将数组中第一个元素赋值给变量 temp,然后从数组的第二个元素开始遍历,比较每个元素与 temp 的大小,如果当前元素比 temp 大,则将当前元素的值赋给 temp。当遍历完成后,temp 的值就是数组中的最大值。因此,选项 A 是正确的。选项 B、C、D 均与该代码段的目的不符。

32.有如下程序段:

int total = 0;

for ( int i = 0; i < 4; i ){

if ( i == 2) break;

if ( i == 1) continue;

total = i;

}

则执行完该程序段后 total 的值为:________。A

A. 0 B. 1 C. 3 D. 6

A. 0。

该程序段的基本思路是,利用 for 循环遍历 i 的值,当 i 为 2 时跳出循环,当 i 为 1 时结束当前循环,执行下一个循环,否则将 i 的值加到 total 上。由于 i 只有在为 0 时被加入了 total,所以执行完该程序段后,total 的值为 0。因此,选项 A 是正确的。

33.下列程序运行后输出的结果是________。D

public class Test {

public static void main(String[] args) {

int a = 0;

while (a < 10) {

switch (a) {

case 0:

case 1:

case 2:a = a 2; break;case 3: a = a 3;

default:a = a 5;

}

}

System.out.print(a);}}

A. 0

B. 5 C. 10 D. 14

D. 14。

该程序的基本思路是,在 while 循环中根据 a 的值不断切换执行分支,直到 a 不再小于 10。当 a 等于 0、1 或 2 时,将 a 加 2;当 a 等于 3 时,将 a 加 3;当 a 大于等于 4 时,将 a 加 5。因此,a 的值在循环中按照如下顺序变化:2 -> 4 -> 9 -> 14。当循环结束后,a 的值为 14,因此输出结果为 14,选项 D 正确。

34.下列程序运行的输出结果是________。B

public class Test {

public static void main(String[] args) {

for(int i=1;i<=10;i )

{

if(i%2==0) continue;

System.out.print(i " ");

}

}

}

A. 1 2 3 4 5

B. 1 3 5 7 9

C. 6 7 8 9 10

D. 2 4 6 8 10

B. 1 3 5 7 9。

该程序使用 for 循环遍历数字 1 到 10,当数字是偶数时,使用 continue 跳过本次循环,不执行下面的语句。而当数字是奇数时,输出数字并在后面添加一个空格。因此,最终输出的结果是 1 3 5 7 9,选项 B 是正确的。

35.下列程序运行后输出的结果是________。D

public class Test {

public static void main(String args[ ]){ int i, s = 0 ;

int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };

for ( i = 0 ; i < a.length ; i )

if ( a[i]%3 = = 0 ) s = a[i] ;

System.out.println(s);

}}

A. 30

B. 120

C. 140

D. 180

D. 180。

该程序使用 for 循环遍历数组 a 中的每个元素,当元素是 3 的倍数时,将其加入变量 s 中。在遍历完成后,输出变量 s 的值。因此,程序的执行结果是:30 60 90 = 180,选项 D 正确。

36.下列程序运行的结果是________。A

public class Test {

public static void main(String[] args) {

int num=1001;

while(true)

{ if(num<9)

break;

num = num - 9;

}

System.out.print(num);

}}

A. 2

B. 1

C. 0

D. 无限循环

A. 2。

该程序使用 while 循环对 num 进行计算,当 num 小于 9 时,使用 break 语句退出循环。每次循环中,num 减去 9 的值被赋给 num 新值,直到 num 小于 9 时退出循环。起始值为 1001,每次减去 9,经过 111 次循环后,num 的值变为 1001 - 9 × 111 = 2,因此输出结果为 2,选项 A 正确。

37.下列程序运行后的结果是________。B

String s = new String("javanetbean"); for(int i = 1; i<s.length(); i*=2)

{

System.out.print(s.charAt(i));

}

A. jvne B. avne

C. aaneba D. jvnten

B. avne。

该程序中,变量 s 存储了一个字符串 "javanetbean"。循环使用变量 i 从 1 开始,每次将 i 乘以 2,直到 i 的值超过了字符串的长度。在循环中,使用 charAt() 方法获取字符串中下标为 i 的字符,并输出该字符。因此,输出结果为 s 字符串中下标为 1、2、4、8 的字符,即 "avne",选项 B 正确。

标识符合法的是(java往年题库解析第一期-JAVA 语言选择题)

欢迎收藏、分享,如有错误请指正

标识符合法的是(java往年题库解析第一期-JAVA 语言选择题)

不过初学编程,感觉还是c类好些,语法上也更接近高中体系