news 2026/5/19 15:18:22

【期末复习02】分析题和改错题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【期末复习02】分析题和改错题

文章目录

  • 一、程序分析题(20)
    • 项目结构
    • 分析题01
    • 分析题02
    • 分析题03
    • 分析题04
  • 二、程序改错题(20分)
    • 项目结构
    • 改错题01
    • 改错题02
    • 改错题03
    • 改错题04
    • 改错题05
    • 改错题06

一、程序分析题(20)

项目结构

分析题01

代码

packageProgramAnalysis;/** * 写出这段代码在干什么: * 1、定义一个二维数组arr,包含3行3列的整数。 * 2、使用嵌套循环遍历数组,将所有元素累加起来。 * 3、打印出累加的结果。 */publicclassT1{publicstaticvoidmain(String[]args){int[][]arr={{10,20,30},{11,21,31},{12,22,32}};intsum=0;for(inti=0;i<arr.length;i++){for(intj=0;j<arr[i].length;j++){sum+=arr[i][j];}}System.out.println("sum="+sum);}}

运行结果

分析题02

代码

packageProgramAnalysis;/** * 对数字54321的各位进行处理并累加计算,把数字每一位与递减的t值相加后累计 */publicclassT2{publicstaticvoidmain(String[]args){intA=54321,sum=0,t=10;while(t>0){sum+=A%10+t;A/=10;t/=10;}System.out.println(sum);}}

运行结果

分析题03

代码

packageProgramAnalysis;/** * 演示Java的异常处理机制:通过自定义除法方法主动抛出除数为零的算术异常, * 再在main方法中用try-catch捕获不同类型的异常, * 同时利用finally块保证特定代码无论异常是否发生都会执行。 */publicclassT3{publicstaticvoidmain(String[]args){try{intresult=divideNumbers(4,0);System.out.println("计算结果 = "+result);}catch(ArithmeticExceptione){System.out.println("捕获算术异常: "+e.getMessage());return;}catch(Exceptione){System.out.println("捕获其他异常: "+e.getMessage());return;}finally{System.out.println("执行finally块");}System.out.println("程序继续执行");}privatestaticintdivideNumbers(intdividend,intdivisor){if(divisor==0){thrownewArithmeticException("除数不能为零");}returndividend/divisor;}}

运行结果

分析题04

代码

