自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql使用技巧

【代码】Mysql使用技巧。

2024-10-26 16:53:49 155

原创 Java面向对象

面向对象编程(Object-Oriented Programming,OOP)是一种软件开发的方法论和编程范式,它将现实世界中的实体抽象为对象,通过对象之间的交互来实现程序的设计和开发。在面向对象编程中,程序的核心思想是将系统看作是一组相互作用的对象集合。每个对象都具有特定的属性(数据)和行为(方法),对象之间通过消息传递进行交互,以实现系统的功能。

2023-09-28 22:47:05 415

原创 Java面向对象高级

关键字abstract用于声明抽象类和抽象方法抽象类:抽象类是用abstract关键字声明的类。抽象类不能被实例化,即不能创建抽象类的对象。抽象类可以包含抽象方法、普通方法、静态方法、构造方法和成员变量。抽象类可以有构造方法,但不能直接通过构造方法创建对象,只能通过其子类来创建对象。抽象类可以拥有抽象方法和非抽象方法的具体实现。抽象类可以被继承,子类需要实现抽象类中的所有抽象方法或声明自身为抽象类。抽象方法:抽象方法是用abstract关键字声明的方法,没有方法体。

2023-09-26 21:01:04 575 1

原创 Java高级应用——异常处理

Java高级应用——异常处理

2023-09-26 20:57:26 415

原创 Java高级应用——多线程

Java高级应用——多线程

2023-09-26 20:55:06 819

原创 Java高级应用——常用类(String类)和(Comparator排序)

Java高级应用——常用类(String类)和(Comparator排序)

2023-09-26 20:49:11 605

原创 Java高级应用——泛型

类型参数:Java泛型使用类型参数(Type Parameters)来表示泛型类型。类型参数用尖括号(<>)括起来,放在类、接口、方法的名称后面。例如,List<T>中的T就是一个类型参数。泛型类:通过在类的定义中使用类型参数,可以创建泛型类。泛型类可以在实例化时指定具体的类型参数。例如,List<T>就是一个泛型类,可以用表示整数类型的列表,用表示字符串类型的列表。泛型接口:与泛型类类似,可以定义泛型接口。泛型接口可以在实现时指定具体的类型参数。例如,

2023-09-26 20:47:07 1069

原创 Java高级应用——集合框架

Java高级应用——集合框架

2023-09-26 20:43:52 222

原创 Java基础知识

(1)当将存储范围小的值(常量值、变量的值、表达式计算的结果值)赋值给存储范围大的变量时,通常会发生隐式类型转换(implicit type conversion)或称为自动类型转换(automatic type conversion)。较两个浮点数是否相等,只需要判断它们的差的绝对值是否小于一个极小的数值(如0.0001),若小于该数值,则认为两个浮点数相等。(1)当把存储范围大的值(常量值、变量的值、表达式计算的结果值)强制转换为存储范围小的变量时,可能会。//进而,如下的声明中l的值到底是123?

2023-09-26 17:12:50 185

原创 IntelliJ IDEA 常用快捷键一览表

提高开发效率,IntelliJ IDEA 常用快捷键一览表

2023-09-26 17:07:50 431

原创 图像处理--边缘检测算子

2*2大小的模板在概念上很简单,但是他们对于用关于中心点对称的模板来计算边缘方向不是很有用,其最小模板大小为3*3。上述所有算子都是通过求一阶导数来计算梯度的,用于线的检测,在图像处理中,通常用于边缘检测。Sobel算子是在Prewitt算子的基础上改进的,在中心系数上使用一个权值2,相比较Prewitt算子,Sobel模板能够较好的抑制(平滑)噪声。模板中心位置的数字是-8而不是-4,是因为要使这些系数之和为0,当遇到恒定湖对区域时,模板响应应将0。

2023-07-04 13:07:59 1355

原创 P1177 快速排序 P1923 快排+选排

原题链接:洛谷 P1177https://www.luogu.com.cn/problem/P1177思路不必多说代码#include <iostream>using namespace std;const int N = 100010;int q[N];void quick_sort(int q[], int l, int r) { if (l >= r)return; int i = l - 1, j = r + 1, x = q[l + r >>

2022-04-07 06:30:00 549 1

原创 P962 矩阵快速幂初级应用:斐波那契数列

原题链接:洛谷 P1962https://www.luogu.com.cn/problem/P1962解题思路:用到了矩阵快速幂的想法,首先就是推导出 矩阵递推式。先来几个模板:矩阵乘法模板:缺点:运算了m*n*s次#include <iostream>using namespace std;const int mod = 1e7 + 10, N = 100;int ans[N][N], a[N][N], b[N][N];int m, n, s;v..

