JAVA期末复习2

news2024/11/24 17:20:15

目录

一、Java基础知识

1. 下面几个标识符中,哪些是命名正确的 (A)

2. 分析以下代码,哪些是合法的 (C)

3. 以下代码的执行结果是( B )

4. 下面哪个不是java中的关键字?( B )

5. 下面对数组 int[] a={1,7,8,9}; 的描述不正确的是( D )

6. 下列语句编译没有错误的是( C )

7. 数组a的第三个元素表示为(D)

8. Java中int数据类型在内存中表示为( B )

9. 下列程序段执行后t5的结果是( B )

10. 若有定义int a=2;则执行完语句(++a)+a结果为( A )

11. 下面正确的初始化语句是(C)

12. 请写出标识符的命名规则,哪个选项正确(A)

13. 以下代码执行后的输出结果是( B )

14. 当访问无效的数组下标时,会发生( B )

15. do while循环执行次数(D)

16. 若有定义 int a=1, b=2; 表达式 (a++)+(++b) 的值是( B )

17. double类型占几个字节?(D)

18. 下列哪一个不属于Java的基本数据类型(B)

八、变量与作用域

19. 判断引用中所存储的对象是否与某种类型兼容的关键字是 instanceof。

20. 静态属性(类属性)的关键字是 static。

21. 在 Java 中,类之间的继承的特点是单继承。

九、数组

22. 数组 a 的第三个元素表示为 (D)

23. 数组的索引从 0 开始,长度为 4,所以最大下标是 3。

十、编译与运行

24. Java 文件的编译扩展名是 .class,源文件扩展名是 .java。

25. 定义包的关键字为 package。

十一、其它

26. If 语句:

27. Java中的关键字:

28. float 数:

29. 标识符命名规则:


一、Java基础知识

1. 下面几个标识符中,哪些是命名正确的 (A)

  • 选项

    • A. ILoveJava
    • B. static
    • C. learn@java
    • D. 2tigers
  • 正确答案:A

  • 解析:

    • 标识符的命名规则:
      • 只能由字母、数字、下划线(_)和美元符号($)组成。
      • 第一个字符不能是数字。
      • 不能使用 Java 的关键字作为标识符。
    • 选项分析:
      • A. ILoveJava 符合命名规则。
      • B. static 是 Java 的关键字,不能作为标识符。
      • C. learn@java 包含非法字符 "@"。
      • D. 2tigers 第一个字符是数字,不符合规则。

2. 分析以下代码,哪些是合法的 (C)

  • 选项

    • A. while(int i=1;i<1;i++){}
    • B. for(int i=1;i++; i<10){}
    • C. int n=3;
    • D. int n=2;
      if(n%3==0){ if(n=2){}
      System.out.println("n="+n);
      }
  • 正确答案:C

  • 解析:

    • 选项分析:
      • A. while(int i=1;i<1;i++){} 错误,while循环的条件判断语句中不能进行变量的定义。
      • B. for(int i=1;i++; i<10){} 错误,for循环中的第二部分是更新变量,应该写成 "i++" 或 "i=i+1"。
      • C. int n=3; 合法,定义一个 int 型变量 n 并赋值为 3。
      • D. int n=2;
        if(n%3==0){
        System.out.println("n="+n);
        }
        错误,if(n=2){},if语句的判断条件应该是布尔值,而 "n=2" 是赋值语句,它返回值是 2,不是布尔值。

3. 以下代码的执行结果是( B )

  • 选项

boolean m = true;
if(m = false){
    System.out.println("false");
}else{
    System.out.println("true");
}

  • 正确答案:B(输出“true”)

  • 解析:

    • 代码中使用赋值语句 m = false 作为 if 语句的判断条件。在 Java 中,赋值运算符 "=" 的返回值是赋值的值,即 false。因此,if 语句判断条件为 false,所以进入 else 代码块,输出 "true"。

