自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021自学C++核心编程之运算符重载(八)

运算符重载运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型运算符重载概念看上去比较简单,理解起来却不是很容易到位,下面我们从需求的方面来充分理解这个概念,需求如下:如何将自定义的类创建的三个对象,将其中两个对象进行相加赋值给第三个对象(注意:对象加对象,是指两对象中相同的成员属性的值进行相加)代码示例:#include<iostream>using namespace std;class Person {public: int m_A; in

2021-12-13 07:00:00 317

原创 2021自学C++核心编程之对象初始化(构造函数)和清理(析构函数)以及静态成员(五)

4.2 对象的初始化和清理生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全,同理,C++中创建每个对象也都会有初始设置以及对象使用完销毁前的清理数据的设置,以保证程序安全运行!4.2.1 构造函数和析构函数对象的初始化和清理也是两个非常重要的安全问题一个对象或者变量没有初始状态,对其使用后果是未知反之使用完一个对象或变量,没有及时清理,也会造成一定的安全问题c++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对

2021-11-29 19:04:38 323

原创 2021自学C++核心编程之类和对象特性之一封装(四)

4 类和对象C++面向对象的三大特性为:封装、继承、多态C++以万事万物都皆为对象,对象上有其属性和行为例如:人可以作为对象,其属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌…车也可以作为对象,其属性有轮胎、方向盘、车灯…,行为有载人、放音乐、放空调…具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类4.1 封装4.1.1 封装的意义封装是C++面向对象三大特性之一封装的意义:将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制封装意义

2021-11-29 18:09:59 653

原创 2021他自学C++核心编程之函数重载及函数提升(三)

3.1 函数默认参数在C++中,函数的形参列表中的形参是可以有默认值的,函数参数的默认值就是说在声明函数或者定义函数的时候直接在参数后给赋值,这样在函数调用的时候调用时,函数调用者没有给有默认值的形参传值,它会默认使用它的默认值,反之,函数调用者给所有默认值的形参传值,则形参接受传递的值,不会使用默认值语法格式:返回值类型 函数名 (参数= 默认值){...}示例:#include<iostream>using namespace std;//函数默认值注意事项://1.当函

2021-11-29 17:52:20 567

原创 2021c++核心编程之引用(二)

2.1 引用的基本使用作用: 给目标变量起别名语法规则:数据类型 &引用名 = 目标变量名;特别注意: &不是求地址运算符,而是起标志作用示例:#include<iostream>using namespace std;int main() { //1.定义一个局部变量 int a = 100; //2.给目标变量a取一个别名 int& b = a; //3.输出查看是否引用结果 cout << "a = " <<

2021-10-31 22:37:34 130

原创 2021c++核心编程之内存分区模型(一)

1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程1.1 程序运行前在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域i.代码区作用: 存放CPU执行的机器指令特点:

2021-10-24 21:03:29 111

原创 2021C++基础入门之通讯录管理系统(二)

1、系统需求通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人查找联系人:按照姓名查看指定联系人信息修改联系人:按照姓名重新修改指定联系人清空联系人:清空通讯录中所有信息退出通讯录:退出当前使用的通讯录2、创建项目创建项目步骤如下:创建新项目

2021-10-20 00:42:55 471

原创 2021c++基础入门知识笔记(一)

C++基础入门1 C++初识1.1 第一个C++程序编写一个C++程序总共分为4个步骤创建项目创建文件编写代码运行程序1.1.1 创建项目​ Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开详细步骤如下:1.1.2 创建文件右键源文件,选择添加->新建项给C++文件起个名称,然后点击添加即可。1.1.3 编写代码以下是第一个c++程序,编码格式如下:#include<iostream>using namespace

2021-10-10 22:20:47 671 1

原创 Python安装和环境配置,让你轻松入门学习Python!