2022-04-04 11:25:26 1083

原创 P4057 最小公倍数

原题链接:洛谷 P4057https://www.luogu.com.cn/problem/P4057输入样例·12 3 5输出样例·130解题思路:先找出最大质因数,然后两数相乘除以最大质因数就得到最小公倍数最大质因数:欧几里得算法(辗转相除法)(__gcd())代码#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>using namespace std;typedef long l

2022-04-04 06:00:00 260

原创 P1604 任意进制数相加

原题链接:洛谷 P1604https://www.luogu.com.cn/problem/P1604输入样例·14123321输出样例·11110解题思路输入使用字符串存储,注意32进制包含多个字母。使用高精度加法,注意考虑进制的概念:十进制满十进一,十六进制满十六进一,三十二进制满32进一......代码#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>#include <ve

2022-04-04 06:00:00 368

原创 P1226 快速幂

原题链接:洛谷 P1226https://www.luogu.com.cn/problem/P1226输入样例·12 10 9输出样例·22^10 mod 9=7解题思路:大概意思就是巧用二进制和指数乘法的运算,实现快速求幂的目的。代码#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>using namespace std;long long a, b, k;long long ..

2022-04-03 14:49:31 554

原创 P2142 高精度减法

原题链接:洛谷 P2142https://www.luogu.com.cn/problem/P2142输入样例·121输出样例·21思路:想象减法竖式,用代码实现:考虑大小(长度)的比较,大的优先做被减数,小的优先做减数,最后输出结果判断是否加上负号一、<vector>(没过完样例)#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>#include <vector>us

2022-04-03 14:42:55 346

原创 P1601 A+B(高精度)

原题目链接:洛谷 P1601输入样例·1:11输出样例·1:2输入样例·2:10019099输出样例·2:10100思路:数字太大,使用高精度加法,要考虑进位机制。一、<vector>(但是没过完样例)#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>#include <vector>using namespace std;vector&lt

2022-04-03 14:34:06 280

原创 数学知识:快速幂

题目给定组,对于每组数据,求出 的值。输入格式第一行包含整数 。接下来 行,每行包含三个整数。输出格式对于每组数据,输出一个结果,表示 的值。每个结果占一行。数据范围1≤≤1000001≤≤2×输入样例:23 2 54 3 9输出样例:41的三种情况:1. 如果 2.如果 为奇数3.如果 为偶数 同时,对于模运算有一个重要结论:AB % K= (A%K) * (B%K) % K代...

2022-03-28 21:40:27 243

原创 C++ 指针与数组(第六章)

