自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Java的字符串操作(二)(代码示例)

/ 直接赋值方式定义字符串// 使用new关键字定义字符串// 可以通过打印对象的哈希码来查看是否是同一个对象(在一定程度上反映引用情况)System.out.println("str1的哈希码: " + System.identityHashCode(str1));System.out.println("str2的哈希码: " + System.identityHashCode(str2));在上述代码中,通过直接赋值和使用new。

2024-11-25 18:44:48 281

原创 Java 的字符串操作(一)

这样做的好处是可以节省内存空间,因为如果有多个相同内容的字符串,它们可以共享同一个对象。如果调用该方法的字符串小于参数中的字符串,则返回一个负整数;,这种方式会在堆内存中创建一个新的字符串对象,即使字符串常量池中已经存在相同内容的字符串。,这种方式简单直接,Java 会自动在字符串常量池中查找是否已经存在相同内容的字符串,如果有就直接引用,没有则创建新的字符串对象并放入常量池。实际上引用的是同一个字符串对象,这个对象位于字符串常量池中。这个字符串,也会先在常量池中创建一个,然后再在堆中创建新的对象供。

2024-11-25 18:42:32 655

原创 Java基础语法(一)

包括 byte(1 字节,范围是 - 128 到 127)、short(2 字节,范围是 - 32768 到 32767)、int(4 字节,范围是 - 2147483648 到 2147483647)和 long(8 字节)。:对整数的二进制位进行操作,包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)和无符号右移(>>>)。=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。:是基于哈希表实现的集合,它不允许元素重复,元素的存储顺序是无序的。

2024-11-18 18:48:45 781

原创 HarmonyOS项目开发一多简介

当窗口尺寸变化较大时,仅靠自适应布局可能出现问题,此时需要响应式布局调整页面结构。响应式布局根据特定特征(如窗口宽度)自动变化以适应外部容器变化,主要通过断点、媒体查询和栅格布局实现。

2024-10-28 22:49:08 673

原创 HarmonyOS“一次开发,多端部署”

一套代码工程,一次开发上架,多端按需部署。

2024-10-28 20:05:15 1530

原创 MVP和MVVM架构总结

负责数据的存储、获取和业务逻辑处理。例如,在一个用户管理系统中,Model 层会包含数据库操作,如查询用户信息、更新用户密码等操作相关的代码。它是独立于视图层的,不关心数据如何展示,只专注于数据本身的管理和业务规则的实现。

2024-10-25 11:44:29 1099

原创 鸿蒙模块化

在大型软件工程中,模块化是将复杂系统拆解为功能模块,以提高可维护性和可拓展性。在 HarmonyOS 应用开发中,模块化将应用程序拆分为多个功能模块,功能模块可独立开发、编译和部署,也可在不同设备上灵活组合和调用。在进行模块化设计时,需要考虑HarmonyOS的应用包结构选型,HarmonyOS的应用包结构是为了定义应用的组织方式,通过开发态、编译态、发布态阶段应用程序包的形态,了解到不同包类型对应的使用场景以及使用规则。根据业务设备及诉求选择和设计 Ability 组件。

2024-10-25 11:17:20 786

原创 Java设计模式六大原则

类,它负责用户的所有操作,包括用户信息的获取、更新和删除。即,一个类不应直接访问另一个类的内部成员,而应该通过其公开接口进行交互。即,一个类不应强迫实现不相关的接口,接口应该尽可能小且专注。:在某些情况下,过度使用迪米特法则可能导致不必要的复杂性,产生大量的中间方法和接口。:当子类替代父类时,系统的可扩展性增强,同时也确保了子类的行为不会引发新的错误。:一个类应该只有一个引起它变化的原因,换句话说,一个类只负责一个职责。:如果每个功能都分解到单独的类,可能会导致类数量增加,增加管理复杂度。

2024-10-17 21:48:31 1290

原创 每日一练算法题(顺序串的基本操作)

假定下面所有的串均为顺序串,参数ch、ch1和ch2均是字符型,编写算法依次实现下列操作。① 将串r中所有值为ch1的字符换成ch2的字符。② 将串r中所有字符按照相反的次序仍存放在r中。③ 从串r中删除其值等于ch的所有字符。④ 从串r1中第index个字符起求出首次与串r2相同的子串的起始位置。输入格式:第一行:r第二行:r1第三行:r2第四行:ch ch1 ch2第五行:index输出格式:第一行:操作①结果第二行:操作②结果第三行:操作③结果第

2024-10-17 21:34:16 259

原创 Java面向对象六大设计原则总结1

