![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础笔记
文章平均质量分 92
技术大黍-曾老师
这个作者很懒,什么都没留下…
展开
-
QML编程--学习Qt开发
QML编程--学习Qt开发作者:老九—技术大黍社交:知乎公众号:老九学堂(新人有惊喜)特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系笔者授权前言本讲义代码是使用Qt 6版本执行通过的,请大家放心使用。什么是QML我来参考翻译一下:QML是一种Qt Meta-object Language的缩写。它是一种声明式编程语言,并且它是Qt框架的一个组成部分。QML的主要功能是让开发人员快速、便捷地开发出用户界面,这些界面包括了桌面应用、移动设备和嵌入式就用的界转载 2021-05-12 10:43:46 · 741 阅读 · 0 评论 -
【老九】【Python】文件操作与异常处理
计算机中的文件:相关记录或放在一起的数据集合。open()函数:用来创建一个文件对象并使用这个对象的read()和write()方法读写数据。 file_object = open(file_path,mode) 文件操作的基础模式有三种:1、r模式为read(默认操作);2、w模式为write; 3、a模式为append。 文件读写内容的格式有两种:1、t模式为text;2、b模式为bytes。需要注意的是...原创 2020-11-04 13:46:54 · 420 阅读 · 0 评论 -
【老九】【Python】面向对象的继承与多态
OOP(Object Oriented Programming) 万物皆对象 是一种对现实世界理解和抽象的方法 封装、继承、多态对象:对象是存在的具体实例,具有明确的而状态(属性)和行为(方法)继承: 注意:super().__init__()调用父类的初始化方法 构造方法不可继承 父类私有属性在子类中不能直接访问 继承关系是一种is-a的关系,比如战士是英雄。 支持多继承。(建议慎用)...原创 2020-11-04 13:43:33 · 123 阅读 · 0 评论 -
【老九】【Python】面向对象深入类的设计
str类:字符串对象是不可变对象,一旦创建了字符串,其内容就是不可变的。比较 ==:比较的是两个对象的值。 is:比较的是两个对象的地址。代码块缓存机制在执行同一个代码块的初始化对象命令时,会重用已存在的值 代码块缓存机制适用范围:int、float、str、bool 代码块:一个模块、一个函数、一个类、一个文件都算是一个代码块 如果是交互方式,每输入一条命令就是一个代码块number类型上面的num1和num2的id是一...原创 2020-11-04 13:41:33 · 242 阅读 · 1 评论 -
【老九】【Python】对象和类
OOP(Object Oriented Programming),面向对象程序设计OOP的优点:达到的了软件工程的三个主要目标:重用性、灵活性、扩展性使用面向对象思想描述现实世界基本步骤(数据抽象:是状态和行为的结合)发现类 找出特征(名词)(属性) 找出行为(动词)(函数)定义类(类是模板是对象的设计图,对象是类的实体)类会提供一个特殊的方法: __init__(构造方法),被称为初始化程序,它在创建和初始化这个新对象时被调用。主要是设置属性 定义了类后,...原创 2020-11-04 11:59:10 · 152 阅读 · 0 评论 -
【老九】【Python】函数与模块
函数与模块if __name__ == ‘__main__’: #模拟程序的入口,一个编程的良好习惯函数(function):是为完成一个操作而组合在一起的语句组好处:1、可以省去编写重复代码的苦闷 2、可以组织和简化编码 3、提高代码可读性 分类:1、内置函数(官方文档:https://docs.python.org/zh-cn/3/library/functions.html)...原创 2020-11-04 11:55:07 · 178 阅读 · 0 评论 -
【老九】【Python】列表及常用操作及算法实现
列表可以存储任意大小的数据集合 列表是Python中的一种数据类型 列表中既可以包含同类型元素,也可以包含不同的类型元素(推荐使用同类型) 使用list类定义的序列,包括了创建、操作和处理列表的方法 下表中的list4不能成功,使用range的话必须使用推导式来生成才行推导式:my_list7 = [i for i in range(10)] my_list8 = [num for n...原创 2020-11-03 12:09:14 · 394 阅读 · 0 评论 -
【老九】【Python】程序控制结构值循环结构
循环:事物周而复始、往复相乘的运转或变化while 循环条件: 循环体(包含循环变量的更新)循环三要素:循环变量的初值,循环变量的判断,循环变量的更新,(先判断在执行)注意:1、循环变量不更新会造成死循环。 2、Python中没有do-while结构,可以定义变量赋予一个初值,这个初值满足我们的 循环条件,然后在循环体中进行进行变量更新。达到先执行后判断的效果 3、循环控制中不要使用浮点数来...原创 2020-11-03 12:06:29 · 251 阅读 · 0 评论 -
【老九】【Python】运算符与选择结构
运算符:赋值运算符、算数运算符、比较运算符、逻辑运算符表达式:符号与操作数的组合布尔类型:布尔类型的取值为True/False,python中使用1表示True,0表示False。(使用bool进行转换时,0为False,非0为True) 命名规范:布尔类型建议使用is开头补充:python中,空字符串、None、0都被看成False,其他数字和非空字符串看成True比较运算符:>,<,>=,<=,==(两个值是否相等),!=(两个值是...原创 2020-11-03 11:59:58 · 298 阅读 · 1 评论 -
【老九】【Python】Python中的变量、表达式与运算符
print使用”,”号进行拼接的时候,会在”,”号位置留下一个空格,将”,”前后的数字自动转化为字符串print使用”+”号进行拼接的时候类型必须是str,不是的话使用str()进行转换。type()可以测试某个变量的类型 比如:type(124)in当定义变量时,需要取一个名字并解释其用途。Python变量命名的基本原则 必须以字母或下划线开头,其它字符只能是字母、数字以及下划线 不能使用特殊符号,比如空格、#、&等...原创 2020-11-03 11:54:29 · 350 阅读 · 0 评论 -
【老九】【Python】Python历史与常识介绍
计算机程序:是告诉计算机该做什么的指令集合。计算机语言发展阶段分为3个阶段:机器语言、汇编语言、高级语言。Python:1990年荷兰的Guido van Rossum设计并领导开发,最受欢迎的开源编程语言之父,数字时代的传奇英雄。取名为Python是因为喜欢《巨蟒剧团值飞翔的马戏团》这部剧。Python应用场景:web开发;操作系统与管理、服务器运维的自动化脚本;网络爬虫;云计算、科学计算、数据分析、机器学习、数据可视化、人工智能。Python优点:简单易学、免费、开...原创 2020-11-03 11:46:37 · 813 阅读 · 0 评论 -
【老九】【Java】读取Properties文件的几种方法
1.使用java.util.Properties类的load()方法示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));Properties p = new Properties();p.load(in);2.使用java.util.ResourceBundle类的getBundle()方法示例: ResourceBundle rb = ResourceBundle.getBundle(name,原创 2020-10-27 22:01:45 · 145 阅读 · 0 评论 -
【老九君】【Java】集合框架
今天我们来简单的了解下Java中的集合框架,其实集合就是将若干用途相同、近似的“数据”结合成一个整体。集合从体系上分为三种:(1) 列表(List):List集合区分元素的顺序,允许包含相同的元素。(2) 集(Set):Set集合不区分元素的顺序,不允许包含相同的元素。(3) 映射(Map):Map集合保存的”键”-“值”对,“键”不能重复,而且一个“键”只能对应一个“值”,所有的内容是以:key->value 的形式保存的。。Java集合中只能保存引用数据类型,也就是保存的是对象的地址原创 2020-10-27 21:59:51 · 184 阅读 · 0 评论 -
【老九君】【Java】小议PrintStream和PrintWriter
今天我们来简单了解下PrintStream和PrintWriter这两个类的几点区别:区别一:PrintStream主要操作byte流,而PrintWriter用来操作字符流。读取文本文件时一般用后者。Java的一个字符(char)是16bit的,一个byte是8bit的。PrintStream是写入一串8bit的数据的,PrintWriter是写入一串16bit的数据的。String缺省是用UNICODE编码,是16bit的。因此用PrintWriter写入的字符串,跨平台性...原创 2020-10-27 21:57:22 · 433 阅读 · 0 评论 -
【老九君】【Java】对象访问及其原理
Java中的对象访问,一般会涉及到Java栈、Java堆、方法区这三个内存区域。比如下面这句代码:ObjectobjectRef=newObject(); 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个reference类型数据出现。而“new Object()”这部分将会反映到Java堆中,形成一块存储Object类型所有实例数据值的结构化内存,...原创 2020-10-27 21:56:02 · 113 阅读 · 0 评论 -
【老九君】【Java】各类排序算法
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。内排序有可以分为以下几类:(1) 插入排序:直接插入排序、二分法插入排序、希尔排序。(2) 选择排序:简单选择排序、堆排序。(3) 交换排序:冒泡排序、快速排序。(4) 归并排序(5) 基数排序当然,所需要辅助空间最多的是:归并排序所需要辅助空间最少的是:堆排序平均速度最快的:肯定是快速排序啦具有不稳定..原创 2020-10-26 14:30:06 · 314 阅读 · 0 评论 -
【老九】【Java】小议蛇形矩阵
描述: 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入正整数n(n不大于100)输出,输出一个n行n列的蛇形矩阵。例如5行5列蛇形矩阵输出为:1 3 6 10 152 5 9 14 164 8 13 17 227 12 18 21 23 11 19 20 24 25类似于前面的输出螺旋矩阵的方法,每一次在数组中填写新的数字都有一个方向,与输出螺旋数组不同的是不是简单的上下左右四个方向,这里涉及...原创 2020-10-26 14:28:11 · 238 阅读 · 0 评论 -
【老九】【Java】随机数详解
在我们的Java课程中通过游戏案例,我们通过随机数来对每次的攻击伤害值进行了一个赋值,那么Java中还有哪些方法可以产生随机数呢?Java中产生随机数的几种方式,随机数的概念从广义上讲,有三种:1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。【PS:这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,我们可以拿它作为一个随机数,拿它对一些数取模,就可以得到我们想要的一些范围内随机数】...原创 2020-10-26 14:22:43 · 336 阅读 · 0 评论 -
【老九】【Java】位运算符
1、Java中的位运算符(操作符) 位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.1 .与运算符与运算符用符号“&”表示,其使用规律如下:只有对应的两个二进制位均为1时,结果才为1。例如,9&5,即00001001&00000101=00000001public class D..原创 2020-10-26 14:12:09 · 516 阅读 · 0 评论 -
【老九】【Java】运算符优先级
我们先后学习了不同的运算符,通过运算符我们的能进行各种不同的操作实现自己的想要的效果,但是此时还存在一个问题,当在一个表达式中,有可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象.由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算,这是因为,在当表达式含有多种运算符的时候,必须要按照一定的顺序进行结合才能保证运算的正确,也就是说,各运算符之间有一定的优先级,你只要掌握了它们的优先级,就能完美的实现自己想要的结果。 优先级[由高到低] ...原创 2020-10-26 14:34:27 · 133 阅读 · 0 评论 -
【老九】【Java】小议转义字符
今天我们给小伙伴们简单的补充下转义字符相关的知识,在Java中的字母前面加上反斜线"\"来表示常见的那些不能显示的ASCII字符,我们称之为转义字符。如\0,\t,\n等,就称为转义字符。那么我们来看看下面这个例子:假如你想在输出时显示如下带引号的信息,你能编写如下所示的这条语句吗?System.out.println("老九君说:"小伙伴你好!" ");答案是肯定的:不能!因为这条语句有语法错误。编译器会认为第二个引号字符就是这个字符串的结束标志,而不知道如何处理剩余的...原创 2020-10-24 11:54:47 · 110 阅读 · 0 评论 -
【老九学堂】【Java】小议计算机内存&字节
内存计算机内存是由一个有序的字节序列组成,用于存储程序及程序需要的数据。你可以将内存想象成计算机执行程序的工作区域。一个程序和它的数据在被CPU执行前必须移到计算机的内存中。每个字节都有一个唯一的地址,如图1所示:使用这个地址确定字节的位置,以便于存储和获取数据。因为可以按任意顺序存取字节,所以内存也被称为随机访问存储器(Random-Access Memory,RAM)。现在的个人计算机通常至少有4GB的RAM,但是它们一般装有6~8GB的内存。通常...原创 2020-10-24 11:53:39 · 171 阅读 · 0 评论 -
【老九学堂】【Java】再议printf函数
System.out.printf() 是在JDK1.5版开始引入的方法,即在JDK1.5以后的版本才可以使用此函数,printf 方法有printf(String format, Object ... args) 和 printf(Locale l, String format, Object ... args) 两种重载方式。其实学过C语言的小伙伴应该会觉得很亲切,就是控制输出的格式。目前printf支持以下格式:%c单个字符...原创 2020-10-24 11:52:31 · 133 阅读 · 0 评论 -
【老九学堂】【Java】详解常见的53个关键字
1.在Java中目前一共有53个关键字:其中由51+2个保留字=53个关键字【友情提示 :Java的关键字都是小写哟】2.Java的保留字有多少个?分别是什么?答:Java的保留字有2个,Java语言的的保留字是指预留的关键字。分别为:1).const—— 常量,常数 用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。2).goto—— 转到 指定跳转到标签,找到标签后,程序将处理从下一行...原创 2020-10-24 11:51:08 · 169 阅读 · 0 评论 -
【老九学堂】【Java】char类型详解
char的初始化char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。但是English,Spanish,German, French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。因为char是16位的,采取的Unicode的编码方式,所以char就有以下的初始化方式://字符,可以是汉字,因为是Un...原创 2020-10-24 11:49:33 · 453 阅读 · 0 评论 -
【老九学堂】【Java】小议BigDecimal数据类型
引言我们知道在Java中有float和double类型,它们的主要设计目标是为了科学计算和工程计算。然而,它们没有提供完全精确的结果【因为其有限的有效位数】,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求更加精确的结果,这时候BigDecimal的重要性就不言而喻了!BigDecimal简介BigDecimal 由任意精度的整数非标度值和32位的整数组成。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须...原创 2020-10-23 11:45:56 · 173 阅读 · 0 评论 -
【老九学堂】【Java】初级编码规范
良好的编码规范和习惯会让你的代码锦上添花,同时也会大大的增加团队协作开发的效率,避免很多细节的问题,从而大大的提高你的代码的可阅读性,同时也是一个优秀开发者的必备技能之一,所以接下来,我们就一起来了解并掌握一些常见的编码规范吧。一、命名规范:类名的首字母必须大写。所有成员变量、方法命名时,必须遵守骆驼命名法。【PS:骆驼式命名法就是当变量名或函式名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母...原创 2020-10-23 11:44:06 · 146 阅读 · 0 评论 -
【老九学堂】【Java】变量命名规范
Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。(一)Package(包)的命名Package的名字应该都是由一个小写单词组成,例如com、xuetang9、company等。(二)Class(类)的命名Class的名字首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如:XueTang或ProNine。(三)变量的命名...原创 2020-10-23 11:40:56 · 215 阅读 · 0 评论 -
【老九学堂】【Java】Java环境之JDK配置
【特别说明】:本笔记均以Win10环境为主,Win10与Win7差别不大,个别地方有Win7的单独截图和说明。配置JDK为Java编译环境,当然,大师兄早已经为大家准备好了集成JDK版的Eclipse,大家可以直接在群文件中下载安装即可使用,安装JDK环境是为了能让小伙伴们能在本地使用Java命令进行对Java文件的编译,但是有了集成版Eclipse基本不会用到,直接在Eclisp中创建和编译Java项目即可,如果小伙伴下载的Eclipse 由于系统文件缺失等不可抗因素导致无法启动,配置好JDK再.原创 2020-10-23 11:11:51 · 171 阅读 · 0 评论 -
【老九学堂】【C++】数组与指针
不知道在通过前面的内容学习后,是否有很多小伙伴都会认为数组和指针是等价的,数组名表示数组的首地址呢?不幸的是,这是一种非常危险的想法,并不完全正确,前面我们将数组和指针等价起来是为了方便大家理解(在大多数情况下数组名确实可以当做指针使用),不至于被指针难倒,这里就请大家忘记这种观念,因为它可能将会颠覆你之前的认知。数组和指针不等价的一个典型案例就是求数组的长度,这个时候只能使用数组名,不能使用数组指针,这里不妨再来演示一下:运行结果:数组是一系列数据的集合,没有...原创 2020-10-23 11:03:16 · 92 阅读 · 0 评论 -
【老九学堂】【C++】复合类型之vector和array模板
今天我们就给小伙伴们简单的介绍一下数组的替代品,vector和array,模板类vector类似于string类,也是一种动态数组。您可以在运行阶段的设置vector对象的长度,可在末尾附加新数据,还可以在中间插入新数据。基本上,它是使用new创建动态数组的替代品 。vector类的功能比数组强大,但付出的代价是效率稍低。如果您需要的是长度固定的数组,使用数组是更加的选择,但代价是不那么方便和安全。有鉴于此,C++11新增了模板类array,它也是位于名称空间std中。下面我...原创 2020-10-22 11:47:38 · 162 阅读 · 0 评论 -
【老九学堂】【C++】小议二维数组
一、二维数组的介绍 当数组元素具有两个下标时, 该数组称为二维数组。 二维谁可以看做具有行和列的平面数据结构。 二、二维数组的定义 定义二维数组的形式: 数据类型 数组名[常量表达式1][常量表达式2] ; 数据类型是数组全体元素的数据类型, 数组名用合法的标识符表示, 两个整型常量表达式可以理解为分别代表行数和列数, 与一维数组相同, 数组元素的下标一律从 0 开始。例如: 该语句表示: ①.定义了一个...原创 2020-10-22 11:45:46 · 549 阅读 · 0 评论 -
【老九学堂】【C++】经典排序算法
1.冒泡排序1.1.概述冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。1.2.算法原理:冒泡排序算法的运作如下:(从后往前) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ...原创 2020-10-22 11:42:46 · 176 阅读 · 0 评论 -
【老九学堂】【C++】蛇形矩阵算法
顾名思义,蛇形矩阵:矩阵的一种,常被应用在编程题目与数学数列中。它由1开始的自然数依次排列成的一个矩阵上三角形、环形或对角线等的走法,输入文件由一行或多行构成,每行由一个正整数N组成(N不大于100)。在程序设计时需要运用到while循环行数,还有函数调用,以及要运用数学公式来实现蛇形矩阵算法的设计。下面,我们就来给小伙伴们简单的普及一下一些常见的蛇形矩阵算法代码吧!1、上三角--例如输入:N=4--输出:在描述算法之前,先看看下面的5*5的表格:...原创 2020-10-22 11:39:29 · 1533 阅读 · 0 评论 -
【老九学堂】【C++】cin&cout细节
【C++】cin&cout细节一、念念不忘之Hello World.作为一个程序员,我们第一个程序总会是它。对不对。那么在C++中我们是不是也常常会看到这么一段。然后我们将这段代码使用helloword.cpp 文件保存起来。并且放入到G盘的code目录中。注意在这里我们可以使用如下命令查看当前文件夹的文件信息.我的目录结构如下图所示:最后我们代码的编译执行结果如下:上述案例我们最简...原创 2020-10-22 11:35:29 · 153 阅读 · 0 评论 -
【老九学堂】【C++】位运算符
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 作用 示例 & 按位与 两个操作数同时为1结果为1 | 按位或 两个操作数只要有一个为1,结果就为1 ~ 按位非 操作数为1,结果为0;操作数为0,结果为1 ^ 按位异或 两个操.原创 2020-10-21 21:22:08 · 403 阅读 · 0 评论 -
【老九学堂】【C++】运算符优先级
C++的运算符和C语言基本一致。我们这里还是先来总结一下运算符的分类:下面的列表中,求值先后按照从上到下的顺序进行:当然,在C++中,还有一些特殊的运算符:遇到问题,可加老九君个人QQ:614940318,请备注来自CSDN老九学堂免费C、C++、Java课程地址:https://study.163.com/courses-search?keyword=老九学堂徐老师线下全栈就业班开始报名啦~零基础开讲,8个月,Java全栈学习,终身推荐就业...原创 2020-10-21 21:16:59 · 142 阅读 · 0 评论 -
老九学堂【C++】保留字[关键字]
Hi~小伙伴,今天老九君给大家分享一些C++中比较常用和常见的一些保留字[关键字]。在C++中现存74个关键字/保留字。常用的关键字如下[点击图片可查阅]:除了这些关键字,C++中提供的所有关键字如下。咱们这里不再过多阐述:本笔记介绍了C++中的常用的一些关键字,也将C++11中全部关键字列出,小伙伴们自行查阅学习哦。遇到问题,可加老九君个人QQ:614940318,请备注来自CSDN老九学堂免费C、C++、Java课程地址:https://study.163....原创 2020-10-21 21:15:30 · 229 阅读 · 0 评论 -
【老九学堂】【C++】Eclipse安装配置
C++编译器之Eclipse安装配置小伙伴们,你们造吗?除了CodeBlocks和VS、Clion等等开发工具外,我们开发Java常用的Eclipse也可以来开发C++!!下面老九君就给大家简单的讲解下如何使用Eclipse的C++集成版来搭建标准的C/C++开发环境,以及打印出“Hello world!”。首先,我们需要3种“原材料”:1.Eclipsefor C++,即C++集成版的Eclispe安装包;2.JRE安装包;3.MinGW安装包;是不...原创 2020-10-21 21:13:36 · 259 阅读 · 0 评论 -
【老九学堂】【C++】C++发展史
为了让小伙伴们在学习过程中,能收获更多的知识,达到真正的零基础入门和深入了解C++,老九君特地收集了有关C++发展相关的一些资料供大家查阅和学习:C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的...原创 2020-10-21 21:11:16 · 236 阅读 · 0 评论