news 2025/12/27 14:55:13

【期末复习2】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【期末复习2】

文章目录

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

一、程序分析题

项目结构

分析题01

packageProgramAnalys;/** * 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

/** * 对数字54321的各位进行处理并累加计算,把数字每一位与递减的t值相加后累计 */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

packageProgramAnalys;/** * 异常处理示例:演示除法运算中的异常捕获(除数为0)(P149) * 如果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

packageProgramAnalys;/** *定义了Dool类,定义name和age两个私有字段 toString()方法返回的为name值,不返回age */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;}}

运行结果

二、程序改错题

项目结构

改错题01

修改前

修改后

packageProgramErrorCorrection;/** * P92 构造方法没有返回值,也不能使用void关键字 */publicclassT1{privateintage;privatestaticStringname;privateT1(){}publicT1(intage){this.age=age;}publicT1(StringuserName){name=userName;}}

考察知识点:P92
1.构造方法的名称必须与类名一致;
2.构造方法名称强不能有任何返回值类型的声明;
3.不能在构造方法中使用return返回一个值,但可以单独写return语句作为方法的结束。

改错题02

packageProgramErrorCorrection;/** * p106 静态方法 * main方法是静态方法(static) * 但是调用add()是非静态方法(没有static) */publicclassT2{publicstaticvoidmain(String[]args){System.out.println(add(1,2));}privatestaticintadd(inta,intb){returna+b;}}

考察知识点:P106
静态方法只能访问静态成员。

改错题03

packageProgramErrorCorrection;/** * p123,包含抽象方法的类,必须使用abstr关键字声明为抽象类 */publicabstractclassT3{abstractfloatcalculateAtea(floatw,floath);voidprintInfo(){}staticfloatgetWidth(){return0;}}

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

改错题04

packageProgramErrorCorrection;/** * p154 * 如果不知道如何处理调用方法的异常,可以使用throws关键字继续将异常抛出 */publicclassT4{publicstaticvoidmain(String[]args)throwsException{intresult=divide(4,0);System.out.println(result);}publicstaticintdivide(intx,inty)throwsException{intresult=x/y;returnresult;}}

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

改错题05

packageProgramErrorCorrection;/** * p32 * 单精度浮点数后面以F或f结尾 * 变量名不能重复 */publicclassT5{publicstaticvoidmain(Stringargs[]){bytea=-128;intb=666;floatc=3.14f;doubled=0.618;chare=97;}}

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

改错题06

packageProgramErrorCorrection;/** * p120,final关键字 使用final关键字修饰的类不能用子类 * 使用final关键字修饰的方法不能被子类重写 * 使用final关键字修饰的变量是常量,常量不可修改 */publicclassT6{publicstaticStringSCHOOL_NAME="成都文理大学";publicstaticvoidmain(Stringargs[]){changeSchoole("电子科技大学");System.out.println(SCHOOL_NAME);}staticvoidchangeSchoole(Stringschool){T6.SCHOOL_NAME=school;}}

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

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

C语言初学笔记2---C语言常见概念

目录 10.转义字符1.学习\\? → 在书写连续多个问号时使用&#xff0c;防止他们被解析成三字母词2.学习 \\ → 输出单个和多个单引号 2.1输出单个单引号2.2输出多个单引号 3.学习 \\" → 输出单个和多个双引号 "3.1输出单个双引号3.2输出多个双引号 4.学习\\\ → 表示…

作者头像 李华
网站建设 2025/12/23 18:00:47

《自动控制原理》第 5 章 频率响应分析法:5.3、5.4、5.5

5.3 控制系统频率特性图的绘制控制系统的频率特性可视为由典型环节频率特性组合而成的。本节将在上一节讨论的基础之上&#xff0c;介绍复杂控制系统频率特性图的绘制问题。一般来说&#xff0c;上节所介绍的典型环节频率特性图的绘制方法&#xff0c;可以推广至复杂控制系统。…

作者头像 李华
网站建设 2025/12/23 17:24:31

Java毕设项目:基于JAVA的北京市公交管理系统基于Java+Vue+SpringBoot的北京市公交管理系统(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2025/12/24 1:07:55

C++医学图像处理经典ITK库用法详解<三>: 图像配准模块功能

1、ITK库概述ITK (Insight Segmentation and Registration Toolkit) 是一个开源的跨平台软件开发工具包&#xff0c;主要用于图像处理&#xff0c;特别是生物医学图像处理领域。该工具包提供了一套丰富的图像处理算法&#xff0c;特别是在图像分割和配准方面具有强大的功能。IT…

作者头像 李华
网站建设 2025/12/24 10:00:51

为什么XGBoost在绝大多数情况下都比深度学习算法效果好?甚至秒杀各种新提出的算法!原创未发表!!基于非线性二次分解的Ridge-RF-XGBoost时间序列预测

近年来&#xff0c;尽管深度学习在图像识别、自然语言处理等领域取得了显著成功&#xff0c;但在结构化数据&#xff08;tabular data&#xff09;上的回归与分类任务中&#xff0c;梯度提升树模型——特别是XGBoost&#xff08;eXtreme Gradient Boosting&#xff09;——在绝…

作者头像 李华