目录用指针访问数组元素用指针访问数组元素数组是一组连续存储的同类型数据,可以通过指针的算术运算,使指针依次指向数组的各个元素,进而可以遍历数组。定义指向数组元素的指针 定义与赋值 例:int a[10], *pa; pa=&a[0]; 或 pa=a; 等效的形式 经过上述定义及赋值后 *pa就是a[0],*(pa+1)就是a[1],...,*(pa+i)就是a[i].a[i],*(pa+i),*(a+i),pa[i...

2022-01-16 06:00:00 232

原创 C++ 数组的定义与使用(第六章)

目录数组的定义与使用数组的定义数组的使用例6-1数组的存储与初始化一维数组的存储一维数组的初始化二维数组的存储二维数组的初始化例:求Fibonacci数列的前20项一维数组应用举例数组的定义与使用 数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。 数组的定义 例如: int a[10]; 表示a为整型数组,有10个元素:a[0]...a[9] 例如: int a[5][.

2022-01-15 06:00:00 2292

原创 C++ 多文件结构和编译预处理命令(第五章)

目录多文件结构和编译预处理命令C++程序的一般组织结构例 5-10 多文件的工程外部变量外部函数将变量和函数限制在编译单元内标准C++库编译预处理l#include 包含指令l#define 宏定义指令l#undef条件编译指令——#if 和 #endif条件编译指令——#else条件编译指令——#elif条件编译指令多文件结构和编译预处理命令C++程序的一般组织结构l一个工程可以划分为多个源文件:n类声明文件(...

2022-01-14 06:00:00 515

原创 C++ 指针的定义和运算(第六章)

指针的概念、定义和指针运算内存空间的访问方式 通过变量名访问 通过地址访问 指针的概念 指针:内存地址,用于间接访问内存单元 指针变量:用于存放地址的变量 指针变量的定义 例: static int i;static int* ptr = &i; 例: *ptr = 3;与地址相关的运算——“*”和“&” 指针运算符 地址运算符:& 指针的初始化和赋值指针变量的初始化 语

2022-01-14 06:00:00 238

原创 C++ 类的友元(第五章)

目录类的友元友元函数例5-6使用友元函数计算两点间的距离友元类类的友元关系是单向的类的友元友元是C++提供的一种破坏数据封装和数据隐藏的机制。通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息。可以使用友元函数和友元类。为了确保数据的完整性,及数据封装与隐藏的原则,建议尽量不使用或少使用友元。友元函数友元函数是在类声明中由关键字friend修饰说明的非成员函数,在它的函数体中能够通过对象名访问private和p...

2022-01-13 06:00:00 184

原创 C++ 共享数据的保护(第五章)

共享数据的保护l对于既需要共享、又需要防止改变的数据应该声明为常类型(用const进行修饰)。l对于不改变对象状态的成员函数应该声明为常函数。常类型l常对象:必须进行初始化,不能被更新。nconst 类名 对象名l常成员n用const进行修饰的类成员:常数据成员和常函数成员l常引用:被引用的对象不能被更新。nconst 类型说明符 &引用名l常数组:数组元素不能被更新(详见第6章)。n类型说明符 const ...

2022-01-13 06:00:00 328

原创 C++ 对象的生存期(第五章)

目录静态生存期动态生存期例5-2变量的生存期与可见性例5-2(续)静态生存期这种生存期与程序的运行期相同。在文件作用域中声明的对象具有这种生存期。在函数内部声明静态生存期对象,要冠以关键字static。动态生存期块作用域中声明的,没有用static修饰的对象是动态生存期的对象(习惯称局部生存期对象)。开始于程序执行到声明点时,结束于命名该标识符的作用域结束处。例5-2变量的生存期与可见性#include<iostream>using n.

2022-01-12 06:00:00 267

原创 C++ 类的静态成员(第五章)

目录l静态数据成员l例5-4 具有静态数据成员的Point类运行结果:静态函数成员例5-5具有静态数据、函数成员的 Point类l静态数据成员n用关键字static声明n为该类的所有对象共享,静态数据成员具有静态生存期。n必须在类外定义和初始化,用(::)来指明所属的类。 l例5-4 具有静态数据成员的Point类//5_4.cpp#include <iostream>using namespace std;class...

2022-01-12 06:00:00 339

原创 C++ 枚举类(强类型枚举)(第四章)

目录枚举类定义枚举类的优势例4-9枚举类举例枚举类定义l语法形式enum class 枚举类型名: 底层类型 {枚举值列表};l例:enum class Type { General, Light, Medium, Heavy};enum class Type: char { General, Light, Medium, Heavy};enum class Category { General=1, Pistol, MachineGun, Cannon};...

2022-01-11 06:00:00 306

原创 C++ 标识符的作用域与可见性(第五章)

标识符的作用域与可见性 作用域是一个标识符在程序正文中有效的区域。 作用域分类 函数原型作用域 局部作用域(块作用域) 类作用域 文件作用域 命名空间作用域(详见第10章)函数原形作用域 函数原型中的参数,其作用域始于"(",结束于")"。 函数原形作用域举例double area(double radius);局部作用域 函数的形参、在块中声明的标识符;...

2022-01-11 06:00:00 317

原创 C++ 面向对象程序的基本特点(第四章)

l程序中的对象是现实中对象的模拟,具有属性和功能/行为;l抽象出同一类对象的共同属性和行为,形成类,对象是类的实例;l类将数据和处理数据的函数封装在一起,隐藏内部细节,提供对外访问接口;l定义对象时,可以通过构造函数进行初始化;l删除对象时,可以通过析构函数释放资源;l一个类的对象可以由其他类的对象组合而成,即类的成员可以是其他类的对象;l在这一章,我们还将学习结构体、联合体和枚举类。面向对象程序设计的基本特点抽象l对同一类对象的共同属性和...

2022-01-10 06:00:00 146

原创 C++ 类的组合(第四章)

类的组合组合的概念类中的成员是另一个类的对象。可以在已有抽象的基础上实现更复杂的抽象。类组合的构造函数设计原则:不仅要负责对本类中的基本类型成员数据初始化,也要对对象成员初始化。声明形式:类名::类名(对象成员所需的形参,本类成员形参):对象1(参数),对象2(参数),......{//函数体其他语句}构造组合类对象时的初始化次序首先对构造函数初始化列表中列出的成员(包括基...

2022-01-10 06:00:00 428

原创 C++ 构造函数(第四章)

目录构造函数基本概念构造函数的作用构造函数的形式构造函数的调用时机默认构造函数隐含生成的构造函数“=default”例4_1修改版1例4_1修改版2委托构造函数回顾委托构造函数复制构造函数复制构造函数定义隐含的复制构造函数“=delete”复制构造函数被调用的三种情况例 4-2 Point 类的完整程序析构函数构造函数基本概念构造函数的作用 在对象被创建时使用特定的值构造对象,将对象初始化为一个特定的初始状态。

2022-01-09 06:00:00 395

原创 C++ 结构体和联合体(第四章)

结构体 结构体是一种特殊形态的类 与类的唯一区别:类的缺省访问权限是private,结构体的缺省访问权限是public 结构体存在的主要原因:与C语言保持兼容 什么时候用结构体而不用类 定义主要用来保存数据、而没有什么操作的类型 人们习惯将结构体的数据成员设为公有,因此这时用结构体更方便 结构体的定义struct 结构体名称 { 公有成员protected: 保护型成员private: 私有成

2022-01-09 06:00:00 304

原创 C++ C++11给的新函数(第三章)

目录内联函数例3-14内联函数应用举例constexpr函数constexpr函数语法规定constexpr函数举例内联函数l声明时使用关键字inline。l编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。l注意:n内联函数体内不能有循环语句和switch语句;n内联函数的定义必须出现在内联函数第一次被调用之前;n对内联函数不能进行异常接口声明。例3-14内联函数应用举例#include <...

2022-01-08 06:00:00 139

原创 C++ 类和对象(第四章)

类和对象的定义l对象是现实中的对象在程序中的模拟。l类是同一类对象的抽象,对象时类的某一特定实体。l定义类的对象,才可以通过对象使用类中定义的功能。设计类就是设计类型l此类型的“合法值”是什么?l此类型应该有什么样的函数和操作符?l新类型的对象该如何被创建和销毁?l如何进行对象的初始化和赋值?l对象作为函数的参数如何以值传递?l谁将使用此类型的对象成员?类定义的语法形式class 类名称{ public:...

2022-01-08 06:00:00 130

原创 C++ 带默认参数值的函数(第三章)

目录默认参数值默认参数值的说明次序默认参数值与函数的调用位置例3-15计算长方体的体积源代码默认参数值l可以预先设置默认的参数值,调用时如给出实参,则采用实参值,否则采用预先设置的默认参数值。l例:int add(int x = 5,int y = 6) { return x + y;}int main() { add(10,20); //10+20 add(10); //10+6 add(); ...

2022-01-07 06:00:00 1174

原创 C++ 系统函数(第三章)

系统函数lC++的系统库中提供了几百个函数可供程序员使用,例如:n求平方根函数(sqrt)n求绝对值函数(abs)l使用系统函数时要包含相应的头文件,例如:cmath例3-17系统函数应用举例l题目:n从键盘输入一个角度值,求出该角度的正弦值、余弦值和正切值。l分析:n系统函数中提供了求正弦值、余弦值和正切值的函数:sin()、cos()、tan(),函数的说明在头文件cmath中。l源代码#include <io...

2022-01-07 06:00:00 1401

原创 C++ 含有可变参数的函数(第三章)

目录含有可变参数的函数initializer_list提供的操作initializer_list的使用方法initializer_list使用举例含有可变参数的函数C++标准中提供了两种主要的方法 如果所有的实参类型相同,可以传递一个名为initializer_list的标准库类型; 如果实参的类型不同,我们可以编写可变参数的模板(第9章)。 initializer_list initializer_list是一种标准库类型,用于表示某种特定类型的值的数组,

2022-01-06 06:00:00 247

原创 C++ 函数重载(第三章)

函数重载的概念 C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆。 例: 注意事项 重载函数的形参必须不同:个数不同或类型不同。 编译程序将根据实参和形参的类型及个数的最佳匹配来选择调用哪一个函数。 不要将不同功能的函数声明为重载函数,以免出现调用结果的误解、混淆。这样不好: 例3-16重载函数应用举例 编写两个名为sumOfSquare的重载函数,分别求两整数的平方和

2022-01-06 06:00:00 286

原创 C++ 嵌套与递归(第三章)

目录函数的嵌套调用嵌套调用例3-7 输入两个整数,求平方和函数的递归调用定义例:计算n!例如,计算4!的两个阶段:例3-8 求n!源代码:运行结果:例 3-9 用递归法计算从 n 个人中选选 k 个人组成一个委员会的不同组合数。 分析源代码:运行结果:例3-10汉诺塔源代码:运行结果:函数的嵌套调用 嵌套调用例3-7 输入两个整数,求平方和#include <iostream>using n

2022-01-05 06:00:00 554

空空如也

空空如也

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

TA关注的人

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