编程语言学习
文章平均质量分 68
诡白丷
“人生不会完的”
展开
-
关于七巧板中某些需要提一嘴的技术实现
关于七巧板中某些需要提一嘴的技术实现注:本篇只提及技术实现思路,不涉及完整源码判断鼠标点击是否能取到某个图形这个东西还是班里的算法大佬给的我思路:“你取到鼠标当前点,和三角形的三个边拼成三角形去计算面积,如果你的鼠标在三角形内,则这三个三角形面积和等于原三角形,否则这三个三角形面积和要大于原三角形。”,我当场直呼内行,大佬就是大佬。(另外一个大佬跟我讲用海伦公式可以很容易算出三角形面积)所以接下来我首先实现了海伦公式封装了一个函数。接着我得取到鼠标点击位置,这个在Openglio回调部分提到原创 2021-04-11 09:01:21 · 312 阅读 · 0 评论 -
入手Opengl(初始化那些事,io回调)
入手Opengl近段时间因为“人贱”,所以“不畏艰险”准备入手Opengl,然后反手其实准备鸽了,在鸽之前记下这篇笔记,防止以后的自己再次入手又在这部分内容上花时间。导入相应库内容配置环境这里我用的编译器是vs2019,使用的库是glew和glfw这俩个库。由于Opengl32.dll这个东西vs下载的时候就会自动装上(突然感激vs膨胀的体积),所以我们只需要上网得到glew和glfw这俩个库就行(glfw glew)下载好库以后按照下图操作找到属性管理器。找到对应你库内容原创 2021-04-10 22:04:53 · 294 阅读 · 0 评论 -
有关我零基础入门Opengl并想开发七巧板小程序交作业这档子事
有关我零基础入门Opengl并想开发七巧板小程序交作业这档子事背景故事c++课程老师给布置作业,“小作业”,使用c++开发七巧板小游戏,要求图形颜色不同,能拖动,放大缩小旋转,进行拼图。一看题目,我直接把有手就行打在了屏幕上,然后叫嚣我必能做完,事实上后台逻辑也确实不难,但是假期过后我没写完,交了半成品代码坐在教室瑟瑟发抖,究其原因,我发现我不会图形库开发。临时上手了Opengl被锤了一顿。为什么用Opengl在同学们都根据老师推荐使用了ege的时候,我一个人倔的不听学长劝阻去入手了Open原创 2021-04-10 21:24:11 · 549 阅读 · 0 评论 -
c++(Lambda表达式)
c++参照资料:C++ Primer中文版 第5版 [(美)李普曼,(美)拉乔伊,(美)默著][电子工业出版社][2013.08][838页]Lambda表达式什么是Lambda表达式:Lambda表达式是c++11的新特性之一,其本质就是一个可调用的代码单元,我们可以直接将其理解成一个未命名的内联函数(不过也可以命名)。不过Lambda表达式是可以写在一个函数体内的。Lambda的书写格式:Lambda表达式与大多数函数相似,有自己的返回类型,参数列表,函数体。不过Lambda还有自己独原创 2021-03-14 09:43:02 · 328 阅读 · 0 评论 -
c++(虚函数与虚表)
c++写在前面:本篇只是个人笔记,参照大佬博客C++ 虚函数表剖析虚函数前言:c++中的虚函数就与java,c#这类型面向对象编程语言中的抽象函数类似,是可以让子类重写的函数,但需要知道的是,仅仅在重写一方面相似,差别还是很大的.虚函数的用法:在类成员方法声明时返回值前加上virtual关键字来标记这个函数是一个虚函数,子类继承后可以复写(也可以不复写)该方法。虚函数与普通函数在继承中特性比较:虚函数可以被子类重写,重写后用父类指针指向子类对象,调用结果是子类重写后的函数,若为普通函数原创 2021-03-10 17:07:59 · 178 阅读 · 0 评论 -
C#(已有类的外部扩展方法)
c#扩展方法当你要频繁对某一c#原有的类做某种繁琐的操作时,是否有想过,这蠢蛋c#怎么就不知道封装个***方法来给我用,但又苦于自己搓不了源码没办法自己加一个这种方法进去,在其他类写个方法又要专门传递这种类对象进去显得不舒适。最好的解决方法,扩展方法来啦。语法规则与通常定义一个方法的区别在于,你需要写入一个参数,类型前加上this,表示这个参数是调用这个方法的对象。需要注意,扩展方法必须在非泛型静态类中定义例子拿字典来作为例子(字典的取值方法比map要麻烦,所以给其扩展一手)代码如原创 2021-03-01 21:36:27 · 541 阅读 · 0 评论 -
微信小程序(底部导航栏tabBar)
微信小程序-底部导航栏tabBar基本结构基本结构:“tabBar”:{ "list":[{ **标签**:"内容", **标签**:“内容”, .... }]}标签关键词**原创 2020-11-15 09:06:21 · 373 阅读 · 0 评论 -
微信小程序(app.json中的window)
微信小程序app.json中的windowbackgroundTextStyle:下拉活动所展示的样式,只有dark和light俩种可以选,一个深色,一个浅色,对应诸如下拉刷新这样的行为所展示的样式。navigationBarBackgroundColor:顶部导航栏的背景颜色,可以直接用颜色代码指定,比如"#0094ff"navigotionBarTitleText:顶部导航栏的内容,如:“我的导航栏”navigationBarTextStyle:顶部导航栏内容的颜色,这里只能写black和w原创 2020-11-14 09:52:08 · 1504 阅读 · 0 评论 -
汇编(常用指令)
汇编常用指令mov将后一个参数的值赋值给前一个参数,比如mov ax,bx就是将bx寄存器中的值给ax。inc自增一,让其之后跟的数据自增一add相加,将后俩个参数相加,并将结果存储到前一个参数的位置上Loop计数循环,指定好循环次数和循环位置,然后执行的循环。在进入loop之前为cx寄存器赋值,这个值就是循环的次数,每次执行到loop的位置cx都会减一,然后判断其若不为0,则跳转到loop所指定的代码继续循环,若为0则执行loop的下一句。例:以下这段代码就是在ax中得原创 2020-11-13 11:29:20 · 125 阅读 · 0 评论 -
汇编(基础语法,部分寄存器内容,部分debug命令)
汇编基础语法结构assume cs:codesg:假设,意为假设某一段寄存器和程序中的某一个用segment。。。ends定义的相关联。codesg segment: 段定义,定义一个汇编程序中的一个段,段一半用来存放代码,数据,或者当作栈去使用,一个有意义的汇编程序至少要包括一个段。一个段由segment开始 到ends结束,在这俩个关键词前加上段的命名。end:不是ends,这个关键词代表整个程序到此结束。交换控制权:mov ax,4c00hint 21h这俩句代码在一个程序段后写入,原创 2020-11-13 10:42:29 · 209 阅读 · 0 评论 -
Android(Intent意图初解,显示意图,隐式意图,意图过滤器)
AndroidIntent简介:Intent被称为意图,是安卓程序中的一种比较重要的组件间交户的方式,可以用于组件间的跳转,传递数据等。通常用作启动Activity,Service以及发送广播等。根据开启目标组件的方式,一般可以被分为显式意图和隐式意图。显式意图简介:显式意图可以直接通过名称来开启指定的目标组件例如:Intent intent = new Intent(this,Main2Activity.class);startActivity(intent);隐式意图简介:原创 2020-11-07 14:44:09 · 728 阅读 · 0 评论 -
Android(服务和活动的绑定)
Android服务与活动的绑定简介:为了能让活动和服务的联系更加紧密一些,让服务更好的为活动提供一些功能上的服务,这边用一些方法把他们绑定,进行一些操作。流程简介在服务类里创建一个继承自Binder类的类,在该类里可以自定义一些方法,这个方法可以涉及服务里的一些属性,也可以单纯的就是一个方法,并定义一个该类的对象。重写服务的public IBinder onBind(Intent intent)方法,在这个方法里返回第一步里定义好得对象。在活动中定义一个ServiceConnection对原创 2020-11-01 21:19:10 · 265 阅读 · 0 评论 -
Android(Activity)
AndroidActivity基础简述简介:activity,中文活动,指安卓程序中正在运行的活动,主要用于实现应用的逻辑功能,与用户进行交互。若一个安卓程序没有运行的活动,其用户就看不到这个程序的回馈,这种程序通常是在后台运行,不涉及用户交互的。基础操作:为活动绑定自定义的视图:setContentView(R.layout.activity_main)括号里的参数是你要绑定的视图文件名启动另一个活动:startActivity(intent)括号里的参数是要启动的意图举个例子:In原创 2020-10-25 19:56:13 · 158 阅读 · 0 评论 -
Android(线性布局,约束布局,帧布局,表格布局)
Android线性布局简介:LinearLayout 布局,中文线性布局,其主要特征是主要以水平火垂直方式来显示页面中的控件,水平:从左到右,垂直:从上到下,线性布局中,每行或者每列仅允许有一个子视图或者控件。主要属性:android:gravity:设置内部控件的显示位置。(比如center是居中)android:orientation:设置内部空间的排列方向,常量horizontal(默认值)表示水平排列,vertical表示垂直排列。android:layout_weight:设置内部控原创 2020-10-24 22:24:56 · 1377 阅读 · 0 评论 -
c#(操作json文件)
c#概:害,又是老懒鬼的笔记,多的操作一个都不计,就简单记下怎么用c#解析json文件,怎么将一个类对象转换成json行了(依旧是基本搬了siki老师的例子)。操作json文件先把siki老师写的json例子直接抄过来(老懒鬼了,例子都照抄[{"id":2,"name":"天下无双","damage":123},{"id":3,"name":"天下第一","damage":9999},{"id":4,"name":"天下无贼","damage":15}]单步具体操作调用Jso原创 2020-10-02 21:19:53 · 2362 阅读 · 0 评论 -
c#(解析xml文件基础方法)
c#概:这波懒了,不打算记很多东西了,就只记一下,要简单解析一个xml文件会用到的方法,完事。(基本照抄了Siki老师的例子,记为笔记一份)解析xml文件基础方法调用库:using SystemXml;首先需要一个XmlDocument对象,直接new一个出来XmlDocument xmlDoc = new XmlDocument();加载Xml文件:调用XmlDocument对象的Load方法,将文件路径作为参数传进去xmlDoc.Load("skillinfo.txt");原创 2020-10-02 14:28:15 · 2941 阅读 · 0 评论 -
c#(Socket搭建TCP协议实现网络通信)
c#写在前面:前俩天学了c#的Socket搭建TCP网络通信,反手和坐在背后的彬彬hxd萌生了连一手通讯的想法,于是他java,我c#开始了操作,第一天我们一个c#,一个java成功一对一局域网通信连上了,第二天,想升个级,做一个服务端,做一堆客户端,客户端连接上服务端后可以给其他客户端发送消息。于是说干就干,第二天我做了简易的服务端和客户端,勉强可以多个客户端互相通话了,好了我的故事就此打住了,但彬彬没有完,现在是第三天,他把项目写的更完备,部署到了自己的服务器上,拿到他的程序和服务器ip,就可以登原创 2020-10-02 10:38:41 · 2723 阅读 · 0 评论 -
c#文件操作案例字符串数据储存
c#概:今天中午恰饭的时候接到老爸的电话,其中一部分内容是老爸需要一个软件,录入一些信息,如果信息重复会提示。很简单的一个内容,没有任何多余的要求和操作,干脆利索。(不需要联网,仅作电脑本地操作)作为亲儿子的我遂直接接下了着单子,顿时,我明白了“甲方爸爸”是个什么“意思”。虽然是个很简单的内容,不过也涉及到一些文件操作的内容,所以在写完之后,我把代码进行了一些魔改,抽了一些有用的东西作为一个博客发出来,希望能记录下一些c#文件操作的实用操作。文件操作案例字符串数据储存实现功能虽然当爹的跟我讲原创 2020-10-01 16:13:47 · 944 阅读 · 0 评论 -
c#(多线程编程)
c#多线程编程什么是多线程,相必有些程序或者计算机基础的就会有所了解,我就不做过多赘述了,确实不知道的,可以反手百度。线程开启方法之——委托线程开启:c#中开启多线程的方法之一,是调用委托的BeginInvoke()方法,可以当即为该委托打开一个新的线程来跑其包含的方法。参数:BeginInvoke()方法有俩个默认的参数,如果当前委托是有参数的,那么委托的参数写在该方法默认参数的前面。判断线程状态:BeginInvoke()方法有个IAsyncResult类型的返回值,调用该返回值的Is原创 2020-09-29 20:46:29 · 781 阅读 · 0 评论 -
c#(特性)
c#特性Obsolete特性Obsolete特性可以用于标记一个被弃用的方法,并给予用户一定的提示用法在方法前加上[Obsolete(“提示”,bool a)]第二个参数a表示是否将其标记为一个错误,而不仅仅是警告(第二个参数可以不写,默认false)举例:[Obsolete("这个方法已经被弃用了,建议使用新的方法:NewMethod"),false]static void OldMethod(){ Console.WriteLind("旧方法");}static void Ne原创 2020-09-28 20:55:27 · 212 阅读 · 0 评论 -
c#(反射)
c#反射反射用来获取某个类的属性,字段,方法等类相关的内容,而不是获取对象的内容(不是具体数据)。Type类Type类是每个类都附有的类,从一个对象身上调用GetType()方法就可以获取到其类的Type对象。Name属性是获取当前Type的类的类名Namespace是获取所在命名空间Assembly是获取所在程序集的信息FieldInfo[] Type.GetFields();是获取Type所在类的public字段PropertyInfo[] Type.GetProperties(原创 2020-09-27 21:59:14 · 91 阅读 · 0 评论 -
c#(LINQ查询)
c#LINQ查询LINQ查询是对容器内容进行筛选的一个操作,与sql语句类似表达式写法表达式写法与sql语句的写法及其相似举个例子(这边照抄了siki老师的例子):var res = from m in masterList //表示从masterList集合中查询 //每个元素在本次查询中叫做mwhere m.Level > 8 && m.Menpa原创 2020-09-27 18:23:12 · 256 阅读 · 0 评论 -
c#(委托常用操作合集)
c#前言:关于什么是委托可以参照这篇博客 委托委托常用操作合集创建大致格式如下例public delegate void operation(int a,int b);声明&实例化&赋值调用构造方法,new一个委托的同时,将需要绑定的方法作为参数传进去如:GetAString a = new GetAString(x.ToString);创建一个委托,直接将需要绑定的方法赋值给当前委托如:GetAString a = s.ToString;也可以使用匿名方法和La原创 2020-09-27 10:29:25 · 282 阅读 · 0 评论 -
c#(正则表达式)
c#正则表达式使用方法位于System.Text.RegularExpressions下的Regex类下的一些方法bool IsMatch(string input, string pattern);判断input串是否符合正则表达式patternMatch Match(string input,string pattern);从字符串input中找出第一个符合正则表达式pattern的串MatchCollection Matches(string input,string pattern原创 2020-09-27 09:20:26 · 435 阅读 · 0 评论 -
Java_Web(MVC)
Java_WebMVCmvc设计模式,是将JSP作为客户页面,servlet作为接受客户页面传来的信息的层级,处理信息后再调用连接数据库的java代码,做数据处理,之后传给javabean将内容交给用户。模型层:完成一个个独立的业务操作组件,一般都是以JavaBean的形式进行定义的。控制层:此层由Servlet实现,负责所有的用户请求参数,判断请求参数是否合法,根据请求的类型调用JavaBean执行操作并将最终处理结果交友显示层进行显示。显示层:此层主要是负责接受Servlet传递的内容,并且原创 2020-05-08 17:54:28 · 90 阅读 · 0 评论 -
Java_Web(Servlet)
Java_WebServletservlet实质上就是使用Java Servlet接口(API)运行在Web应用服务器上的Java程序Servlet特点方便且实用的各种API方法,其支持java的语法与API有高效的处理方式,servlet会给每一个请求发配一个线程,提供服务的线程仅一个。跨平台,由于其为java语言编写,所以其也继承了java的跨平台能力。更加灵活、扩展,其继...原创 2020-05-08 01:38:11 · 239 阅读 · 0 评论 -
Java_Web(JavaBean)
Java_WebJavaBeanJavaBean本质上是一个java类的代码,其主要实现后台运行的一些方法,处理前台JSP页面返回的数据,并为其返回所需要的参数。调用方法:<jsp:useBean id = “” class = “” > </jsp:useBean>以上方法相当于在当前jsp页面创建了相关的java类对象,使用时正常调用其方法即可。...原创 2020-04-24 00:43:32 · 150 阅读 · 0 评论 -
Java_Web(java操作Mysql数据库)
Java_Webjava操作Mysql数据库SQL语句使用SQL语句的基本语法还是数据库操作那样不变,再java中调用的话需要借助Statement对象,相关方法介绍参照JAVA_Web(数据库连接基本操作)。这边建议将sql语句写作一个字符串对象,然后将该对象作为参数传给相应的方法让他执行。查询得到的结果用一个ResultSet对象接收该对象的**next()方法:可以将元组指针后...原创 2020-04-14 16:22:35 · 412 阅读 · 0 评论 -
Java_Web(连接数据库演示例子)
Java_Web有关使用方法的一些介绍参照我的上一篇博客JAVA_Web(数据库)连接数据库演示例子加载Driver类static { try{ Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.p...原创 2020-04-13 18:27:27 · 482 阅读 · 0 评论 -
JAVA_Web(数据库连接基本操作)
JAVA_Web数据库常用的JDBC版本里主要包括的俩个JAVA包:java.sqljavax.sql原创 2020-04-10 20:26:10 · 683 阅读 · 1 评论 -
Java_文件读写(File,输入流,输出流)
Java_文件读写FileFile:作为java中的文件类,当我们需要操作文件的时候,通常会new一个file对象,并让其得到所需要操作得文件路径,让其”读取成为“这个文件,然后在其之上调用方法进行操作。构造方法:File(File parent, String child): 根据 parent得抽象路径和 child提供的路径名字符串,合并成为新的路径字符串,然后根据此路径创建一个...原创 2019-11-28 16:46:28 · 3462 阅读 · 0 评论 -
c# 接口
接口接口,与抽象类有几分相似,抽象类参考:抽象类 抽象类有规范的作用,接口也是这样。接口格式:接口的定义格式如下:interface 接口命名{}接口中内容格式:接口中类似于规范的内容的格式如下:返回类型 方法命名 ();注意,这里没有访问权限修饰符,也没有抽象修饰(因为接口里的方法并非抽象方法),接口本身也并非抽象类。接口的调用语法与抽象类的调用类似,接口亦...原创 2019-11-26 20:13:56 · 73 阅读 · 0 评论 -
Java——集合(部分常用集合类型)
Java集合集合:在java中,集合是指一个特殊的容器,其可以储存多个对象的引用,java的集合类可以储存数量不等的多个对象,还可用于保存具有映射关系的关联数组。集合通常有三种体系Set:无需不可重复的体系List:有序可重复的集合Map:具有映射关系的集合CollectionCollection:是java中的一个有关集合的接口方法摘要:一下截图于JDK—API 1.6....原创 2019-11-21 11:37:13 · 196 阅读 · 0 评论 -
Java---图形用户界面
Java—图形用户界面概:本篇说的图形用户界面主要是用awt和Swing组件。(多数API内容来自JDK官方API文档)Swing中的GUI其主要分为三大类容器类:JFrame,JPanel,JScrollPaneUI组件类:JLabel,JTextField,JTextArea,JButton,JCheckBox,JRadioButton,JComboBox帮助类:Color,Fo...原创 2019-11-16 16:44:51 · 228 阅读 · 0 评论 -
数据结构——哈希表与java的HashMap
数据结构——哈希表查找数据示例概:在完全提到哈希表之前,先来看一个例子一个群学生要加入一个协会,其有学号,姓名,性别,班级,个人简历等信息,现在要将学生们的信息储存在协会的电子文档里,在特定时候要用到某些学生信息的时候再对其查找。好,那么先把他们的学号(毕竟学号唯一对人)提出来作为一份key,按学号去把他们的信息存起来。有这么几种存法,第一种:将学生一个一个直接乱序存进去,逮到谁存谁,之...原创 2019-11-14 11:46:47 · 241 阅读 · 0 评论 -
Java(异常)
Java_异常异常概述异常,可以理解成程序中的一些错误,编译时与运行时都有异常的存在,比如除数为0就是一个简单的运行时异常,编译器就会在运行时报错,而且不会再去执行该条异常代码之后的代码语句。(本文中仅考虑程序运行中异常)在Java程序运行中异常分为俩大类,一类为Error,一类为Exception。Error是一些比较大的异常,比如内存空间不足等,这不是我们能解决的,所以暂时不考虑。Ex...原创 2019-11-04 09:35:32 · 74 阅读 · 0 评论 -
Java(匿名类,内部类)
Java匿名类在一个类中去“实例化”接口对象,这个对象就叫【匿名内部类】这里所谓实例化,并不是平时的用new调用构造方法创建对象,而是在new的时候在接口名后面打上大括号,在大括号里实现接口中的方法体。这种情况下,实现接口的这个对象是没有类名的,但其有对象名,所以称其为匿名内部类内部类内部类就是指在类的内部所定义的类,其也有静态和不静态的区分,所以在操作上也会有一定区别。共有特...原创 2019-10-27 22:36:45 · 83 阅读 · 0 评论 -
C#方法重写,抽象类,抽象方法
方法重写顾名思义,方法重写就是要重写一些发法,不过不是手改代码,而是诸如子类中去“重写”父类的一个方法,让子类调用方法的时候调用到的是自己重写过的而非父类原有的方法。格式是在方法的声明修饰词中,加一个override做修饰。可被重写的方法有如下三类虚方法:virtual抽象方法:abstract重写方法:override抽象类抽象类的概念:是由abstract修饰...原创 2019-10-12 00:36:03 · 2074 阅读 · 2 评论 -
C#的继承以及继承中的构造方法
C#继承继承是个啥简单的理解就是,让a类去继承b类,那么a类就会有b类中的属性,变量,方法,但不会继承b类的构造方法(相关构造方法的问题,下面再解释),当a类继承b类后,a类称作b类的子类,而b类称作a类的父类,还有其他的叫法,比如a对应派生类,b对应基类。举个例子,假若写了一个动物类,其中包含年龄的属性,然后再写一个狗类去继承这个动物类,狗类中写入品种属性,当你调用狗类时,可以访问到品种...原创 2019-09-30 23:59:48 · 4519 阅读 · 0 评论 -
Java实现一个简易的计算器
Java实现一个简易的计算器用到的部分API:Double.parseDouble(String a);将字符串a转化成对应的Double类型并返回,但字符串a中不能包含除数字与小数点以外的字符例:Double d = Double.parseDouble(“12.34”);如上做以后,变量d的值为12.34String.charAt(int a);取字符串中索引a处的ch...原创 2019-09-29 11:49:54 · 1848 阅读 · 0 评论