Java面向对象程序设计复习总结

news/2024/12/26 23:26:26/文章来源:https://www.cnblogs.com/gaoshidong/p/18634385

作者:高世栋 学号:202302151071

一、第一章:初识Java与面向对象程序设计

  1. Java简介:Java是一种面向对象的程序设计语言,具有跨平台、安全性高、可移植性强等特点。

  2. 面向对象程序设计概述:面向对象是一种程序设计思想,将现实世界的事物抽象为对象,通过对象之间的交互来完成程序的功能。

  3. Java开发环境搭建:介绍了Java开发环境的搭建过程,包括JDK的安装、环境变量的配置以及Eclipse、IntelliJ IDEA等开发工具的使用。

  4. 第一个Java程序:通过编写一个简单的Java程序,了解了Java程序的基本结构及运行过程。
    例如:
    1、完成JDK的安装及配置。

2、完成Intellij IDEA的安装。

3、编写一个程序,输出自己的名字。提交运行截图。

个人感受:本章是Java的入门章节,首先对计算机编程语言的发展史进行介绍,引出本书的主角:Java语言。通过Java与其它语言的对比,凸显Java简单、易学的特点。接着介绍了面向过程与面向对象设计思想的特点与区别,从而引出面向对象程序设计的优势。安装完JDK之后,进入第一个人门程序HelloWorld的编写环节,并通过注释提高代码的可读性,通过这个简单的程序,引出了编写代码时的规范和细节。接着还介绍了目前市面上较流行的两款集成开发工具Eclipse和IDEA,使读者正式步入Java学习的大门。最后,指出本章中的一些知识点可融入的思政元素。

二、第二章:Java编程基础

  1. 数据类型:介绍了Java中的基本数据类型(整型、浮点型、字符型、布尔型)和引用数据类型(类、接口、数组)。

  2. 变量与常量:讲解了变量的声明、初始化及作用域,以及常量的定义和使用。

  3. 运算符:介绍了算术运算符、关系运算符、逻辑运算符、赋值运算符等,并讲解了运算符的优先级和结合性。

  4. 流程控制:包括顺序结构、分支结构(if、switch)、循环结构(for、while、do-while)等,以及break和continue语句的使用。

  5. 方法:讲解了方法的定义、调用、参数传递及返回值,并介绍了方法的重载。

例如:
编写一个Java程序,用户输入矩形的长和宽,并通过传递标志参数 (flag) 来决定是计算矩形的周长还是面积:

  1. 定义一个方法 calculateRectangle,根据 flag 参数决定返回周长或面积:

  2. 如果 flag = 1,计算并返回矩形的周长;如果 flag = 2,计算并返回矩形的面积;

  3. 其他值提示输入无效。

  4. 使用 Scanner 类实现输入功能,提示用户输入矩形的长、宽和操作标志。

  5. 程序输出对应的结果。

个人感受:本章的开发思想主要为结构化程序设计思想,通过本章的学习,读者能够掌握Java的基本语法、三大基本结构、方法和数组,以及基本的面向过程开发思想,对于一些简单的实戈,要能够分析出其大概逻辑,并使用代码进行实现。

三、第三章:面向对象程序设计(基础)

  1. 类与对象:介绍了类和对象的概念,以及如何创建和使用对象。

  2. 构造方法:讲解了构造方法的定义和作用,以及默认构造方法和带参数的构造方法。

  3. 成员变量与局部变量:区分了成员变量和局部变量,并讲解了它们的访问权限。

4.关键字:this关键字(成员变量需要加上this关键字)、static关键字

5.包:Java通过package关键字声明一个包,之后根据功能模块将对应的类放到对应的包中。

个人感受:本章为面向对象编程的基础阶段,对于初次接触面向对象的读者而言存在一些难度。面向对象开发相较于面向过程开发是一种思想上的转变,当熟悉了这种思想后,便不再有难度。本章首先介绍了类和对象的概念,分别介绍了类的定义方式和对象的创建与使用,以步入面向对象编程的大门。接着,通过分析对象的内存,使读者理解基本类型和引用类型在JVM中存储方式上的差别。然后介绍了构造方法,使用户能够更加灵活地创建对象,并对对象中的成员变量进行更便捷的初始化,而当成员变量和局部变量存在重名时,成员变量需要加上this关键字,这一点需要注意。再者,介绍了static关键字的使用,分别演示了静态变量、静态方法、静态代码块与非静态变量、方法、代码块的区别。还概述了关键字package的思想以及介绍了package的使用。最后,指出了本章中的一些知识点可融入的思政元素。通过本章的学习,读者能够掌握面向对象程序设计的基本思想,并且能够运用面向对象程序设计的思想解决一些实际问题。