4. 下面哪个不是java中的关键字?( B )

  • 选项

    • A. public
    • B. STATIC
    • C. class
    • D. package
  • 正确答案:B

  • 解析:

    • Java 中的关键字是预留的词语,不能用作标识符。
    • 选项分析:
      • A. public 是 Java 的关键字,用来修饰类、方法和变量的访问权限。
      • B. STATIC 不是 Java 的关键字,应该写成 static。
      • C. class 是 Java 的关键字,用来定义类。
      • D. package 是 Java 的关键字,用来声明包。

5. 下面对数组 int[] a={1,7,8,9}; 的描述不正确的是( D )

  • 选项

    • A. 数组的下标是 从 0 开始
    • B. 数组的内存空间是连续的
    • C. 通过 a[2] 访问的结果 为 8
    • D. 数组 a 中的最大下标是 4
  • 正确答案:D

  • 解析:

    • 数组的索引从 0 开始,长度为 4,所以最大下标是 3。

6. 下列语句编译没有错误的是( C )

  • 选项

    • A. float a=1.5;
    • B. byte b=129;
    • C. byte c=5;
    • D. byte d=-200;
  • 正确答案:C

  • 解析:

    • 选项分析:
      • A. float a=1.5; 错误,float 类型不能直接赋值 double 类型的值,需要强转。
      • B. byte b=129; 错误,byte 类型只能存储 -128 ~ 127 之间的整数,129 超出了范围。
      • C. byte c=5; 正确,5 在 byte 类型范围内。
      • D. byte d=-200; 错误,-200 超出了 byte 类型范围。

7. 数组a的第三个元素表示为(D)

  • 选项

    • A. a(3)
    • B. a[3]
    • C. a(2)
    • D. a[2]
  • 正确答案:D

  • 解析:

    • 数组的元素访问使用方括号 [],例如 a[2] 表示数组 a 的第三个元素。

8. Java中int数据类型在内存中表示为( B )

  • 选项

    • A. 2个字节
    • B. 4个字节
    • C. 由程序员确定
    • D. 以上都不正确
  • 正确答案:B

  • 解析:

    • int 类型在 Java 中占 4 个字节。

9. 下列程序段执行后t5的结果是( B )

  • 选项

int t1=9,t2=11,t3=8;
int t4,t5;
t4=t1>t2?t1:t2+t1;
t5=t4>t3?t4:t3;

  • 正确答案:B

  • 解析:

    • 首先执行 t4 = t1 > t2 ? t1 : t2 + t1t1 > t2 为 false,所以 t4 的值为 t2 + t1,即 11 + 9 = 20
    • 接着执行 t5 = t4 > t3 ? t4 : t3t4 > t3 为 true,所以 t5 的值为 t4,即 20

10. 若有定义int a=2;则执行完语句(++a)+a结果为( A )

  • 选项

    • A. 6
    • B. 5
    • C. 3
    • D. 4
  • 正确答案:A

  • 解析:

    • 表达式 (++a) + a 的执行步骤:
      • ++a 先将 a 加 1, a 变成 3。
      • a 此时值为 3,所以 (++a) + a 的结果是 3 + 3 = 6

