- 博客(36)
- 收藏
- 关注
原创 【Java SE】深入理解继承与多态
本文介绍了面向对象编程中的继承和多态两大核心概念。继承通过extends关键字实现代码复用,子类可以访问父类非私有成员,使用super关键字调用父类构造和方法。初始化顺序遵循父类到子类、静态到实例的规则。多态则通过方法重写实现,同一方法在不同子类中表现出不同行为,需要满足继承、重写和父类引用调用三个条件。文章还对比了继承与组合的差异,并介绍了final关键字限制继承的特性,为Java面向对象编程提供了基础指导。
2025-08-22 23:41:41
514
原创 【Java SE】认识数组
本文全面介绍了Java数组的核心知识,包括数组的基本概念、创建与初始化方法、元素访问方式以及引用类型特性。重点讲解了数组作为函数参数和返回值的应用场景,并提供了数组转字符串、拷贝、查找、排序和逆序等常用操作的实战代码示例。通过本文,读者可以系统掌握Java数组的使用技巧,理解其在内存中的存储方式,并学会如何高效操作数组解决实际问题。
2025-08-21 21:26:23
568
原创 【Java SE】初识Java:从语言特性到实战入门
本文全面介绍了Java编程语言的核心概念。作为常年位居编程语言榜首的"万能工具包",Java具备跨平台性、安全性、面向对象等特性,广泛应用于企业系统、Android开发、大数据等领域。文章从Java的发展简史、核心特性讲起,详细解析了JDK/JRE/JVM的关系,并通过"Hello World"示例演示了Java程序的编译运行流程。此外,还讲解了注释、标识符和关键字等基础语法规范。作为编程入门指南,本文为读者搭建了Java学习的整体框架,为后续深入学习面向对象等高级特
2025-08-20 17:32:43
1054
1
原创 【C语言】经典贪吃蛇游戏:从设计到代码全解析
本文介绍了使用C语言在Windows控制台中实现贪吃蛇游戏的核心技术。主要内容包括:1)通过Win32 API控制控制台窗口、光标和键盘输入;2)使用宽字符绘制游戏地图和蛇身;3)采用链表结构管理蛇身节点;4)实现蛇移动、吃食物增长、碰撞检测等核心逻辑。游戏设计中重点关注了坐标系统、数据结构、状态管理以及游戏循环的实现,展示了如何将这些技术组合完成一个完整的控制台游戏开发。
2025-08-19 18:03:43
1121
8
原创 【数据结构】深入理解双向链表:结构、实现与对比分析
双向链表是一种重要的线性数据结构,本文详细介绍了其结构特点和实现方法。文章首先将链表分为8种类型,重点分析了无头单向非循环和带头双向循环两种常用链表的特点和应用场景。随后详细讲解了带头双向循环链表的结构设计,特别是哨兵位节点的重要作用,并给出了节点结构的C语言定义和主要操作函数。最后通过对比顺序表和双向链表的优缺点,指出顺序表适合频繁访问元素,而双向链表更适合频繁插入删除的场景。文章全面展示了双向链表的特性和适用情况,为选择合适的数据结构提供了参考。
2025-08-18 23:31:59
1045
2
原创 【LeetCode】链表经典算法:移除元素,反转链表,约瑟夫环问题,找中间节点,分割链表
本文介绍了五种链表操作的经典算法题解:1)删除特定值节点,通过哨兵节点统一处理;2)反转链表,使用双指针迭代实现;3)合并有序链表,采用哨兵节点简化拼接;4)寻找中间节点,运用快慢指针法;5)链表分割,创建两个子链表后拼接。每个问题都包含示例说明、解题思路、代码实现及解析,重点展示了哨兵节点和双指针等技巧在链表操作中的灵活应用。
2025-08-17 22:34:15
1057
3
原创 【数据结构】深入理解单链表与通讯录项目实现
单链表是一种物理存储结构非连续、非顺序的线性数据结构,其数据元素的逻辑顺序通过节点间的指针链接来实现。每节车厢(节点)独立存在车厢之间通过连接装置(指针)关联可以灵活地增加或移除车厢(节点)而不影响其他部分// 定义单链表存储的数据类型,此处为int// 节点存储的数据// 指针,用于保存下一个节点的地址}SLTNode;这样的定义使得单链表可以灵活存储不同类型的数据,只需修改的定义即可。// 指针保存下一个节点的地址// 指针保存前一个节点的地址// 存储的数据}LTNode;
2025-08-16 21:29:48
963
原创 【LeetCode】双指针法元素移除与有序合并
双指针技术是处理数组问题的常用技巧,能够在不使用额外空间的情况下高效地完成操作逆向思维在合并有序数组问题中起到了关键作用,从后往前操作避免了元素覆盖的问题原地操作的要求促使我们思考更高效的空间利用方式。
2025-08-15 00:40:36
1192
1
原创 【数据结构】深入理解顺序表与通讯录项目的实现
顺序表作为一种基础且重要的数据结构,通过对数组的封装,提供了更灵活、更易用的接口,非常适合实现如通讯录这类需要动态管理数据的应用。掌握顺序表不仅能帮助我们理解数据结构的核心思想——高效组织和管理数据,也为学习更复杂的数据结构(如链表、树、图等)打下坚实基础。在实际开发中,没有完美的数据结构,只有最适合的选择。理解每种数据结构的优缺点,才能在面对具体问题时做出最优决策。
2025-08-11 22:48:38
1210
5
原创 【C语言】深入理解预处理
C语言预处理是编译前的关键环节,处理以`#`开头的指令。包含预定义符号(如`__FILE__`等,助于调试);`#define`可定义常量与带参宏,宏需注意运算符优先级和副作用参数;宏与函数各有优劣,宏快但难调试,函数可递归;还有`#`(字符串化)、`##`(记号粘合)运算符,`#undef`移除宏定义,命令行定义、条件编译、头文件包含等功能,掌握这些能写出更高效灵活的代码。
2025-08-09 22:45:05
1193
2
原创 【C语言】深入理解编译与链接过程
链接是一个复杂的过程,它需要把多个目标文件和链接库链接在一起,最终生成可执行程序。、链接底层实现中的空间与地址分配等,如果想要深入了解,可以阅读《程序的自我修养》一书。希望通过今天的讲解,能让你对C语言程序的编译和链接过程有更清晰的认识。翻译环境的核心任务是将源代码转换为可执行的机器指令,它由编译和链接两个大的过程组成,而编译又可以进一步分解为预处理(预编译)、编译、汇编三个步骤。在ANSI C的任何一种实现中,都存在两个不同的环境,它们共同支撑着C语言程序的生命周期。这个地址修正的过程就被叫做重定位。
2025-08-07 22:36:26
979
3
原创 【C语言】文件操作全解析
文件操作是C语言编程中的重要技能,掌握它可以让你的程序具备数据持久化能力。本文介绍了文件的基本概念、类型划分、打开关闭、顺序读写、随机读写、结束判定以及缓冲区机制等内容。始终检查文件是否成功打开操作完成后及时关闭文件正确判断文件读取结束的条件理解并合理利用缓冲区机制。
2025-08-06 21:21:53
1104
1
原创 【C语言】动态内存管理详解
本文聚焦 C 语言动态内存管理,先阐述因静态分配局限需动态分配内存,介绍 `malloc`/`free`、`calloc`、`realloc` 函数用法,剖析常见内存错误(如空指针、越界等),分析经典笔试题,讲解柔性数组特性优势,最后说明程序内存区域划分,助掌握动态内存管理关键知识。
2025-08-05 20:47:53
1123
5
原创 【C语言】自定义类型:联合体与枚举
本文解析C语言中联合体和枚举两种自定义类型。联合体成员共用内存,大小为最大成员大小,能节省内存,可用于存储互斥属性、判断机器字节序。枚举定义有限取值集合,常量有默认或自定义值,比#define更具可读性、安全性和可调试性,适合表示状态等。合理使用可提升代码效率与可读性。
2025-08-04 22:28:37
1141
2
原创 【C语言】自定义类型:结构体
本文详细讲解C语言结构体相关知识。首先介绍结构体基本概念,包括声明、变量创建、初始化及成员访问,还有结构体自引用的正确方式。接着阐述结构体内存对齐规则,通过示例分析计算方法,说明对齐原因及修改默认对齐数的方法。还讲解结构体传参的两种方式,推荐传地址以提高效率。最后介绍结构体实现的位段,包括声明、内存分配、跨平台问题、应用场景及注意事项。
2025-08-03 18:27:17
1157
4
原创 【C语言】内存函数与数据在内存中的存储
函数功能特点适用场景memcpy复制内存不处理重叠内存,效率较高非重叠内存的复制memmove复制内存处理重叠内存,安全性高可能重叠的内存复制memset设置内存值按字节操作,用于初始化或填充内存初始化、批量设置值memcmp比较内存按字节比较,返回差值关系任意类型内存的比较符号位:最高位为符号位,0表示正数,1表示负数。数值位:剩余位表示数值大小。正整数:原码、反码、补码完全相同。int a = 5(32位)负整数原码:直接翻译二进制(符号位为1)。
2025-08-02 21:41:47
1443
2
原创 【C语言】字符函数与字符串函数详解
本文详细介绍C语言中字符与字符串处理的库函数。涵盖字符分类函数转换函数,以及strlen、strcpy、strcat、strcmp等字符串函数,还包括带长度限制的strncpy等及strstr、strtok、strerror等函数。阐述各函数功能、使用方法,提供示例及部分函数的模拟实现,助读者掌握这些基础且重要的函数,提升编程效率。
2025-08-01 20:21:25
1618
3
原创 【C语言】深度剖析指针(三):回调机制、通用排序与数组指针逻辑
本文围绕C语言中的回调函数、qsort函数、sizeof与strlen的区别及数组与指针笔试题展开。介绍了回调函数的定义、应用及优势;详解qsort函数的参数、用法、模拟实现;对比sizeof与strlen的特性;通过多个代码示例解析数组与指针相关笔试题,助读者掌握这些关键知识点。
2025-07-31 22:32:04
913
5
原创 【C语言】深度剖析指针(二):指针与数组,字符,函数的深度关联
本文围绕数组与指针的关联展开,解析了数组名的一般含义与特殊情况,以及如何用指针访问数组。阐述了一维和二维数组传参本质,介绍了冒泡排序实现。还讲解了二级指针、指针数组、字符指针、数组指针、函数指针及函数指针数组的定义、初始化、使用及相关应用,如指针数组模拟二维数组、函数指针数组实现转移表简化多分支逻辑等。
2025-07-30 23:47:21
1650
10
原创 【C语言】深度剖析指针(一):内存、地址与指针操作
本文围绕C语言指针展开,先介绍内存基本概念与编址原理,说明内存单元及地址的作用,还有地址总线的功能。接着讲解指针变量相关知识,包括取地址与解引用操作符、指针类型意义及大小。还涉及const修饰指针、指针运算、野指针成因与规避方法,以及assert断言的使用,最后通过实例说明指针的传址调用等应用,全面阐述了指针的核心知识。
2025-07-29 21:58:13
1305
原创 【C语言】百行代码实现扫雷游戏(附源码)
本文介绍了扫雷游戏的设计与实现。采用双棋盘设计,包括存储地雷位置的地雷棋盘和展示给玩家的显示棋盘,通过扩大数组尺寸处理边界问题。解析了头文件定义、核心功能实现及主流程控制代码。还给出运行示例,并提出自动展开空白区域、标记地雷、多难度选择等优化方向。
2025-07-29 13:39:04
1153
5
原创 【C语言】深入理解C语言中的函数栈帧:从底层揭秘函数调用机制
函数栈帧(简称"栈帧")是指当一个函数被调用时,在栈上为其分配的一块独立内存区域。每个函数调用都会创建一个对应的栈帧,函数执行结束后,栈帧会被销毁(出栈)。存储函数的参数;保存返回地址(函数执行完后回到调用者的位置);存储函数的局部变量;保存调用者的栈基指针(ebp),以便函数返回时恢复调用者的栈帧;提供临时数据的存储空间(如表达式计算的中间结果)。特性GCC(x86)栈初始化用填充未初始化区域(调试模式)不主动填充,内存值为随机残留安全机制。
2025-07-26 13:12:53
1524
8
原创 【Java SE】类与对象的认识
本文介绍了面向对象编程中类与对象的核心概念。首先对比了面向过程与面向对象的不同思维方式,通过洗衣机的例子说明面向对象更关注对象间的协作。然后详细讲解了类的定义格式、成员变量和方法的声明方式,以及类的实例化过程。重点阐述了this引用的作用及其特性,解释其作为成员方法隐藏参数的工作原理。最后介绍了对象的构造方法,包括构造方法的重载、默认初始化规则和使用this调用其他构造方法的注意事项。文章通过代码示例展示了如何定义类、实例化对象以及正确使用this引用,帮助读者理解面向对象编程的基本概念和实现方式。
2025-07-23 22:56:21
1024
6
原创 【WEB 】从零实现一个交互轮播图(附源码)
通过html,css和JavaScript搭建轮播图。详细介绍了各个功能如何实现,适合初学者食用
2025-07-22 22:22:00
2672
21
原创 【WEB】BOM 浏览器对象模型解析(二)
本文围绕BOM核心功能展开详解,涵盖五大板块。一是history对象,包括基础导航方法及HTML5新增的pushState、replaceState。二是弹窗与窗口控制,介绍alert等原生弹窗及open、close方法的窗口操作。三是定时器,解析setTimeout和setInterval的用法及this指向问题。四是本地存储,对比localStorage与sessionStorage的异同及操作方法。五是BOM事件,涉及resize、scroll等事件监听。
2025-07-22 08:29:54
739
2
原创 【WEB】BOM 浏览器对象模型解析(一)
本文围绕BOM(浏览器对象模型)展开,介绍其作为JavaScript与浏览器窗口交互接口的核心概念。阐述BOM以window对象为核心的结构,涵盖window、location、navigator、screen等核心对象。详解各对象的属性与方法,如window控制窗口、location操作URL、navigator获取浏览器信息、screen提供屏幕数据,还涉及实战技巧,展现BOM在浏览器交互中的关键作用。
2025-07-21 14:01:48
790
1
原创 【WEB】DOM (五)进阶实践—— 事件处理与性能优化
本文围绕DOM事件处理与性能优化展开。事件处理部分介绍了事件流三阶段,三种绑定方式(HTML属性、DOM属性、addEventListener)及事件对象,还涵盖常见事件类型与事件委托。性能优化则从减少操作次数、避免频繁查询、使用高效选择器等多方面,给出优化策略,助力提升前端性能。
2025-07-21 12:09:14
2955
6
原创 【WEB】DOM (四)核心操作 ——节点操作(增删替换)
本文围绕DOM节点的增删改查展开,详解创建、添加、删除、替换、克隆节点的方法,如createElement创建元素、appendChild添加节点等。还介绍现代方法及兼容性,强调批量操作的性能优化技巧,如用DocumentFragment减少重排,帮助开发者高效掌握DOM节点操作,提升前端交互实现能力。
2025-07-20 20:57:07
810
原创 【WEB】DOM(三)核心操作—— 属性与样式
本文围绕DOM的属性与样式操作展开详细介绍。属性操作方面,涵盖直接操作标准属性的方法,说明其命名规则与注意事项;还讲解了setAttribute、getAttribute等通用方法及data-*数据属性的使用,特别强调class属性可通过className和classList处理。体现样式与行为分离的优势,为DOM操作提供全面指导。
2025-07-20 14:52:26
1140
2
原创 【WEB】DOM (二)核心操作 —— 内容
本文介绍了 JavaScript 中操作 DOM 元素内容的几种方式。innerHTML 可获取或设置元素的 HTML 内容,能解析标签但有性能、事件丢失及 XSS 风险,需转义用户输入。innerText 与 textContent 用于操作文本,前者取可见文本,后者取所有文本。表单元素通过 value 属性操作值,textarea 的 value 与 innerHTML 有区别。这些是 DOM 操作中常见且重要的内容处理方法。
2025-07-20 11:31:11
1070
1
原创 【WEB】DOM (一)基础概念 —— 节点与选择
本文详细解析了DOM(文档对象模型)。首先阐释其核心概念,说明DOM是W3C标准,将文档转为树形结构,作为JavaScript与网页内容的桥梁,并区分了DOM与HTML。接着详解节点类型,包括元素、文本等节点及各自属性,还有元素节点特有属性方法。最后介绍DOM选择访问方法,对比传统与现代方法的特点及适用场景,为不同层次开发者提供了深入理解DOM的内容。
2025-07-19 20:41:07
1548
1
原创 【WEB】 深入了解 JavaScript 对象——从基础到常用内置对象
本文围绕JavaScript对象展开,先阐释对象是键值对集合这一基础概念,再介绍对象字面量、new Object()、构造函数三种创建方式,以及遍历对象、检查属性是否存在的方法。还详细讲解了Math对象的各类数学计算方法,和Date对象的创建、时间戳获取及众多日期时间获取、设置方法,助你全面掌握JavaScript对象相关知识,提升开发效率。
2025-07-18 23:08:24
804
原创 【WEB】JavaScript 字符串、数组与函数详解
本文详解JavaScript中字符串、数组和函数的核心知识。字符串部分介绍了charAt、concat等常用方法;数组部分涵盖定义、增删元素及join等操作;函数部分则讲解定义、调用、参数及作用域等内容。通过实例解析,助力开发者掌握这些基础概念,提升代码能力。
2025-07-14 00:46:11
732
原创 【WEB】JavaScript基础语法从运行机制到核心概念全解析
本文系统梳理了 JavaScript 基础语法知识。首先介绍其运行环境,即浏览器的渲染引擎与 JS 引擎;接着阐述其三大组成部分,包括定义语法标准的 ECMAScript、操作页面元素的 DOM、控制浏览器窗口的 BOM。还讲解了 JS 的三种书写形式及适用场景,分析了变量声明中 var 与 let 的核心区别。此外,详细介绍了 JS 的基本数据类型,特殊数字以及运算符。
2025-07-13 19:57:30
1089
原创 【WEB】CSS过渡,变形与动画详解
本文聚焦CSS中的过渡(transition)、变形(transform)和动画(animation)三大核心特性,解析它们如何为网页赋予动态生命力。文中将梳理三者的基础语法与核心用法:过渡实现元素状态的平滑切换,变形通过旋转、缩放等改变元素形态,动画则支持更复杂的序列式动态效果。同时,结合实用场景对比三者差异,帮助开发者理解何时该用过渡增强交互、何时借变形塑造视觉层次、何时靠动画讲述完整动态故事,最终掌握让网页从静态展示升级为生动交互体验的关键技巧。
2025-07-11 22:26:45
953
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人