四、第四章:面向对象程序设计(进阶)

  1. 封装:介绍了封装的概念和作用,以及如何通过访问修饰符实现封装。

  2. 继承:讲解了继承的基本概念、语法及特点,并介绍了子类与父类之间的方法重写。

  3. 多态:介绍了多态的概念、实现方式(方法重写和方法重载)及优点。

  4. 抽象类与接口:讲解了抽象类和接口的定义、特点及使用场景。

  5. 包:介绍了包的概念、作用及创建方法,以及import语句的使用。

  6. 内部类:讲解了内部类的分类(成员内部类、局部内部类、匿名内部类、静态内部类)及作用。

个人感受:用大量篇幅介绍。熟悉面向对象的基础之态为核心,介绍了很多知识点,这些知识点的使用,从而将变量进行了封装,使外界无访问方法,从而保障了变量的安全性。接,为后面的多态打下了基础。在继承中,变本章是Java面向对象程序设计的重点,因此,学习本章的高级特性并不会太吃力。本章以面向对象的三大特性:封装、继承、多是为这三大特性服务的。首先,介绍了访问修饰符和get ( )、set ( )方法直接访问变量,取而代之的则是提供了公共的,介绍了继承,使类与类之间存在了一定的联系,为后面的多态打下基础

五、第五章:异常

  1. 异常概述:介绍了异常的概念、分类(编译时异常和运行时异常)及处理方式。

2.异常处理:Java中的异常本质上也是类,抛出异常时,实际上是抛出一个异常的对象。

个人感想:本章主要介绍了异常的使用。首先对异常的概念和体系进行了介绍,通过继承关系讲述了异常的分类,以及异常与错误的区别。然后介绍了异常的抛出、声明、捕获,要求开发者对能够预知到的异常必须进行处理。接着介绍了自定义异常,开发者可以尽可能地根据业务场景定义出对应的异常,从而便于在生产环境中排查错误。最后指出了本章中的一些知识点可融入的思政元素。

六、第六章:Java常用类

  1. String类:介绍了String类的常用方法,如length()、charAt()、concat()、equals()等。

  2. StringBuffer和StringBuilder类:讲解了StringBuffer和StringBuilder类的特点及使用场景。

  3. 数组类(Arrays):介绍了Arrays类的常用方法,如sort()、binarySearch()、equals()等。

  4. 日期时间类:讲解了Date、SimpleDateFormat、Calendar等日期时间类的使用。

  5. 数学类(Math):介绍了Math类的常用方法,如random()、sqrt()、pow()等。

例如:
编写一个Java程序,实现以下功能:

  1. 输入:用户输入一段字符串,程序对该字符串进行处理,并根据用户选择,执行不同的操作。

  2. 功能:

     2.1 使用 StringBuffer 或 StringBuilder 反转输入的字符串。2.2 使用 Random 生成一个随机数,并使用 Math 类对该数执行常见的数学操作(如取绝对值、平方根等)。2.3 获取当前日期并使用 SimpleDateFormat 格式化输出日期和时间。2.4 生成一个唯一的 UUID 并输出。2.5 使用 Integer 包装类将一个字符串转换为整数。
    
  3. 输出:输出每个功能的执行结果。

个人感想:本章主要介绍Java开发中常见的一些类的使用,包括包装类、字符串、时间日期、工具类等都是在开发中经常用到的类。本章首先介绍了包装类的用处,以及包装类与基本数据类型之间的转换,进而引出自动拆箱、装箱机制:接着介绍了3种字符串:String、StringBuffer .StringBuilder的使用方式,以及它们之间的区别,并通过一个程序演示了三者之间的性能提耗,读者需要能够根据不同的场景选择不同的字符串类;之后介绍了日期相关类及其用法,包括如何获取日期、格式化日期、对日期进行计算等;最后指出了本章中的一些知识点可融入的思政元素。本章整体来说难度偏低,所有内容都只是介绍某个类有哪些常用的方法,以及这些方法的使用方式,没涉及原理以及细节,因此学习成本较低,但依然需要读者花时间对这些知识进行巩固。