11. 下面正确的初始化语句是(C)

  • 选项

    • A. char str[]="hello"
    • B. char str[100]="hello"
    • C. char str[]={'h','e','l','l','o'};
    • D. char str={'\t’};
  • 正确答案:C

  • 解析:

    • 选项分析:
      • A. char str[]="hello" 错误,不能直接用字符串赋值给字符数组,需要将字符串拆分成字符。
      • B. char str[100]="hello" 错误, Java 中无法在定义数组时直接指定其大小。
      • C. char str[]={'h','e','l','l','o'}; 正确,用字符数组的方式初始化char数组。
      • D. char str={'\t’}; 错误,不能直接用一个字符赋值给字符数组,需要用 {} 包裹起来。

12. 请写出标识符的命名规则,哪个选项正确(A)

  • 选项

    • A. 由英文字母、数字、下划线(_)、$组成,不限长度
    • B. 标识符的第一个字符可以是数字
    • C. 标识符不区分大小写
    • D. 标识符可以包含空格
  • 正确答案:A

  • 解析:

    • 标识符的命名规则:
      • 只能由字母、数字、下划线(_)和美元符号($)组成。
      • 第一个字符不能是数字。
      • 不能使用 Java 的关键字作为标识符。
      • 区分大小写。
      • 不能包含空格。
13. 以下代码执行后的输出结果是( B )

  • 选项

int x = 3;
int y = 10;
System.out.println(y % x);

  • 正确答案:B

  • 解析:

    • 代码执行了模运算 y % x,即 10 除以 3 的余数,结果是 1。

14. 当访问无效的数组下标时,会发生( B )

  • 选项

    • A. 编译和运行不受任何影响
    • B. 抛出下标越界异常
    • C. 抛出内存溢出
    • D. 直接死机
  • 正确答案:B

  • 解析:

    • 当访问无效的数组下标时,会抛出 ArrayIndexOutOfBoundsException 异常。

15. do while循环执行次数(D)

  • 选项

    • A. 0
    • B. 1
    • C. 0 ~ n
    • D. 1 ~ n
  • 正确答案:D

  • 解析:

    • do-while 循环的特点是:先执行循环体,再判断条件。
    • 因此,无论条件是否满足,至少会执行一次循环体。
    • 所以执行次数在 1 到 n 之间。

16. 若有定义 int a=1, b=2; 表达式 (a++)+(++b) 的值是( B )

  • 选项

    • A. 3
    • B. 4
    • C. 5
    • D. 6
  • 正确答案:B

  • 解析:

    • 表达式 (a++) + (++b) 的执行步骤:
      • a++ 先使用 a 的值 (1),再将 a 加 1,a 变成 2。
      • ++b 先将 b 加 1,b 变成 3,再使用 b 的值 (3)。
      • 所以 (a++) + (++b) 的结果是 1 + 3 = 4。

17. double类型占几个字节?(D)

  • 选项

    • A. 1
    • B. 2
    • C. 4
    • D. 8
  • 正确答案:D

  • 解析:

    • double 类型在 Java 中占 8 个字节。

18. 下列哪一个不属于Java的基本数据类型(B)

  • 选项

    • A. int
    • B. string
    • C. float
    • D. byte
  • 正确答案:B

  • 解析:

    • Java 的基本数据类型是:byteshortintlongfloatdoublecharboolean
    • String 是一个类,不是基本数据类型。

八、变量与作用域

19. 判断引用中所存储的对象是否与某种类型兼容的关键字是 instanceof

  • 答案:instanceof
  • 解析:instanceof 关键字用于检查对象是否是特定类的实例,以避免类型转换错误。

20. 静态属性(类属性)的关键字是 static

  • 答案:static
  • 解析:static 修饰的成员变量属于类本身,而不是某个实例,称为静态属性或类属性。

21. 在 Java 中,类之间的继承的特点是单继承。

  • 答案:单继承
  • 解析:Java 中一个类只能继承一个直接父类,这种特性称为单继承。

九、数组

22. 数组 a 的第三个元素表示为 (D)

  • 选项

    • A. a(3)
    • B. a[3]
    • C. a(2)
    • D. a[2]
  • 正确答案:D

  • 解析:

    • 数组的元素访问使用方括号 [],例如 a[2] 表示数组 a 的第三个元素。

23. 数组的索引从 0 开始,长度为 4,所以最大下标是 3。

  • 答案:3
  • 解析:数组的索引从 0 开始,长度为 N 的数组最大下标为 N-1。

十、编译与运行

24. Java 文件的编译扩展名是 .class,源文件扩展名是 .java。

  • 答案:.class, .java
  • 解析:Java 源文件扩展名为 .java,编译后生成扩展名为 .class 的字节码文件。

25. 定义包的关键字为 package。

  • 答案:package
  • 解析:在 Java 中,可以使用 package 关键字对类进行分组管理。

十一、其它

26. If 语句:

  • 当访问无效的数组下标时,会抛出 ArrayIndexOutOfBoundsException 异常。

  • 答案:B

  • 解析:ArrayIndexOutOfBoundsException 是 Java 中的一个异常,用来表明数组访问越界。

27. Java中的关键字:

  • publicstaticclasspackage
  • 解析:static 是 Java 的关键字,但必须全部小写。

28. float 数:

  • float 类型在 Java 中占 4 个字节,而 double 类型在 Java 中占 8 个字节。

  • 答案:B, D

  • 解析:Java中 float 数据类型占用 4 字节,而 double 数据类型占用 8 字节。

29. 标识符命名规则:

  • 只能由字母、数字、下划线(_) 和美元符号($) 组成。

  • 第一个字符不能是数字。

  • 不允许使用关键字。

  • 区分大小写。

  • 答案:A

  • 解析:标识符的命名规则:只能由字母、数字、下划线(_) 和美元符号($) 组成,第一个字符不能是数字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1852872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译原理期末复习

BUCT往年试题为导向的复习 标*的为往年真题 目录 1.基本概念 *例题&#xff08;编译主要阶段&#xff09; 编译程序与解释性程序区别 LL(1)概念 2.正则表达式转DFA (1)正则表达式转NFA 第一种方法(编程时常用) 第二种&#xff08;考试时常用&#xff09; &#xff08…

19 Shell编程之条件语句

目录 19.1 条件测试操作 19.1.1 文件测试 19.1.1 整数值比较 19.1.3 字符串比较 19.1.4 逻辑测试 19.2 if条件语句 19.2.1 if语句的结构 19.2.2 if语句应用示例 19.3 case分支语句 19.3.1 case语句的结构 19.3.2 case语句应用示例 19.1 条件测试操作 Shell环境根据命令执行后…

Agile Software Development

Individuals and interactions over processes and tools.(个人和协作超过过程和工具) working software over comprehensive documentation.(工作软件超过完全文档) Customer collaboration over contract negotiation.(客户协作超过合同谈判) Responding to change over f…

数据结构与算法笔记:基础篇 - 初始动态规划:如何巧妙解决“双十一”购物时的凑单问题?

概述 淘宝的 “双十一” 购物节有各种促销活动&#xff0c;比如 “满 200 元减 50元”。假设你女朋友购物车中有 n 个&#xff08;n > 100&#xff09;想买的商品&#xff0c;它希望从里面选几个&#xff0c;在凑够满减条件的前提下&#xff0c;让选出来的商品价格总和最长…

urfread刷算法题day4|27. 移除元素+复习

27. 移除元素 题目描述 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。 元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以…

maven的安装以及配置

前言&#xff1a; Maven是一个强大的构建自动化工具&#xff0c;主要用于Java项目。它解决了软件开发中的两个方面&#xff1a; 构建和依赖管理&#xff1a;Maven通过在项目对象模型&#xff08;POM&#xff09;文件中指定依赖关系&#xff0c;简化了项目构建和依赖管理的过程…

Vendors and Customers(酒吧餐厅厨师人物动画动作)

此包包含商店、酒吧和餐馆中顾客和工作人员的各种动画。 包括: 饮食动画。站立、倾斜和坐着(酒吧凳子和椅子),以及各种姿势的进入和退出动画,坐姿变化(腿抬起、弯腰、交叉腿、向后倾斜)和害怕反应动画(举手、躲藏、畏缩)。 厨师烹饪动画(煎锅、炒锅、平底锅、锅)、食…

《Python 机器学习》作者新作:从头开始构建大型语言模型,代码已开源

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 更多资源欢迎关注 自 ChatGPT 发布以来&#xff0c;大型语言模型&#xff08;LLM&#xff09;已经成为推动人工智能发展的关键技术。 近期&#xff0c;机器学习和 AI 研究员、畅销书《Python 机器学习》作者 Sebastian …

CMMM Plus+ Calculus Update 超级游戏大作 游戏说明

资源链接 关卡编辑器 ◽️使用 WASD 移动视图。 ◽️LMB 放置单元格。 ◽️Space LMB 删除单元格。Ctrl Space LMB 删除所有相同类型的单元格。 ◽️Q / E 旋转单元格。 ◽️Z / X 在单元格类别之间切换。 ◽️键 1-9 快速选择单元格。 ◽️按 F 显示可拖动的图块。 ⌨️控…

【SpringCloud】OpenFeign-远程调用

本文基于上一篇http://t.csdnimg.cn/0qm2R 的基础上添加OpenFeign的使用。 微服务通信 在微服务架构中&#xff0c;微服务之间的通信通常有两种方式&#xff1a;RPC 和 HTTP。在 Spring Cloud 中&#xff0c;默认使用 HTTP 进行微服务的通信&#xff0c;最常用的实现形式有两…

idea或vscode支持vue语法,ts可解析*.vue

一、ide不能解析vue文件 刚开始导入时&#xff0c;在vscode中的vue文件中内容都是灰色的 ide不能解析vue解决方法&#xff1a; 1.idea或webstorm安装vue.js插件 2.在vscode中 vue2.0的项目安装vetur插件vue3.0及以上的项目安装Vue-official插件&#xff08;之前是Volar&…

WordPress项目教程:自动采集并发布,让你轻松实现网站内容更新

随着互联网的发展&#xff0c;越来越多的人开始关注自己的个人网站&#xff0c;通过网站展示自己的才华、分享知识、推广产品等。然而&#xff0c;个人网站的运营并非易事&#xff0c;尤其是内容更新方面。为了解决这个问题&#xff0c;今天我们将为大家推荐一款WordPress插件主…

使用C语言实现植物大战僵尸教程

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

数据资产与云计算深度融合:借助云计算技术,优化数据存储、高效处理并创新应用,驱动企业数字化转型

目录 一、引言 二、数据资产与云计算深度融合的必要性 1、数据资产的重要性 2、云计算技术的优势 三、云计算技术在数据资产管理中的应用 1、数据存储的优化 2、数据处理的高效性 3、数据应用的创新 四、云计算驱动企业数字化转型的实践案例 案例一&#xff1a;金融行…

STM32玩转物联网07-WIFI实验

前言 上一节我们学习了串口的简单使用&#xff0c;本节我们增加难度&#xff0c;做一个demo通过AT指令控制ESP8266&#xff0c;使用DMA方式接收ESP8266发来的数据&#xff0c;后续我们便开始通过ESP8266连接物联网云平台&#xff0c;敬请关注。 一、准备 1. ESP8266硬件准备 准…

[图解]建模相关的基础知识-16

1 00:00:00,350 --> 00:00:04,130 刚才那个&#xff0c;就相当于&#xff0c;12这个我们可以认为是什么 2 00:00:05,020 --> 00:00:11,360 我们用类图来表达就是&#xff0c;员工、电话 3 00:00:13,320 --> 00:00:15,080 多个 4 00:00:15,090 --> 00:00:16,440 …

stm32使用time模块输出pwm波,stm32-matlab开发电机控制

simulink: stm32cubemx : 注意在stm32配置了两路的一个互补输出&#xff0c;但实际上在matlab里只需要给定占空比就行了&#xff0c;他会自动输出互补&#xff0c;驱动电机&#xff0c;这是因为有点的电机输出需要6路&#xff0c;有的只需要1路&#xff0c;我们看下图就知道了…

Vue.JS中如何监听生命周期事件?

目录 一、Vue.JS框架介绍二、Vue.JS的监听事件三、Vue.JS的生命周期事件四、Vue.JS中如何监听生命周期事件 一、Vue.JS框架介绍 Vue.js是一个用于构建用户界面的渐进式JavaScript框架。它设计得非常灵活&#xff0c;可以轻松地被集成到现有的项目中&#xff0c;也可以作为一个…

能正常执行但是 cion 标红/没有字段提示

ctrl q 退出 clion 找到工程根目录&#xff0c;删除隐藏文件 .idea 再重新打开 clion 标红消失&#xff0c;同时再次输入函数/类属性&#xff0c;出现字段提示 clion 的智能提示方案存储在 .idea 文件中&#xff0c;如果工程能够正常编译执行&#xff0c;那么说明是智能提示…

ARM32开发--WDGT看门狗

知不足而奋进 望远山而前行 目录 文章目录 前言 目标 内容 什么是看门狗 ARM中的看门狗 独立看门狗定时器 窗口看门狗定时器 独立看门狗FWDGT 初始化配置 喂狗 完整代码 窗口看门狗WWDGT 初始化配置 喂狗 完整代码 注意 总结 前言 嵌入式系统在如今的科技发…