![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
essenge
顺势而为
展开
-
JAVA里的I/O流
大多数应用程序都需要实现与设备之间的数据传输,例如键盘可以输入数据,显示器可以显示程序的运行结果等。在Java中,将这种通过不同输入输出设备(键盘,内存,显示器,网络等)之间的数据传输抽象表述为“流”,程序允许通过流的方式与输入输出设备进行数据传输。Java中的“流”都位于java.io包中,称为IO(输入输出)流。通过对于学生数据文件的操作类(查询、增加、删除和修改)了解JAVA中对文件的操作import java.io.*;import java.util.ArrayList;class St原创 2021-01-07 14:03:17 · 147 阅读 · 0 评论 -
JAVA里的GUI
GUI全称是Graphical User Interface,即图形用户界面。顾名思义,就是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种图形界面元素。Java中针对GUI设计提供了丰富的类库,这些类分别位于java.awt和javax.swing包中,简称为AWT和Swing。其中,AWT是SUN公司最早推出的一套API,它需要利用本地操作系统所提供的图形库,属于重量级组件,不跨平台,它的组件种类有限,可以提供基本的GUI设计工具,却无法实现目前GUI设计所需的所有功能。随后,原创 2021-01-07 13:14:59 · 398 阅读 · 0 评论 -
JDBC实现细节
JDBC是一套用于执行SQL语句的JavaAPI,应用程序可以通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询,增加,更新和删除等操作。那么我们首先来看看JDBC直连的几个步骤:1.导包将包含有驱动的jar包放入项目中2.加载并注册数据库驱动通过驱动名(注意大小写)加载驱动,这里注意要捕捉异常,也就是类未找到异常Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");3.配置连接信息(直连还是桥原创 2021-01-07 12:30:51 · 234 阅读 · 0 评论 -
JAVA的基本数据类型及其封装类
八种基本数据类型的包装类有了基本类型为什么需要包装类呢?我们知道Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这就需.原创 2021-01-05 14:39:06 · 135 阅读 · 0 评论 -
JAVA面向对象编程题
1.鱼类class Fish { private String name; private int age; private double weight; private double length; public Fish(){ } public Fish(String name,int age,double w,double h){ this.name=name; this.age=age; t原创 2021-01-05 14:26:45 · 320 阅读 · 0 评论 -
JDBC连接MySQL数据库查询操作
CREATE TABLE user (id VARCHAR(20), name CHAR(20), age CHAR(2));import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class test3 { //定义MySQL的数据库驱动程序 public static final String原创 2021-01-02 23:00:04 · 144 阅读 · 0 评论 -
JDBC连接MySQL基础
MySQL常用命令连接MySQL数据库 mysql -u 用户名 -p;然后输入密码创建数据库 create database 数据库名称;删除数据库 drop database 数据库名称;使用数据库 use 数据库名称;创建数据库表 create table 表名称(字段名称 字段类型 默认值 约束…………);删除数据库表 drop table 表名称;查看表结构 desc 表名称;查看全部数据库 show databases;查看一个数据库的全部表 show tables;SQL原创 2021-01-02 21:46:37 · 87 阅读 · 0 评论 -
MySQL 连接出现 Authentication plugin ‘caching_sha2_password‘ cannot be loaded
mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;原创 2021-01-02 21:03:14 · 105 阅读 · 0 评论 -
C++采用变步长Simpson算法计算积分
#include<iostream>#include<math.h>using namespace std;class F{ public: virtual double operator() (double x) const =0;};class Integral{ public: virtual double operator() (double a,double b,double eps) const =0;};class Simpson: publi原创 2020-12-30 20:03:44 · 567 阅读 · 0 评论 -
汇编语言里面绕不开的状态标志寄存器和转移指令
首先我们知道8088/8086 CPU的内部共有14个16位寄存器。按其功能又可分为三大类:通用寄存器,段寄存器,控制寄存器。1.通用寄存器通用寄存器包括数据寄存器,地址指针寄存器和变址寄存器。2.段寄存器3.控制寄存器IP,FLAGS接下来就是我们的核心FLAGSFKAGS成为标志寄存器或程序状态字(PSW),它是16位寄存器,但只使用其中的9位。这9位包括6个状态标志和3个控制标志。不同指令对标志位具有不同的影响。CF 进位标志位Mov a1,98HAdd al,al ;执行后(原创 2020-12-26 14:06:38 · 738 阅读 · 0 评论 -
C++里的虚基类
保持已有类的特性而构造新类的过程称为继承,继承是生成一个类。在已有类的基础上新增自己的特性而产生新类的过程称为派生。派生类的对象是基类的对象。引入虚基类:用来解决多继承时可能发生的对同一基类继承多次而产生的二义性问题.虚基类的成员是由最派生类的构造函数通过调用虚基类的构造函数进行初始化的在建立对象时,只有最派生类的构造函数调用虚基类的构造函数,该派生类的其它基类对虚基类构造函数的调用被忽略。虚基类构造函数先于非虚基类构造函数执行...原创 2020-12-22 19:45:35 · 196 阅读 · 0 评论 -
JAVA实现二叉树遍历,二叉搜索树
// 二分查找public class BST { private TreeNode root; public TreeNode getRoot() { return root; } public void setRoot(TreeNode root) { this.root = root; } // 每个树节点 static class TreeNode { public in原创 2020-12-22 18:53:32 · 96 阅读 · 0 评论 -
可编程并行接口8255
8255是通用的并行接口芯片,通过编程实现多种工作方式,满足不同应用需求。8255A是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255A可作为单片机与多种外设连接时的中间接口电路。1.8255工作方式基本输入/输出方式(方式0)各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出选通工作方式(方式1)C口除部分位用作选通信号外,其余位可工作在方式0原创 2020-12-20 20:29:47 · 1561 阅读 · 0 评论 -
8088/8086 CPU是如何处理中断的?
1.中断源引起CPU中断的事件——中断源除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。单步中断:类型号1,TF=1时产生(当前指令需执行完)。断点中断:类型号3,这是一个软件中断,即INT 3指令。溢出中断:类型号4,这是一个软件中断,即INTO指令。软件中断:即INT n指令,类型号n(0~255)优先级从高到低顺序如下:内部中断NMIINTR单步中断2.中断处理的一般过程中断请求中断源识别(中断判优)中断响应中断处理中断返回2.1中断响应CPU中断响应原创 2020-12-20 20:02:32 · 4476 阅读 · 0 评论 -
C++当中的一些definatons
1.类的定义格式class <类名>{ public: <成员函数或数据成员的说明> private: <成员函数或数据成员的说明>}<类名> ::<函数名>(<参数表>)2.对象的定义格式<类名><对象名表><对象名>.<成员名>(<参数表>)<对象指针名>-><成员名>(<参数表>)下面两种表示原创 2020-12-19 20:23:52 · 103 阅读 · 1 评论 -
C++程序设计实例1(商品类)
1.定义商品类#include<iostream>#include<string.h>using namespace std;class CGods{ public: CGods(long _np,char *_pname,float _price); ~CGods(){ delete p_name; } CGods(const CGods &c_god); void print() const; private: long no;原创 2020-12-19 15:07:43 · 2556 阅读 · 1 评论 -
C++里的友元机制
如果将类的封装比喻成一堵墙的话,那么友元机制就像墙上了开了一个门,那些得 到允许的类或函数允许通过这个门访问一般的类或者函数无法访问的私有属性和方法。友元机制使类的封装性得到消弱,所以使用时一定要慎重。友元函数 :友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下: friend 类型 函数名(形式参数);友元函数不是类的成员,不带this指针使用友元类时注意:(1)原创 2020-12-18 20:08:16 · 94 阅读 · 1 评论 -
C++中的纯虚函数和抽象类
1.纯虚函数是 一种特殊的虚函数,它的一般格式如下: class <类名> { virtual <类型><函数名>(<参数表>)=0; … }; 在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去 做。这就是纯虚函数的作用。纯虚函数可以让类先具有一个操作名称,而没有操作内容,让派生类在继承时再去具体地给出定义。凡是含有纯虚函数的类叫做抽象类。这种类不能声明对象,只是作为基类为派生类服原创 2020-12-18 19:48:19 · 255 阅读 · 1 评论 -
半导体存储器系统
最小模式还是最大模式???A0-A122^13=8K紫外线擦除EPROM 8K*8????行列地址,分时传送(锁存)一定要确保读写信号作为译码器输入信号2^15=32K更多概念请参阅课本原创 2020-12-18 13:53:56 · 73 阅读 · 0 评论 -
C++里的静态成员
数据成员:静态数据成员是类的一部分,为类的所有实例共享(静态区);非静态数据成员,类的每个实例都有一份拷贝(动态区)。静态数据成员是类的一部分,在产生任何实例之前已经存在。类的静态数据成员是静态存储,它是静态生存周期,必须进行初始化。静态数据成员的初始化在类体外进行,前面不加static以免与一般静态变量或者对象混淆。1.静态成员函数访问非静态成员报错:类的静态成员在类加载的时候就已经分配内存,而此时类的非静态成员尚未分配内存,访问内存中不存在的东西自然会出错。2.静态与非静态成员函数之间有一个原创 2020-12-18 11:58:51 · 144 阅读 · 0 评论 -
简单的二级联动
Java Swing实现学院和专业之间的二级联动import java.applet.*;import java.awt.Color;import java.awt.Font;import java.awt.Rectangle;import java.awt.event.*;import javax.swing.*;public class ItemTest extends JFrame implements ItemListener{ JComboBox colCom;//学院 J原创 2020-12-17 20:09:45 · 176 阅读 · 1 评论 -
C++计算几种几何图形的面积
#include <iostream>#include<cstring>#include<stdlib.h>#include<stdio.h> using namespace std;class Shape{ public: virtual double Area() const =0;};class Triangle:public Shape{ public: Triangle(double h,double w){ H=h;原创 2020-12-15 20:31:37 · 2212 阅读 · 0 评论 -
C++里的宠物栏
#include <iostream>#include<cstring>#include<stdlib.h>#include<stdio.h> using namespace std;class Animal{ public: Animal(){ name=NULL; } Animal(char *n){ name=strdup(n); } ~Animal(){ delete name; } virt原创 2020-12-15 20:12:54 · 311 阅读 · 0 评论 -
对于复数数据类型的插入符和提取符进行重载
#include <iostream>#include<cstring>using namespace std;class Complex{ public: Complex(){ real=imag=0.0; } Complex(double a,double b){ real=a; imag=b; } friend Complex operator + (const Complex &c1,const Complex &原创 2020-12-15 19:45:48 · 112 阅读 · 1 评论 -
String字符串类的运算符重载
闲来无事,为大家表演一波运算符重载#include <iostream>#include<cstring>using namespace std;class String{ public: String(const char *str = NULL){ if(str==NULL){ ptr=new char[1]; ptr[0]='\0'; }else { ptr=new char[strlen(str)+1]; strcpy原创 2020-12-15 19:33:50 · 981 阅读 · 0 评论 -
Shell基础(Linux也太有趣了!)
1.Liiux 命令执行顺序2.如何让命令别名永久生效?写入配置文件3.Bash常用快捷键4. 历史命令默认保存1000条, 可以在环境变量配置文件/etc/profile中修改eg:service network restart!!!!ser命令与文件补全5.Linux变量设置规则name=$(date)echo &name变量分类变量查看set变量叠加aa="$aa"456aa=${aa}789变量删除unset name6.环原创 2020-12-05 21:30:54 · 236 阅读 · 1 评论 -
求解按“最多排序”到“最少排序”的顺序排列问题
1.分治法#include<bits/stdc++.h>using namespace std;#define MAXN 15#define MAXM 105int ans;void Merge(char a[],int low,int mid,int high){ int i=low; int j=mid+1; int k=0; char *tmp=(char *)malloc((high-low+1)*sizeof(int)); while(i<=mid&原创 2020-12-05 15:20:54 · 2475 阅读 · 1 评论 -
C++常类型
1.常指针#include<iostream>using namespace std;const int N=6;void print(const int *p,int n);int main(){ int array[N]; for(int i=0;i<N;i++) cin>>array[i]; print(array,N);}void print(const int *p,int n){ cout<<"{"<<*p; for(原创 2020-12-05 14:16:34 · 114 阅读 · 0 评论 -
C++文件操作
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化,C++中对文件操作需要包含头文件 。ofstream:写操作ifstream: 读操作fstream : 读写操作文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们文件打开方式:打开方式 解释ios::in 为读文件而打开文件ios::out 为写文件而打开文件ios::ate 初始位置:文件尾转载 2020-12-05 13:32:20 · 88 阅读 · 0 评论 -
过程调用与中断控制区别
1.过程调用指令段内调用CALL TIMERCALL WORD PTR[SI]SI后的两位送给IP段间调用CALL FAR TIMERCALL DWORD PTR[SI]RET 返回指令,子程序的最后一条指令必须是RET2.中断控制指令是一个远过程调用,需要记录FLAGSINT n 之后n4就是存放中断服务子程序入口地址的单元偏移地址执行过程FLAGS压栈INT 指令的下一条指令的CS\IP压栈n4得到存放中断向量的地址将中断向量送给CS IP转入中断服务程序3.二者区原创 2020-12-03 21:18:52 · 1186 阅读 · 0 评论 -
FizzBuzz
def fizz_buzz_encode(i): if i % 15 == 0 : return 3 elif i % 5 ==0 :return 2 elif i % 3 == 0:return 1 else : return 0def fizz_buzz_decode(i,prediction): return [str(i),"fizz","buzz","fizzbuzz"][prediction]def helper(i): print(fizz_buzz_decode(i,f原创 2020-12-02 19:37:45 · 63 阅读 · 0 评论 -
汇编程序设计举例2
将ASCII转为二进制码对十六进制数来说,0-9的ASCII分别为30-39H,而A-F的ASCII为41H-46HDATA SEGMENTMASC DB '2','6','A','1'MBIN DB 2 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEGIN : MOV AX,DATA MOV DS,AX MOV CL,4 MOV CH,CL LEA SI,MASC原创 2020-11-29 21:02:17 · 113 阅读 · 0 评论 -
汇编程序设计举例
任何编程语言都离不开大量的练习。1.将自己定义的字符串显示到屏幕上DATA SEGMENT A DB '123ABC'DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA BX,A MOV CX,6 LP: MOV AH,2 // 功能号2送给AH,单字符显示输出的子功能 MOV AL,[BX] XCHG AL,D原创 2020-11-29 19:47:58 · 1243 阅读 · 1 评论 -
C++no matching function for call to ‘A::A()‘
遇到这种错误的原因在于:没有匹配的构造函数。因为替换了A的默认构造函数,导致没有办法初始化,解决办法有两个,第一个是手动初始化,第二个是添加一个无参数的A构造函数原创 2020-11-29 18:31:19 · 5897 阅读 · 3 评论 -
汇编语言的“Hello World!”
1.定义"Hello World!"字符串data SEGMENT hello DB 'Hello World!$'data ENDS2.代码段code SEGMENT ASSUME CS:CODE,DS:DATAstart: MOV AX,data MOV DS,AX LEA DX,hello MOV AH,09H INT 21H MOV AX,4C00H INT 21Hcode ENDSEND start 勿在浮沙筑高台...原创 2020-11-27 19:22:45 · 282 阅读 · 0 评论 -
C++继承应用实例--日期和时间
#include<iostream>#include<cstring>#include<cstdio>using namespace std;typedef char string80[80];class Date{ public: Date(){ } Date(int y,int m,int d){ SetDate(y,m,d); } void SetDate(int y,int m,int d){ Year=y;Mo原创 2020-11-27 16:37:20 · 184 阅读 · 0 评论 -
C++多继承的二义性问题
#include<iostream>using namespace std;class A{ public: A(int i){ a=i;cout<<"con.A"<<endl; } void print(){ cout<<a<<endl; } ~A(){ cout<<"des.A"<<endl; } private : int a;};class B1:publi原创 2020-11-27 16:19:16 · 172 阅读 · 0 评论 -
C++派生类构造函数和析构函数
1.派生类的构造函数派生类中有基类中说明的数据成员应该由基类中的构造函数进行初始化。如果派生类中还有子对象的时候,还应包含对子对象初始化的构造函数。#include<iostream>using namespace std;class A{ public: A(){ a=0; cout<<"A's default constructor called"<<endl; } A(int i){ a=i; cout<<"原创 2020-11-27 15:23:02 · 198 阅读 · 0 评论 -
C++类模板
类模板和函数模板十分类似。#include<iostream>using namespace std;template<class AType>class array{ public: array(int size); ~array(){ delete[] a; } AType & operator[](int i); private: int length; AType * a;};template<class AType原创 2020-11-27 14:51:05 · 74 阅读 · 0 评论 -
C++对象指针数组
1.指向数组的指针#include<iostream>using namespace std;class M{ public: M(){ a=b=0; } M(int i,int j){ a=i;b=j; } void print(){ cout<<a<<","<<b<<"\t"; } private: int a,b;};int main(){ M m[2][4]; int x=10原创 2020-11-27 14:05:21 · 1981 阅读 · 0 评论