packageProgramAnalysis;/** * 实现了自定义类的封装、对象实例化,并通过重写toString()改变了对象打印时的输出结果 */publicclassT4{publicstaticvoidmain(Stringargs[]){Dolldoll=newDoll("Kitty",2);System.out.println(doll);}}classDoll{Stringname;intage;publicDoll(Stringname,intage){this.name=name;this.age=age;}publicStringtoString(){returnthis.name;//只返回了name}}

运行结果

二、程序改错题(20分)

项目结构

改错题01

修改前代码

修改后代码

考察知识点:构造函数,构造函数的定义P92:

1、 构造方法的名称必须与类名一致;

2、 构造方法名称前不能有任何返回值类型的声明;

3、 不能在构造方法中使用return返回一个值,但可以单独写return语句作为方法的结束。

改错题02

修改前代码

修改后代码

考察知识点:静态方法p106:

  1. main方法的静态特性
    • main方法是Java程序的入口方法,必须被声明为static,属于类的静态成员,而非对象的成员。
    • 静态方法在执行时,不需要创建类的实例,直接通过类名(或省略类名)调用。

  2. 静态方法调用规则
    • 静态方法只能直接调用同类的静态方法/静态变量,不能直接调用非静态方法/非静态变量(因为非静态成员属于对象,需要先创建对象才能调用)。
    • 这段代码中add方法被声明为static,因此main方法可以直接调用;若add方法去掉static(变为非静态),代码会编译报错。

  3. 方法的访问修饰符与参数
    • add方法用private修饰,表明该方法仅能在T2类内部被访问,外部类无法调用。
    • 方法参数的a:1、b:2是代码中的标注(非Java语法),实际调用时只需传入1和2即可,正确写法为add(1, 2)。

  4. 静态方法的本质
    • 静态方法属于类级别,存储在方法区,类加载时就会初始化;非静态方法属于对象级别,创建对象时才会分配内存。

改错题03

修改前代码

修改后代码

考察知识点:抽象类的方法p123:
1、包含抽象方法的类必须是抽象类。
2、生命抽象类和抽象方法时都要使用abstract关键字修饰。
3、抽象方法只需要声明而不需要实现。
4、如果一个非抽象类继承了抽象类之后,那么该类必须重写抽象类中的全部抽象方法。

改错题04

修改前代码

修改后代码

考察知识点:throw关键字p155:
1、当throw关键字抛出的异常是编译异常时,有两种处理方式:第一种是在try代码块里使用throw关键字抛出异常,通过try代码块捕获该异常;第二种是在一个有throws声明的方法中使用throw关键字抛出异常,把异常交给该方法的调用者处理。
2、当throw关键字抛出的异常是运行异常时,程序既可以显式使用try…catch语句捕获并处理该异常,也可以完全不理会该异常,而把该异常交给方法的调用者处理。

改错题05

修改前代码

修改后代码

考察知识点:浮点数常量P32:
Java中的浮点数分为单精度浮点数(float) 和双精度浮点数(double) 两种类型。
其中,单精度浮点数后面以 F 或 f 结尾,而双精度浮点数则以 D 或 d 结尾。

改错题06

修改前代码

修改后代码

考察知识点:final关键字P120:
Java中被final修饰的变量为常量,常量只能在声明时被赋值一次,在后面的程序中,常量的值不能被改变。
使用final关键字时需要注意以下几点:
(1) 使用final关键字修饰的类不能有子类
(2) 使用final关键字修饰的方法不能被子类重写
(3) 使用final关键字修饰的变量是常量,常量不可修改

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/18 16:28:57

原神祈愿数据分析完整指南:告别手动记录,精准掌握抽卡概率

作为原神玩家&#xff0c;你是否曾为这些问题困扰&#xff1a;抽卡时记不清离保底还有多少发&#xff1f;想回顾某个五星角色什么时候抽到的&#xff1f;换设备后所有抽卡历史都丢失了&#xff1f;现在&#xff0c;genshin-wish-export工具将彻底解决这些烦恼&#xff0c;让你真…

作者头像 李华
网站建设 2026/5/15 12:57:32

基于Java的超市购物商城采购销存系统41f0q511

目录已开发项目效果实现截图开发技术系统开发工具&#xff1a;核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/5/17 1:08:19

写给学弟学妹的编程心语:不是捷径,是心路

写给学弟学妹的编程心语&#xff1a;不是捷径&#xff0c;是心路凌晨三点&#xff0c;屏幕的光还亮着。这是第几次对着一段报错代码陷入沉思&#xff1f;那些看似简单的教程&#xff0c;为什么一到自己手里就变得如此陌生&#xff1f;如果你也曾这样怀疑过自己&#xff0c;请相…

作者头像 李华
网站建设 2026/5/15 11:00:33

01-Ansible 自动化介绍

文章目录 01-Ansible 自动化介绍Ansible 自动化介绍手动执行任务和自动化执行任务基础架构即代码Ansible 与 DevOps什么是 ANSIBLE&#xff1f;Ansible 特点Ansible 概念和架构Ansible WayAnsible 用例 Ansible 部署准备实验环境控制节点受管节点LinuxWindows网络设备网络设备 …

作者头像 李华
网站建设 2026/5/18 18:19:21

窗口置顶神器:如何让重要窗口永远保持在最前端?

窗口置顶神器&#xff1a;如何让重要窗口永远保持在最前端&#xff1f; 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 在日常电脑使用中&#xff0c;你是否经常为了找到被其他窗…

作者头像 李华