JAVA期末复习2

2024-06-23 13:52
文章标签 java 复习 期末

本文主要是介绍JAVA期末复习2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、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

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

这篇关于JAVA期末复习2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087340

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定