![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
● 编程语言
文章平均质量分 75
「已注销」
战斗意志!
展开
-
用IO流实现文件复制功能
1、计算机复制文件的原理? 原理:计算机中的文件都是以字节为单位的,当复制文件时,首先读取待复制文件,然后将读取到的信息写入到目的文件中去。 方式:IO流中复制文件提供两种方式,字节流和字符流。 (1)字节流输入输出功能:InputStream(输入,用于读取);和OutputStream(输出,用于写出)。主要用来处理字节或二进制流对象(图片、音频、视频等)。 (2)字符原创 2015-11-24 15:57:37 · 3885 阅读 · 4 评论 -
path、classpath环境变量配置
1、什么是环境变量? 百度百科:一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 个人理解:环境变量有许多种,我们需要了解的path、classpath就是关于路径的环境变量,我们知道,系统要运行一个程序首先要找到程序所在的路径进而找到程序完成对程序的调用。但是当我们要求系统运行一个程序却没有告诉系统所要运行程序所在的完整路径时,系统就会默原创 2015-10-26 16:10:34 · 12480 阅读 · 21 评论 -
正则表达式初识
1、对于正则表达式的理解 正则表达式,顾名思义,“正”,正确的,则,“规则的”,就是符合正确的规则的表达式。其定义为:指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。其实就是一种规则,有自己特殊的应用。从定义上看,也可以得知,正则表达式的本质就是“符合一定规则的字符串"。2、正则表达式的规则 (1):字符类 [abc]:表示出现a,b或c中的任意一个。原创 2015-10-19 17:18:01 · 974 阅读 · 4 评论 -
什么是编程?
学了这么久的的计算机,直到现在还不太理解编程, 那么,编程到底是什么呢? 首先要了解一个概念,就是:计算机很笨!那么,计算机笨到什么程度呢?计算机不能知道我们想做什么事情,它只会等待我们给它发布命令,你发布什么命令,它就去做什么事情,我们写程序,也就是让命令被计算机去识别,然后执行,而且只会执行你给它的命令,多余的一点都不会做;计算机也是最诚实的,它会严格的按照你发布的每条命令来执行。原创 2015-10-12 11:13:17 · 1892 阅读 · 10 评论 -
泛型
泛型简介: 泛型是在Java JDK1.5出现的一种安全机制。它的作用是在定义集合时指定向集合中添加的数据类型,而不能添加指定类型之外的类型。当泛型给javac编译器提供集合时,会去掉“类型”信息,保证了运行效率。也正因为编译生成的字节码会去掉泛型的类型信息,因此我们只要能跳过编译器,就可以往泛型集合中加入其它类型的数据,如用反射得到集合,再调用add方法即可。泛型格式: 向中原创 2015-10-10 14:16:20 · 821 阅读 · 6 评论 -
异常处理----Throwable类
前言:在编程中对异常的处理是很重要的,这直接关系到写出程序的健壮性、稳定性,今天我们就来了解一下异常处理中的Throwable类以及它的子类。Throwable是什么? Throwable是Java中专门处理异常的类,是所有错误或异常的超类,隶属于Java.lang包下。当程序错误时,虚拟机就会将其实例抛出,它的两个直接子类分别是Error类和Exception类,分别被用来处理两类异常原创 2015-10-10 11:35:02 · 1809 阅读 · 5 评论 -
为什么接口中只能定义常量?
学习完接口后,知道了接口中只能定义常量,即使你的代码是这样写的:public int a,底层语言也会默认加上public static final int a转为常量,那么这是为什么呢? 我们都知道,接口中不能定义方法的实现,但是抽象类中是可以定义变量、常量以及方法的实现的,所以我们可以将接口看为比抽象类更高层次的抽象,是特殊的抽象类。加入接口可以定义变量,因为接口中的方法都是抽象的,我们无法通过行为,例如set()方法来修改这一属性值。原创 2015-09-25 11:52:08 · 14905 阅读 · 18 评论 -
C#—接口 PK 抽象类
面向对象的特点之一就是抽象,说道抽象就不得不提一下抽象类和接口,那么抽象类和接口是什么、又有什么关系和区别?让我们来探讨一下。首先看一下百度百科的解释: 抽象类:面向对象中,所有对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 接口:程序接口,由一套陈述、功能、选项、其它表达程序结构的形式、以及程序师使用的程序或者程序语言提供的数据组成。原创 2015-09-13 10:03:57 · 1197 阅读 · 14 评论 -
C#—委托
什么是委托?委托属于引用类型中的类类型,在委托中,可以将方法动态的作为另一个方法的参数,从而实现用方法来调用方法,可以减少程序中选择(if)、分支(switch)语句的使用,也能使程序获得良好的可扩展性。通俗一些讲,委托是一个类,其实例化出的对象可以用来调用其他的方法。委托的声明方式:delegate为声明委托的关键字,[访问修饰符]delegate 返回类型 委托名(形参原创 2015-09-11 11:06:25 · 1103 阅读 · 12 评论 -
进制介绍与进制之间的转换
1、什么是进制? 进制就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。 电脑里边我们经常使用的是二进制、八进制、十进制、十六进制。十进制我们非常熟悉,二进制也知道,那么八进制、十六进制是怎么来的呢?2、八进制、十六进制的由原创 2015-10-28 09:42:34 · 1630 阅读 · 14 评论 -
原码、补码与反码
前言:计算机中的数据都是以补码形式存在的,那么什么是补码呢?1、首先了解原码 计算机只能识别二进制0和1,但是我们日常用的数据是有正负符号的,所以需要使计算机中的二进制数据也能表示符号,这就是原码、反码、补码的出现需求。 有符号的数据表示法为:原码、反码、补码。因为数据是有符号的,所以规定最高位是符号位,其它位是数据位,并且,符号位也是参与运算的。 原码:将一个整数,转换成二原创 2015-10-28 11:08:52 · 1349 阅读 · 23 评论 -
递归解决斐波那契数列
1、什么是递归? 递归:递归是方法定义调用方法本身的现象。递归举例如下:public class DiGuiDemo { //递归方法举例 public void show() { show(); }}2、递归的注意事项?(1)递归一定要有出口。否则就会死递归。 上面举例用的递归就是一个死递归,方法永远都在进行自身调用,最终一定会陷入内存崩溃。所原创 2015-11-24 13:05:51 · 2617 阅读 · 9 评论 -
异常处理:对 finally 的延伸探索
1、finally中的代码真的会永远执行吗? 会永远执行,但是要排除一个特殊情况,就是catch中没有 System.exit(0),如下: private static int method() { int a = 10; try { System.out.println(a / 0); //程序运行到这里将跳转入catch System.out.println("原创 2015-11-24 10:51:14 · 879 阅读 · 6 评论 -
泛型--前世今生
1、什么是泛型? 泛型:任意的类型。是一种把明确数据类型的工作放在了创建对象或者调用方法时候进行的特殊的类型,一般只应用在集合里。 泛型的格式:,举例如下:ArrayList array = new ArrayList();2、为什么有泛型?泛型有什么好处? 为什么有泛型:我们知道,数组只能存储一种数据类型;集合可以存储任意类型的对象,但是我只想让我的存储一种类型,不想让原创 2015-11-23 21:42:39 · 1149 阅读 · 11 评论 -
集合及集合体系
1、什么是集合? 定义:对于面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。 数组可以对多个元素进行存储,但是数组的弊端是长度固定。这样,数组将不能满足长度变化的要求。所以,就出现了集合供我们使用。 特点:长度可以发生改变、只能存储对象、可以存储多种类型对象(但是只存储一种)。2、集合和数组的区别? (1)长度:集合长度可变;数组长度固定。原创 2015-11-22 22:41:28 · 1616 阅读 · 6 评论 -
static 与 final 关键字详解
1、static? (1)静态成员变量 被static修饰的成员变量其实是一个类成员变量,当这个类被虚拟机第一次加载的时候,就会为该变量分配内存空间,当该类创建实例时,不会生成对static变量的拷贝。而是多个该类的实例共享该变量。所有该类的对象都可以操作这块存储空间。 static定义的变量的初始化必须在定义时或者通过静态代码块初始化,并会优先于任何其它非static变量,原创 2015-11-22 19:18:04 · 1318 阅读 · 6 评论 -
匿名内部类
1、什么是匿名内部类? 定义:匿名内部类就是没有名字的内部类,更准确一点,是匿名的局部内部类。 匿名内部类出现的前提:必须存在一个类,抽象类,或者接口,来让匿名内部类继承或实现。 匿名内部类的格式:new 类名或者接口名() { 重写类或者接口中的方法。 也可以自己定义新的方法。 };2、匿名内部类举例并解析?//定义接口,这是匿名内部类出现的前提原创 2015-11-22 17:57:42 · 1062 阅读 · 2 评论 -
内部类详解
1、什么是内部类? 定义:将一个类定义在另一个类的里面,对里面那个类就称为内部类(也称为内置类,嵌套类)。例如,把类B定义在类A里面,B就被称为A的内部类。 示例如下://定义外部类class Outer{ private int num = 10; //定义内部类 class Inner { public void show() { System.ou原创 2015-11-22 16:26:47 · 900 阅读 · 4 评论 -
Java权限修饰符解析
前言:在面向对象编程语言中,我们常用的权限修饰符有四种,分别是:private、public、protected和默认修饰符,那么被这四种权限修饰符修饰的方法在不同的类中调用都有什么特点呢?除了修饰方法,它们还能够修饰什么?1、被权限修饰符修饰的方法调用特点 (1)在本类中。首先我们定义一个fu类,并为它分别用四种修饰符修饰四种方法://定义父类public class Fu{原创 2015-11-22 10:29:37 · 1202 阅读 · 2 评论 -
C#—静态成员和实例成员
在C#中,类中的数据成员分为静态成员和实例成员,那么它们是什么,之间又有什么关系呢?我们来看一下。静态成员(static member)又叫类成员,指的是在成员类型或返回值类型前用static关键字修饰的变量或方法;实例成员(instance member)又称非静态成员,是没有用static修饰的变量或方法。静态成员属于类,只能被类名调用;实例成员属于类的实例(即对象),只能先将类实例化原创 2015-09-11 10:09:27 · 5287 阅读 · 18 评论 -
C#—数据类型
C#中的数据类型主要有两类,为值类型和引用类型,这是C#中最常用的两种数据类型,其次,C#是有指针数据类型的,但是指针类型只能在声明为不安全代码中使用。 定义:表示实际数据,作为临时变量时,存储在栈内存中,作为成员变量,存储在堆内存中。 分类:分为两类,简单类型和复合类型:原创 2015-09-09 17:54:16 · 1483 阅读 · 12 评论 -
C#基础
谈到C#,就不得不提一下.net。 .Net是微软设计的独立于操作系统之上的开发平台,平台之上支持用C#或者VB .Net等满足.net规则的所有编程语言编程。可以将它看成一套虚拟机,无论机器搭载的哪种操作系统,只要该系统安装了.Net框架,便可以运行.Net可执行程序,.net强调开发工具的通用性,.net之上的语言、类库都能够互相调用。它统一了编程语言:无论程序是用C#,还是C++,原创 2015-09-02 17:44:15 · 1156 阅读 · 14 评论 -
SQL注入的方法和解决方案
SQL注入的方法和解决方案txtSQL = "select * from user_Info where userID = ' anything '';DROP TABLE user_Info;,我们可以限制可输入文本的输入长度,而且,SQL注入需要输入‘ 和空格等字符,我们可以利用ascii键码值来设置不让输入这些字符,如下:对数据表的删除或窃取用户信息等等非法操作,原理都是一样,比如删除表,只要输入设置数据库时尽量使用参数化的过滤性语句,还要避免使用解释程序,因为这正是黑客们借以执行非法命令的手原创 2015-07-31 09:14:54 · 8222 阅读 · 14 评论 -
再谈循环嵌套
(1)循环嵌套循环嵌套,就是循环之中还有循环,可以形象的理解为大圈套小圈。例如下面循环:class Demo{public static void main(String[] args){for (int x=0; x{for (int y=0;y4; y++) //内循环4次{System.out.print("*"); }函数封装、函数调用原创 2015-07-27 17:57:08 · 1187 阅读 · 9 评论 -
已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行,如何解决
操作数据库时经常遇到“已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行,如何解决,添加主键,使行值成为唯一值,原创 2015-07-26 14:45:16 · 35468 阅读 · 13 评论 -
容易混淆的数据库单引号和双引号
机房收费系统做到了组合查询功能,发现vb连接数据库时代码中出现好多的单引号和双引号,看得人好乱。以前只是单纯的认为双引号是表示字符串,单引号是表示字符,后来仔细的查了资料,知道了单引号是为数据库而存在的。举个小例子,如:txtSQL =" selcet * from student_Info where studentNo= ' " & txtUserId 胡根得 换成 & txtUserName &就是双引号把字符串括起来,又因为在SQL语句中,需要用单引号括起来,简单点说,双引号是给V原创 2015-07-26 11:53:05 · 2644 阅读 · 8 评论 -
VB 中窗体发现冲突名称,将使用名称...怎么解决?
首先上图:刚开始敲机房收费系统的时候就出现过这种情况,当时有八个之多。解决方法:(1)对窗体进行重命名(例如将frmGongZuoJiLu改成frmGongzuojilu),于是从8个错误减少到了5个。剩下的3个对于这种情况不适用。(2)发现我的frm文件中命名为frmXinXiWeiHu,如下:但是我的窗体名字居然是这样的:将两个名字改成相同的,利用这种方原创 2015-07-18 08:21:29 · 3052 阅读 · 12 评论 -
学生信息管理系统Bug----冰山一角
数据库连接、用户定义类型未定义、对象变量或with块变量未定义、无法出现主窗体 、超出当前范围、EOF或 BOF一个为真或者一个为假、子函数或函数未定义、多步OLE DB 操作产生错误、数据库不能保存更改、对象关闭时,不允许操作、91错误解决方案、提示运行时错误383Text属性为只读原创 2015-05-24 20:20:22 · 1985 阅读 · 4 评论 -
线程死锁问题
1、引言 5个哲学家的故事: 5个哲学家去吃饭,菜饭都上齐了,筷子也上了,但是一人只有一只筷子,每个人,先思考一会,把筷子借给别人,然后,别人吃完了,自己再吃。但是假如这5个人都饿了,他们就会拿起自己的筷子,而筷子只有一只,大家都在等待这个别人放下那一只筷子,然后好拿过来吃饭,而没有任何一个人愿意先放下筷子,所以,就出现了死锁。 所以,死锁就是两个线程都掌握着另一个线程下原创 2016-03-28 10:44:46 · 937 阅读 · 14 评论 -
Daemon线程和Join线程
1、Daemon线程 Daemon线程称为守护线程(非常喜欢这个名字)。线程一旦被设置为守护线程,当非守护线程结束,守护线程即使没有执行完,也必须随之全部结束。例如我们曾经玩儿过的坦克大战,一旦守护的老巢完蛋了,其它守护坦克没死也要结束。 Daemon线程的实质作用是为主线程其他线程的运行提供服务。User Thread线程和Daemon Thread守护线程本质上来说去没啥区原创 2016-03-28 17:36:43 · 1175 阅读 · 12 评论 -
机房收费系统颗粒大归仓之----调错冰山一角
一、输入数据与数据库数据类型不符 型数据正数最大取 提示对象关闭时,不允许操作DSN(Data Source Name,数据源)是一个ODBC术语,表示用于将应用程序和某个数据库相连接的信息集合,防止SQL注入方法代码 SQL注入一定要和限制MaxLength属性结合使用,其中keyAscii=0在这里就是“取消输入”的作用。引用Microsoft excel 时可用的引用中没有Microsoft excel 15.0 Object Library在此环境下不允许操作原创 2015-08-08 08:24:24 · 1253 阅读 · 9 评论 -
机房收费系统颗粒大归仓之----调错冰山一角(二)
一、多步OLE操作产生错误的多种形式、MDI与子窗体的那些事儿三、更改数据表信息提示不允许更改原创 2015-08-08 11:36:26 · 1383 阅读 · 9 评论 -
面向对象思想解析
学了一年的VB和数据库等面向过程的结构化语言,终于学到了C#、Java,初识便有一种相见恨晚的感觉,通过看教学视频以及自己敲出来的一些例子的体会,也发现了自己面向过程的思维方式有多么根深蒂固。以前编写代码都是先想我这个程序有什么功能,根据功能去划分功能模块,然后对具体的功能细节一步步的实现,每实现一步需要写哪些代码,完全是自顶向下,逐步求精的结构化思想。 但是到了C#、Java,才真正体会到了什么是面向对象,它和我以前设计代码的思想有颠覆性的改变,在这里更加注重的是如何去分析系统中的对象并进行对象的抽象—原创 2015-09-01 16:08:48 · 2593 阅读 · 7 评论 -
C#中的格式化输出
这是C# 或dotNet的格式器的格式格式器有很多种,数字格式器、日期时间格式器、自定义格式器等等。{1:C} 代表在把从0数第二个变量按货币格式显示比如int i=123;会显示成“¥123”0表示后面的参数的索引,这个例子中就是i,如果还有一个参数是j,那么就可以用1来代表j.例如Console.WriteLine("Hello,{0} and {1}",i,j);输出原创 2015-08-31 17:33:35 · 6215 阅读 · 8 评论 -
必备的Java基础知识
Java起源:SUN(全称Stanford University Network,后来被Oracle公司以74亿美金收购)公司的工程师考虑到c++复杂性,于是使用c++开发出了新的平台——Oak(橡树)平台,主要设计师为James gosling,后来oak得到了sun公司首席执行官Scott McNealy的支持,为了更好地进行推广,正式将Oak更名为Java。Java开发的三个方向:原创 2015-08-21 11:55:10 · 1331 阅读 · 12 评论 -
机房收费系统颗粒大归仓之-------组合查询
先附上我的组合查询设计图一张:1控件讲解:在查询内容处放置两个重叠控件,DTpicker和text文本框;字段名列、操作符列、组合关系列combo控件全部禁止输入内容(为用户考虑,只要能选择就不要输入,而且能有效避免处理SQL注入、输入无效内容等处理工作)。程序事件:form_load:加载combo控件内容,隐藏dtpicker控件,mdi子窗体居中,控制myFlexGrid控件原创 2015-08-14 11:58:21 · 1244 阅读 · 14 评论 -
机房收费系统颗粒大归仓之----应该注意的那些事儿
机房收费系统细节注意事项。原创 2015-08-08 16:45:54 · 1129 阅读 · 8 评论 -
机房收费系统颗粒大归仓之----DTPicker控件与导出数据为Excel
一、在组合查询窗体,有需要按时间查询的情况,这时我们可以在查询的文本框之上覆盖一个dtpicker控件,使其visible属性为false:二、导出数据为excel原创 2015-08-08 15:37:58 · 1405 阅读 · 6 评论 -
机房收费系统颗粒大归仓之----打印报表
关于报表设计,我用的锐浪Grid++Report4.5控件,使用之前依然是首先进行引用和部件的添加原创 2015-08-08 15:14:40 · 1145 阅读 · 8 评论 -
机房收费系统颗粒大归仓之----MSFlexGrid控件
前提:想要熟练的掌握一种控件并完美运用它,就要首先了解它的属性、方法和事件。一、MSFlexGrid基本信息主要属性:(1)Rows与Cols属性:分别用于设置或返回MSFlexGrid控件的行数与列数。(2)Row与Col属性:分别用于设置或返回MSFlexGrid控件中活动单元的行号与列号。(3)TextMatrix属性:该属性用于表示MSFlexGrid控件中单元格的原创 2015-08-08 12:09:24 · 1351 阅读 · 10 评论