1.认识Python1.1Python的诞生和发展1.2 Python的特点Python的设计混合了传统语言的软件工程的特点和脚本语言的易用性,具体如下特性:开源、易于维护可移植易于使用、简单优雅广泛的标准库、功能强大可扩展、可嵌入…Python也存在缺点:运行速度慢Python是解释型语言,运行时翻译为机器码非常耗时,而java、C语言是运行前直接编译成CPU能执行的机器码,但是大量的应用程序不需要这么快的运行素服,因为用户感觉不出来。代码不能加密解释型语言发

2020-09-13 11:49:59 2978 1

原创 Linux命令大全详解,让我们轻松入门学习Linux!

1.最基本常用命令序号命令对应英文作用01lslist查看当前文件夹下的内容02pwdprint wrok directory查看当前所在文件夹03cd [目录名]change directory切换文件夹04touch [文件名]touch如果文件不存在,新建文件05mkdir [目录名]make directory创建目录06rm [文件名]remove删除指定的文件名07clearclear清屏

2020-08-17 08:11:08 13088 19

原创 解决新版本idea(2020)每次创建新项目使用默认maven仓库,改成自己的Maven仓库的的设置

相信大家对于idea中Maven的设置都基本清楚,但使用idea新创建项目的时候,为什么都是默认系统自带的Maven,明明之前就设置了,为什么每次都要手动修改为自己的maven?让我来给你提供帮助!方式一:新建项目已完成,改动Maven仓库位置1.当你的项目新建完成,可以手动修改Maven仓库改成自己的Maven仓库,但唯一缺点就是每次新建项目都要手动改动成自己的Maven仓库,步骤如图:2.注意要修改maven配置文件,不然项目需要的jar下载不到自己设定的Maven仓库中,就相当于没设置方

2020-07-22 20:24:37 13196 2

原创 2021自学C++核心编程之友元(七)

友元生活中你的家有客厅(Public),有你的卧室(Private),客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你和家人能进去,其他人没有允许是不可以进入,但是呢,你也可以允许你的好朋友进去。同理,在程序里,有些类中定义的私有属性,也想让类外特殊的一些函数或者类进行访问,怎么去实现呢?c++中提供了友元的技术,友元的目的就是让一个函数或者类访问另一个类中私有成员,友元的关键字为 friend有以下三种情况实现友元:全局函数做友元类做友元成员函数做友元4.4.1 全局函

2021-12-06 07:00:00 360

原创 2021自学C++核心编程之对象模型和this指针(六)

4.3 C++对象模型和this指针4.3.1 成员变量和成员函数分开存储在C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象上#include<iostream>using namespace std;class Person { //静态成员变量不占对象空间,不属于类对象上 static int mB; //函数也不占对象空间,不属于类对象上 void func() {} //静态成员函数也不占对象空间,不属于类对象上 static void

2021-11-29 19:52:11 676

原创 Oracle数据库从入门到精通,带你轻松入门!

1.什么是数据库?数据库(database,简称DB):用于存放数据的仓库。数据库管理系统(Database Management System,DBMS):指数据库系统中对数据进行管理的软件系统。数据库管理员(database administrator,DBA):是负责对数据进行规划、设计、协调、维护和管理的人员。2.什么是Oracle?Oracle Database,简称Oracle。是美国ORACLE(甲骨文)公司的一款对象关系型的数据库管理系统(ORDBMS)。目前在数据库市场上占有主要

2020-11-09 10:53:46 2759

原创 Ubuntu18.04的完整安装过程,让你轻松学会安装Linux系统!

近期,因为有人私信我,不怎么会装虚拟机和Linux系统,我个人使用的是Ubuntu,对于电脑的适配可以说是已经非常好了。因而本文将带你一起安装这个版本的Ubuntu(18.04)1.安装准备1.Ubuntu18.04镜像推荐去官网下载:https://ubuntu.com/download/desktop下载好了,放在你可以找到的地方2.下载安装Oracle VM VirtualBox官网下载: https://www.virtualbox.org/下载和安装教程,推荐看这篇博客:https:

2020-09-23 07:34:11 1758 1

原创 学习Python对异常处理,让你轻松入门Python!