在Java面向对象设计中,遵循六大原则是确保代码质量、可维护性和可扩展性的关键。这六大原则分别是:单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)和迪米特法则(LOD)。以下是对这六大原则的详细解释,并结合实例进行说明。单一职责原则。对类来说,即一个类应该只负责一项职责。开闭原则。对扩展开放,对修改关闭。在程序需要进行扩展的时候,不能去修改原有代码,使用接口和抽象类实现一个热插拔的效果。里氏替换原则。

2024-10-15 21:55:08 998

原创 每日一练算法题(堆串的基本操作StrReplace(S, T, V))

char *ch;int len;}HString;

2024-10-15 21:45:42 395

原创 每日一练算法题(一元多项式运算器——建立与输出)

【代码】每日一练算法题(一元多项式运算器——建立与输出)

2024-10-09 21:26:04 191

原创 每日一练算法题(循环队列的操作集合(增设tag))

/初始化队列,返回值为指向队列的指针。//队列判空,若为空,则返回1;非空,返回0。//队列判满,若为满,则返回1;非满,返回0。// 元素x入队,若操作成功,则返回1;操作失败,则返回0。// 出队一个元素,若操作成功,则返回1;操作失败,则返回0。说明:循环队列类型定义如下:#define MAXSIZE 4 //队列的最大容量 typedef int ElemType;int rear;//队尾元素的位置 int front;//对头元素的前一个位置 int tag;

2024-10-09 21:19:05 298

原创 每日一练算法题(循环队列的操作集合(只设 rear和quelen))

/队列判空,若为空,则返回1;非空,返回0。//队列判满,若为满,则返回1;非满,返回0。// 元素x入队,若操作成功,则返回1;操作失败,则返回0。// 出队一个元素,若操作成功,则返回1;操作失败,则返回0。#define MAXSIZE 4 //队列的最大容量int rear;//队尾元素的位置int quelen;//队中元素的个数}SeQueue;

2024-10-07 19:03:01 391

原创 每日一练算法题(判断表达式中括号是否匹配)

/判断str中括号是否匹配。其中str是用户传入的参数,其值为带判断表达式。若括号匹配则返回1,否则返回0。int top;}SeqStack;//栈的基本操作函数定义//栈初始化//栈判空//栈判满// 入栈// 出栈// 取栈顶元素。

2024-10-07 19:00:22 722

原创 每日一练算法题(使用栈完成回文判断)

/判断字符串s是否回文。其中s是用户传入的参数,其值为待判断字符串。如果s是回文,则返回值为1,否则返回值为0。特别说明:本题要求使用栈的基本操作完成回文的判断。int top;}SeqStack;//栈的基本操作函数定义//栈初始化//栈判空//栈判满// 入栈// 出栈// 取栈顶元素。

2024-09-28 19:44:01 363

原创 每日一练算法题(队列的操作集合(带尾指针的循环链表))

/初始化队列,返回值为队列的尾指针。//队列判空,若为空,则返回1;非空,返回0。// 元素x入队,若操作成功,则返回1;操作失败,则返回0。// 出队一个元素,若操作成功,则返回1;操作失败,则返回0。

2024-09-28 19:39:12 286

原创 Typescript知识点(超全面)

abstract: 用abstract关键字声明的类叫做抽象类,声明的方法叫做抽象方法抽象类:指不能被实例化,因为它里面包含一个或多个抽象方法。抽象方法:是指不包含具体实现的方法;注:抽象类是不能直接实例化,只能实例化实现了所有抽象方法的子类// 抽象方法console.log(`我的名字是${this.name},年龄是${age}`);let res = new Person("小杜杜") //errorlet res1 = new Child("小杜杜");

2024-09-25 09:30:57 1423

原创 Typescript高级用法

单独使用条件类型可能用处不是很大,但是结合泛型使用时就非常有用。一个常见的用例就是使用带有never类型的条件类型来修剪类型中的值。其中可以是string或null类型,它用于itemName变量。定义一个名为NoNull我们想从类型中剔除null,需要通过条件来检查类型是否包含null当这个条件为true时,不想使用该类型,返回nevernever当这个条件为false时,说明类型中不包含null,可以直接返回Tnever : T;将itemName变量的类型更改为NoNull。

2024-09-25 09:30:27 1107

原创 git入门

百度百科定义是酱紫的~版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。那么,集中化的版本控制系统又是什么呢,说白了,就是有一个集中管理的中央服务器,保存着所有文件的修改历史版本,而协同开发者通过客户端连接到这台服务器,从服务器上同步更新或上传自己的修改。分布式版本控制系统,就是远程仓库同步所有版本信息到本地的每个用户。