通过本次综合复习,我们对Java程序设计的基本知识有了更加系统的了解。接下来,我们将继续深入学习,不断提高编程能力,为实际项目开发奠定坚实基础。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Paper Reading] StegoType: Surface Typing from Egocentric Cameras

目录StegoType: Surface Typing from Egocentric CamerasTL;DRData数据采集设备开环数据收集闭环数据收集数据容错机制OracleMethodInput FeaturesBackboneDataLossExperiment效果可视化总结与思考相关链接Related works中值得深挖的工作资料查询 StegoType: Surface Typing fr…

JVM实战—2.JVM内存设置与对象分配流转

大纲 1.JVM内存划分的原理细节 2.对象在JVM内存中如何分配如何流转 3.部署线上系统时如何设置JVM内存大小 4.如何设置JVM堆内存大小 5.如何设置JVM栈内存与永久代大小 6.问题汇总1.JVM内存划分的原理细节 (1)背景引入 (2)大部分对象的存活周期都是极短的 (3)少数对象是长期存活…

【Obsidian】 博客园插件

搬运 原文作者:ZhangBlog 出处:https://www.cnblogs.com/aaalei/p/17926199.html由于 Markdown 语法的便捷性, 我们从繁重的排版布局工作中解脱出来, 越来越多的人开始接受这种写作方式, 该插件可以将你的 md 笔记, 方便的同步到博客园中, 即使你是使用的本地图片, 也无须担心…

【数据分析】如何构建数据分析体系?

一、数据分析体系的重要性二、如何搭建数据分析体系三、数据分析体系如何量体裁衣编者荐语: 很详细 以下文章来源于ruby的数据漫谈 ,作者ruby 摘要:在当今数字化时代,数据已成为企业决策和发展的重要依据。构建一个完善的数据分析体系,能够帮助企业从海量数据中挖掘价值,…

DDD你真的理解清楚了吗?怎么准确理解“值对象”

DDD你真的理解清楚了吗?我通过这一系列知识分享,让大家真正准确地理解DDD中这些晦涩的概念,今天探讨“值对象”这些年,随着软件业的不断发展,软件系统开始变得越来越复杂而难于维护。这时,越来越多的开发团队开始选择实践DDD领域驱动设计。领域驱动设计是一种非常优秀的软…

【AI+安全】sshd后门自动化检测 | BinaryAI在恶意软件检测场景的实践

原创 腾讯科恩实验室 腾讯科恩实验室 2024年11月12日 10:12 上海 一、引言 在网络安全攻防对抗中,攻击者经常通过在系统关键组件中植入后门程序,来获取持久的访问权限。sshd (SSH daemon) 作为管理远程登录的核心服务,是攻击者常用的目标之一。攻击者通过修改或者替sshd二进…

用Detr训练自定义数据

前面记录了Detr及其改进Deformable Detr。这一篇记录一下用Detr训练自己的数据集。先看下Detr附录中给出的大体源码,整体非常清晰。接下来记录大体实现过程 一、数据准备 借助labelme对数据进行标注然后将标注数据转换成COCO格式,得到以下几个文件其中JPEGImages存放所有图片…

8086汇编(16位汇编)学习笔记05.asm基础语法和串操作

https://bpsend.net/thread-121-1-2.htmlasm基础语法 1. 环境配置xp环境配置 1.拷贝masm615到指定目录 2.将masm615目录添加进环境变量 3.在cmd中输入ml,可以识别即配置成功dosbox环境配置 1.拷贝masm611到指定目录 2.将masm611所在目录添挂载进dosbox 3.将masm611目录在dosbo…

WinNTSetup 系统安装利器 v5.4.0 单文件版

软件介绍 WinNTSetup,系统安装利器,目前最好用的系统安装器,Windows系统安装部署工具。支持所有Windows平台,支持多系统安装、完全格式化C盘、支持创建VHD虚拟硬盘、在Windows及PE系统下运行,允许在安装前对系统进行预优化设置、集成驱动程序、启用第三方主题支持、加入无…

解决 Cannot GET /favicon.ico

一、报错 二、定位(项目所在文件夹) 三、改名(添加图片,重命名)