1.异常简介异常是什么?什么时候会发生异常?话不多说,直接上代码。当打开一个不存在的文件时,对文件操作比较熟悉就知道,一定会报错,不信的话,咱们试试?print("----test1------")f = open("123.txt","r") # 打开123.txt文件print("----test2--------")运行结果:----test1------Traceback (most recent call last): File "F:/pythonProject/pytho

2020-09-20 17:19:03 2445

原创 学习Python对文件操作,让你轻松入门学会Python!

文件,就是把一些数据存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力1.文件的打开和关闭i.打开文件在Python,使用open()函数,可以打开一个已经存在的文件或者创建一个新文件语法格式:open(文件名,访问模式)什么是访问模式,其实就是对文件的权限,是否可读,是否可写,具体如下:访问模式说明r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建

2020-09-20 17:16:44 1539 1

原创 Python函数及变量详解,让我们轻松入门学习Python!

1.函数的概念由若干语句组成的语句块、函数名称、参数列表构成,具有独立功能的代码块称为函数2.函数的作用在结构化编程中,函数是对代码的最基本的封装,一般都是按照功能来封装,封装是为了可以开发程序可以重复使用,减少相同功能代码的冗余,提高编写代码的效率,代码更加简洁,可读性强。3.函数的定义和调用1.定义函数的格式:def 函数名(): 代码块2.调用函数定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它,调用函数很简单的,通过 函数名() 即可完

2020-09-20 08:23:00 1624

原创 Python基本语法,让我们轻松入门学习Python!

1.注释单行注释 :以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用# 我是注释,可以在里写一些功能说明之类的哦print('hello world')多行注释 :以三个单引号’’‘开头,三个单引号’’'结尾,注释内容放在中间'''我是多行注释,可以写很多很多行的功能说明'''print('hello world')2.变量及类型变量可以是任意的数据类型,在程序中用一个变量名表示变量名必须是大小写英文、数字、下划线组成,且不能以数字开头a =

2020-09-20 08:18:00 4634 5

原创 MySQL函数详细讲解,让你轻松入门MySQL

1.单行函数1.字符函数# 显示客户端的字符集SHOW VARIABLES LIKE '%char%';-- 字符函数# length: 获取参数值的字节个数SELECT LENGTH('john');# concat: 拼接字符串SELECT CONCAT(sno,'_',sname) FROM student;# upper:大写 lower: 小写SELECT UPPER('john');SELECT LOWER('HELLO WORLD');# substr、subst

2020-09-15 17:48:48 206

原创 word最常用的快捷键,让你快速上手word

1.window系统常用的快捷键Tab 缩进windows+r :打开运行窗windows+D :回到桌面windos+e :我的电脑windows+1/2/3....:快速打开任务栏数字对应的应用程序或者功能windows+l :lock 电脑屏幕windows+5 : 可以切换一个应用中多个页面之间的切换2.word常用的快捷键1.word的文档命令ctrl+f1 :打开状态栏 ctrl+n :新建文档ctrl+o :打开最近文档ctrl+z :撤销ctrl+y :恢复a

2020-09-06 12:48:01 1111

原创 MySQL分区知识及操作详解(完整版)

1.什么是分区?​ 所谓的分区就是将一个表分解成多个区块进行操作和保存,从而降低每次操作的数据,提高性能,而对应用来说是透明的,从逻辑上看就只是一个表(这里跟分库分表的访问不一样),但是物理上的这个表可能是由多个物理分区组成,每个分区都是一个独立的对象,可以进行独立处理。2.分区目的?1.进行逻辑数据分割,分割数据能够有多个不同的物理文件路径。2.可以保存更多的数据,突破系统单个文件的最大限制。3.提升性能,提高每个分区的读写速度,提高分区范围查询的速度。4.可以通过删除相关分区来快速删除数据

2020-08-10 08:34:32 3540

原创 Linux无法打开锁文件,Permission denied