2024-09-23 20:30:47 1172

原创 Python入门5(时间模块)

datetime 包括了 date 与 time 的所有信息,格式为:datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0),参数范围值参考 date 类与 time 类。time 类表示由时、分、秒、微秒组成的时间,格式为:time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)。

2024-09-13 19:17:15 1144

原创 Python入门4(列表、元组、字典、集合)

Python 中没有数组,而是加入了功能更强大的列表(list),列表可以存储任何类型的数据,同一个列表中的数据类型还可以不同;列表是序列结构,可以进行序列结构的基本操作:索引、切片、加、乘、检查成员。元组(tuple)与列表类似,但元组是不可变的,可简单将其看作是不可变的列表,元组常用于保存不可修改的内容。当看到字典这个词时,有些人包括我自己在内,首先映入眼帘的便是新华字典我清楚的记得,刚上小学时老师就让每一个学生准备一本新华字典,它的使用大家也应该都清楚,通过拼音、偏旁部首等进行查询;

2024-09-12 20:53:25 1390 1

原创 Python入门3(基本操作)

Python 中,使用数字 n 乘以一个序列会生成新的序列,内容为原来序列被重复 n 次的结果。以字符串为例,如下所示:​​​​​​​。以字符串为例,如下所示:​​​​​​​。下面通过一个示例作进一步了解,以字符串为例,如下所示:​​​​​​​。end:表示切片的结束索引位置(不包括该位置),默认为序列的长度;通过一个例子作进一步了解,以字符串为例,如下所示:​​​​​​​。函数把编码转成相应字符。如下所示:​​​​​​​。简单举几个例子,如下所示:​​​​​​​。以字符串为例,如下所示:​​​​​​​。

2024-09-09 19:40:07 1295

原创 Python入门2(语句)

我有三种数值类型,分别是:整型(int)、浮点型(float)、复数(complex),如果你使用的还是我的低版本 Python2,那么还包含长整型(long)。如下所示:​​​​​​​。如下所示:​​​​​​​。如下所示:​​​​​​​。当需要多次重复执行时,我们要用到循环语句,Python 提供了 for 循环和 while 循环。如下所示:​​​​​​​。使用如下所示:​​​​​​​。使用如下所示:​​​​​​​。我的基本运算见下表,整型和浮点型均支持下表中运算。使用方式如下所示:​​​​​​​。

2024-09-08 22:01:30 1200

原创 Python入门1(标识符、关键字、运算符等)

以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 导入;双下划线开头的标识符,如:__xx,表示私有成员;Python2 中默认编码为 ASCII,假如内容为汉字,不指定编码便不能正确的输出及读取,比如我们想要指定编码为 UTF-8,Python 中通过在开头加入 # -*- coding: UTF-8 -*- 进行指定。**= 幂赋值运算符 a **= b 等效于 a = a ** b。

2024-09-07 16:31:01 601

原创 天气预报程序

Text(`夜间${cast.nightweather}`).fontSize(25).fontColor(Color.Black).fontWeight(FontWeight.Normal)Text('已添加').fontSize(20).fontColor(Color.Black).margin({top:20}).opacity(0.8)Button('完成').fontSize(26).fontColor(Color.Black).backgroundColor('#ff9dcdf6')

2024-08-03 15:50:23 1379 1

原创 简单抽卡系统

本文是一个简单的抽卡系统,当收集到所有卡片即可领取大奖,其中使用了Bage和stack和Grid等方法,还通过透明度图层变化实现页面变更。// badgeColor:'0xfff'圆形底色。Text('恭喜您获得手机一部')Button('再来一次')Button('立即抽卡')Text('恭喜获得卡片')Button('开心收下')

2024-07-31 09:21:10 531

原创 用Devecostudio写一个简单的计算器

在遍历标记的循环中,如果标记是一个数字,则将其转换为数字并压入操作数栈。如果标记是一个运算符,先检查运算符栈顶的运算符优先级是否高于或等于当前运算符。如果是,则从运算符栈和操作数栈中取出相应的元素进行运算,并将结果压入操作数栈。在遍历完所有标记后,如果运算符栈中还有运算符,继续取出进行运算,直到运算符栈为空。总的来说,这个函数实现了对一个四则运算表达式的计算,通过栈来处理运算符的优先级,遵循了常见的表达式求值算法。

2024-07-30 10:25:32 2770

原创 typescript基础语法补充