无法打开锁文件 /var/lib/redis (权限不够)quezhipeng@ubuntu:~$ cd /var/lib/redis-bash: cd: /var/lib/redis: Permission denied解决方案如下:终端输入sudo passwd root重新修改root密码,输入两次输入su输入密码步骤如下:quezhipeng@ubuntu:/$ sudo passwd rootEnter new UNIX password: Retype new U

2020-08-03 13:00:28 1538

原创 快速上手Mybatis之关系映射查询方式

Mybatis07-Mybatis之关系映射查询对于Mysql中最复杂的查询莫过去联表查询,在Mybatis中称为关系映射查询,分为三种:一对一关系映射查询一对多关系映射查询多对多关系映射查询对于环境的搭建,可以使用Mybatis-Spring整合的环境进行,前面的博客有教程!!!1.一对一关系映射查询实现方式一:resultType 实现1.UserDao接口public ...

2020-05-07 08:01:49 443

原创 如何快速上手实现Mybatis代码自动化生成配置

Mybatis06-Mybatis之代码自动化生成配置​ 对于代码自动化生成,我们借助 maven 插件来实现 mybatis crud 基本代码的生成,参考官网地址: http://generator.sturgeon.mopaas.com/index.html ,生成接口,映射文件,实体类,实现基本的CRUD,方便我们使用。配置步骤如下:1.pom.xml添加配置<plugin&...

2020-05-06 08:39:20 225

原创 Mybatis中如何快速上手pagehelper分页插件

Mybatis05-Mybatis之分页插件pagehelper​ 对于数据库的增删查改,Mybatis框架提供了sql映射文件配置,对于从数据库中查出的数据,如果我们想要分页展示,需要写两条sql语句,一条sql查询数据总数,一条sql进行分页,方案可行。如果借用第三方插件,效率更高,方便快捷,可乐而不为呢?1.pagehelper地址:开源中国介绍参考地址:http://w...

2020-05-05 08:53:24 225

原创 如何快速上手进行Mybatis-Spring整合

Mybatis05-Mybatis-Spring整合1.项目目录结构2.构建Maven普通工程:maven-archetype-quickstart3.pom.xml中导入依赖<!--mybatis架包--><dependency> <groupId>org.mybatis</groupId> <artifactId...

2020-05-04 09:27:04 192

原创 Mybatis之动态sql

Mybatis03-Mybatis之动态sql​ 为了更好的处理复杂的sql语句,Mybatis提供了动态的sql,而不需要使用java程序去做sql字符串的拼接,既达到了解耦的作用,也让我们对于sql的书写更加清晰,方便!1.基于XML 标签配置(重点)使用xml配置,如同我上篇博客中的谈到的Mybatis使用加载xml的方式进行增删查改,只是sql语句不同!if 标签<...

2020-05-03 14:51:04 178

原创 快速学习Mybatis之CRUD