**原始类型**: `number`, `string`, `boolean`, `null`, `undefined`, `symbol` (ES6+), `bigint` (ES10+).: number): number`- **函数类型**: `function add(x: number, y: number): number`- **成员**: `public`, `private`, `protected`- **数组**: `number[]` 或 `Array`

2024-07-27 11:24:44 689

原创 MySQL基础篇——DDL

只有整数时可以用UNsigned修饰 如age TINYINT unsigned comment 年龄。变长字符串varchar,如varchar(10)则最多为10,小于10则有剩余空间。定长字符串char,如char(10)则占用空间为10,无剩余空间。decimal(标度:数字总位数,精度:小数位数)BLOB表示二进制数据。TEXT表示文本数据。

2024-07-23 16:43:30 551

原创 TS基础语法

/ 因为const声明的变量不能再改变,而str2 是 const 声明的,值只能是 Hello TS,所以类型只能是 Hello TS。z: number }显式any情况:当变量的类型指定为 any 的时候,不会有任何错误,也不会有代码提示,TS会忽略类型检查。类型与类型之间使用 | 连接,代表类型可以是它们当中的其中一种,这种类型叫:联合类型。使用 js字面量 作为变量类型,这种类型就是字面量类型,使用字面量类型更加精确、严谨。当同一类型(复杂)被多次使用时,可以通过类型别名,简化 该类型的使用。

2024-07-21 13:01:49 1073

原创 C语言期末知识点复习6

偏移量为1,接下来存放 int b,偏移量1不是对齐数4 的整数倍,所以向后继续偏移一直到4,4是对齐数4的整数倍,所以将int b存放在偏移地址为4处,占用4个字节;这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体), 联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)。将分配size个大小的空间,然后在调整原内存空间大小的基础上,将原来内存中的数据移动到新的空间,返回值为调整之后的内存起始位置。

2024-06-26 16:59:38 659 2

原创 C语言知识点复习5

(细细体会一下)本例中 &arr 的类型是: int(*)[10] ,是一种数组指针类型数组的地址+1,跳过整个数组的大小,所以 &arr+1 相对于 &arr 的差值是40。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数就是回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。//解释:p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。

2024-06-25 11:46:40 733

原创 C语言知识点复习4

(7 4 1 ==> 共(7-1)/3+1=3次,1-3=-2,即254,继续循环)​ 指针时用来存放地址的,指针类型的变量无论指向目标是什么类型,指针本身在32位平台所占大小都为4个字节,在64位平台是8个字节。6 3 ==> 共(255-5)/3+1=85次(3-3=0,退出循环) 所以总共173次。5 2 ==> 共(254-2)/3+1=85次(2-3=-1,即255,继续循环)//错误,由于const修饰的是q,此时的q的指向不可以进行修改。//在内存中开辟一块空间,左值为空间,右值为内容。

2024-06-24 18:57:03 1827

原创 C语言复习知识点3

/传过去的是二维数组的数组名,即数组首元素的地址,也就是第一行的地址,第一行也是个数组,用一个数组指针接收(比较少用)//此处由于结尾没有'\0',strlen的机制是遇到'\0'即停止,所以在结尾没有'\0'时为随机数。//直接通过""定义字符串时,会自动在结尾补'\0',不需要自行补充,但'\0'依旧会占据一个字节。​ **反码:**正数的反码为原码本身,负数反码符号位不变,剩余的数字位取反;//用数组的形式传递参数,不需要指定参数的大小,传的只是数组首元素的地址。//或char a[]="axd"

2024-06-21 12:30:22 396

原创 C语言知识点复习2

​ 函数声明,要满足先声明后使用的原则,由返回值类型、函数名与函数参数组成(需要加分号), 当我们用到很多函数声明的时候,为了方便我们的调用,我们可以创建一个头文件.h(比如test.h),将函数声明放在头文件当中 ,在写头文件时,要注意加上#pragma once。​ 形参:函数名括号后的变量,因为形参只有在被调用的时候才被实例化并分配空间(形参实例化),在被调用过后即被销毁,只在该函数中有效(局部变量),所以叫形参。​ 表达式1为初始化部分,用于初始化循环变量,当表达式1为空时直接进入循环;

2024-06-15 22:52:02 345 1

原创 C语言知识点复习1

​ 作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。​ 1、整型(int) 四字节,默认有符号(-231-231-1),无符号加unsigned(0-232-1)(十位数);​ 表达式部分为真则执行语句(0为假,非0为真),尽量在每个分支语句后都加{},否则只会执行分支后第一条语句。​ 4、长长整型(long long int), 八字节(-263-263-1),无符号(0-264-1);

2024-06-15 22:38:36 405 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除