Mybatis02-Mybatis之CRUD上一篇博客,我们已经将Mybatis环境搭好了,下面,我们就开始用Mybatis框架对数据库进行增删改查!我们需要在对应的配置文件中添加配置Mybatis框架对数据库进行增删改查有三种方式:第一种方式:使用加载xml的方式去实现CRUD第二种方式:基于接口代理实现CRUD第三种方式:基于注解实现CRUD1.Select标签(采用第一种方式查询...

2020-05-03 08:51:56 188

原创 Mybatis01:Mybatis概念及环境搭建

1.Mybatis概念1.Mybatis特点​ 1.属于持久层框架 持久化(将内存中的对象数据转移到数据库的过程称为持久化)​ Mybatis Hibernate Spring-Data-Jpa​ 2.半自动化 ORM 框架​ ORM:对象关系映射思想​ 面向对象OOP ...

2020-05-02 17:58:30 259

原创 # java基础知识—POI的使用

java基础知识—POIi.POI-Excel写操作1.新建一个maven项目2.添加依赖坐标<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version>&l...

2020-04-28 16:01:11 478

原创 给你推荐如何通俗易懂学习并掌握JDBC(完整版)

java基础知识——JDBC(重点)前言:​ 本人在学习jdbc知识之时,觉得学的懵懵懂懂,踩了很多坑,为了避免犯我同样的错误,我给大家分享一下如何快速学懂jdbc的技巧,要想通俗易懂的学习并掌握jdbc,我们需要先了解数据库驱动,掌握数据库的基本使用和对链表的一些基本理解1.数据库驱动:​ 数据库驱动程序:是一个动态链接库(DLL),用以将特定的开放式数据库连接的数据源和另一度个应用...

2020-04-11 06:49:15 660 1

原创 尝试纯手写java集合类

尝试纯手写java集合类之前学习java集合类,留下了很多问题,最不明白Node是什么?为什么需要使用它?现在我终于懂了!Node节点的重要性每一个链表实际上就是有多个节点所组成,链表就好比火车,都是有一节一节的车厢组成,每一节车厢,既可以载乘客,也提示了下一节车厢和上一节车厢的信息,这就好比是Node,不仅仅是为了保存数据,也是为了保存下/上一个节点的信息,另外,保存的数据,没有办法保存...

2020-03-23 16:08:26 344

转载 Lambda表达式详解(jdk1.8新特性)

Lambda表达式详解1.Lambda简介Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。package com.mage;/** * @param * @author qz...

2020-03-23 13:02:02 297 2

原创 菜鸟自学java之iO流知识笔记(完整版)

java基础iO流1.iO流分类:按照流向分:输入流:数据源到程序(InputStream,Reade读进来)输出流:程序到目的地(OutputStream,Writer写出去)注意:输入和输出不是固定的,而是需要看面向谁而言,是一个相对的概念按照处理单元分:字节流 以字节的方式将数据读入或者是写出到某一端。字符流 以字符的方式将数据读入或者是写出到某一端。原...

2020-03-13 16:21:24 435

原创 java泛型知识总结

java泛型知识总结1.泛型产生的背景?​ java推出泛型以前,程序员可以构建一个元素类型为Object的集合,该集合可以存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数据类型,否则很容易引发ClassCastException异常如下图代码实例:package com.mage.domo1;import java.util.ArrayLi...

2020-02-20 08:49:43 228

转载 MyBatis中foreach使用详细总结

MyBatis的foreach语句详解foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,closeitem集合中每一个元素进行迭代时的别名index表示在迭代过程中,每次迭代到的位置open该语句以什么开始separator在每次进行迭代之间以什么...

2020-02-16 17:21:19 391

转载 IDEA连接mysql报错Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property

目录错误界面解决方案第一,设置mysql时区。第二,同步mysql驱动。前进的道路充满荆棘。错误界面IDEA连接mysql,地址,用户名,密码,数据库名,...

2020-02-05 23:38:40 195

原创 MySQL规范数据库设计及三范式——(十一)

MySQL规范数据库设计及三范式1.为什么需要设计数据库?简单的数据库可能不需要设计,当数据库比较复杂的时候,我们就需要设计了,同时,设计良好的数据库对于将来维护和使用都有好处2.糟糕的数据库设计和良好数据库设计对比糟糕的数据库设计 :数据冗余,存储空间浪费,比如:多张表出现相同的字段数据插入、更新、删除都会产生异常或者过程比较繁琐比如:使用物理外键,尽量避免使用物理外键程序性能差...

2020-02-04 15:58:54 359

原创 MySQL备份——(十)

MySQL备份——(十)1.为什么要MySQL备份?保证重要数据不丢失数据转移2.MySQL备份方式方式一:直接拷贝物理文件data文件夹方式二:在navicat可视化软件中手动导出或者转储sql文件选择导出的数据库或者表,右键,选着导出向导或者转储sql文件导出向导导出选择sql脚本导出,且只能是表中数据,不包含表结构,可以选择包含列的标题,导出的都是sql语句(数...

2020-02-03 12:02:41 321

空空如也

空空如也

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

TA关注的人

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