- 博客(100)
- 资源 (17)
- 收藏
- 关注
原创 C语言入门(九)循环语句和循环控制
循环语句和循环控制 前言:Turbo C 2.0提供三种基本的循环语句: for语句、while语句和do-while语句。一、循环语句(一)、for循环 它的一般形式为:for(;;)语句;初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分
2016-07-12 10:07:42 8134 2
原创 C语言入门(八)条件语句
条件语句 前言一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。一、if语句if(表达式) 语句1;如果表达式的值
2016-07-12 09:56:08 14090
原创 C语言入门(七)编写第一个C语言程序
编写第一个C语言程序 前面几节介绍了常量和变量、运算符、表达式和语句的概念,对它们的使用有了一个大概的了解。也许刚学程序的人会觉得有些枯燥,下面我们就来编写第一个C语言程序。#define PI 3.1416main(){float Radius,Area; scanf(%f,&Radius); /*输入半径的值*/Area=PI*Radius*Radius; prin
2016-07-12 09:43:38 8682
原创 C语言入门(六)表达式和语句
表达式和语句 一、表达式前面已经提到过表达式,相信大家对表达式也有了一个初步的认识,它是由常量、变量、运算符组合(到以后讲函数时,函数也可以是组成表达式的元素),计算以后返回一个结果值。表达式的结束标志是分号(;),C语言中所有的语句和声明都是用分号结束,在分号出现之前,语句是不完整的。例如:1+2;Counter/3+5;Height*Width;表达
2016-07-11 15:31:52 8344
原创 C语言入门(五) 运算符
运算符前言:无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。大多数运算符都是二目运算符,即运算符位于两个表达式之间。单目运算符的意思是运算符作用于单个表达式。(具体什么是表达式下一节再说)一、赋值运算符赋值语句的作用是
2016-07-11 15:29:00 7090 2
原创 C语言入门(四)变量和常量
变量和常量 前言:编译环境设置好以后,就可以正式学习C语言了。一、变量(一)、变量类型和表示方法1.什么是变量?一句话,变量是存储数据的值的空间。由于数值的类型有多种,有整数、小数(浮点数)、字符等等,那么对应的变量就有整型变量、浮点型变量、字符型变量。变量还有其他的具体分类。整型变量还可具体分为无符号型、长整型和短整型。浮点型也可分为单精度型、双精度型和长双精度型。此外还
2016-07-11 15:25:26 7267
原创 C语言入门(三)菜单设置
本菜单设置有关连接的选择项,它有以下内容: Map file menu 选择是否产生.MAP文件。Initialize segments 是否在连接时初始化没有初始化的段。Devault libraries 是否在连接其它编译程序产生的目标文件时去寻找其缺省库。Graphics library 是否连接graphics库中的函数。Warn duplicate symbols
2016-07-11 15:22:21 10692 1
原创 C语言入门(二)主菜单操作
(一)、主菜单 在Turbo C 2.0主屏幕顶上一行, 显示下列内容: File Edit Run Compile Project Options Debug Break/watch 除Edit外, 其它各项均有子菜单, 只要用Alt加上某项中第一个字母(即大写字母), 就可进入该项的子菜单中。1、File(文件)菜单 按Alt+F可进入File菜单, 该菜单包括以下内容:
2016-07-11 15:20:38 13575
原创 C语言入门(一)初识C
一、C语言的产生与发展C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言BCPL (Basic Combind Programming Language)发展演变而来。在1970年,AT&T贝尔实验室的Ken hompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。
2016-07-11 14:53:13 2546 1
原创 浅谈Java设计模式(二十三)解释器模式(Interpreter)
前言:解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下:public interface Expression { public int interpret(Context context); }public class Plus
2016-07-11 11:33:59 7409
原创 浅谈Java设计模式(二十二)中介者模式(Mediator)
前言:中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。先看看图:User类统一接口,User1和User2分别是不同的对象,二者之间有关联,如果不采用中
2016-07-11 11:29:11 6816
原创 浅谈Java设计模式(二十一)访问者模式(Visitor)
前言:访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定算法又易变化的系统。因为访问者模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式。访问者模式的优点是增加操作很容易,因为增加操作意味着增加新的访问者。访问者模式将有关行为集中到一个访问者对象中,其改变不影响系统数据结构
2016-07-11 11:13:08 6928
原创 浅谈Java设计模式(十九)备忘录模式(Memento)
前言:主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫备份模式更形象些,通俗的讲下:假设有原始类A,A中有各种属性,A可以决定需要备份的属性,备忘录类B是用来存储A的一些内部状态,类C呢,就是一个用来存储备忘录的,且只能存储,不能修改等操作。做个图来分析一下:Original类是原始类,里面有需要保存的属性value及创建一个备忘录类,用来保存value值。M
2016-07-11 10:58:16 7730
原创 浅谈Java设计模式(十八)命令模式(Command)
前言:命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。我们看看关系图:Invoker是调用者(司令员),Receiver是被调用者(士兵),MyCom
2016-07-11 10:52:17 6851
原创 浅谈Java设计模式(十七)责任链模式(Chain of Responsibility)
前言:接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先看看关系图:Abstracthandler类提供了get和set方法,方便MyHandle类设置和修改引用对象,My
2016-07-11 10:42:33 8081
原创 浅谈Java设计模式(十六)迭代子模式(Iterator)
前言:顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图:这个思路和我们常用的一模一样,MyCollection中定义了集合的一些操作,MyIterator中定义了一系列迭代操作,且持有Collect
2016-07-11 10:35:20 7017
原创 浅谈Java设计模式(十五)观察者模式(Observer)
前言:包括这个模式在内的接下来的四个模式,都是类和类之间的关系,不涉及到继承,学的时候应该 记得归纳,记得本文最开始的那个图。观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一
2016-07-11 10:25:25 10050 9
原创 浅谈Java设计模式(十四)模板方法模式(Template Method)
前言:解释一下模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,先看个关系图:就是在AbstractCalculator类中定义一个主方法calculate,calculate()调用spilt()等,Plus和Minus分别继承AbstractCal
2016-07-11 10:17:28 6990
原创 浅谈Java设计模式(十三)策略模式(strategy)
前言:策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下:图中ICalculator提供同意的方法,AbstractCalculator是辅助类,提供辅助方法,接下来,依次实现下每个类。
2016-07-11 10:09:02 6805
原创 浅谈Java设计模式(十二)享元模式(Flyweight)
前言:享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。FlyWeightFactory负责创建和管理享元单元,当一个客户端请求时,工厂需要检查当前对象池中是否有符合条件的对象,如果有,就返回已经存在的对象,如果没有,则创建一个新对象,FlyWeight是超类。一提到共享池,我们很容易联想到Java里面的JDBC连
2016-07-11 10:02:48 4897
原创 浅谈Java设计模式(十一)组合模式(Composite)
前言:组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图:实现代码:public class TreeNode { private String name; private TreeNode parent; private Vector children = new Vector();
2016-07-11 09:54:18 6803
原创 浅谈Java设计模式(十)桥接模式(Bridge)
前言:桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。我们来看看关系图:
2016-07-11 09:49:33 11331 2
原创 浅谈Java设计模式(九)外观模式(Facade)
前言:外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口,看下类图:(我们以一个计算机的启动过程为例):我们先看下实现类:public class CPU { public void startup(){
2016-07-08 17:25:16 6960
原创 浅谈Java设计模式(八)代理模式(Proxy)
前言:其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法。先来看看关系图:根据上文的阐述,代理模式就比较容
2016-07-08 17:10:07 7398
原创 浅谈Java设计模式(七)装饰模式(Decorator)
前言:顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:public interface Sourceable { public void method();
2016-07-08 16:59:50 7170 2
原创 浅谈Java设计模式(六)适配器模式(Adapter)
前言:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图:核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targetable,通过Adapter类,将Source的功能扩展到Targetable里,看
2016-07-08 16:54:31 6974
原创 浅谈Java设计模式(五)原型模式(Prototype)
前言:原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。本小结会通过对象的复制,进行讲解。在Java中,复制对象是通过clone()实现的,先创建一个原型类:public class Prototype implements Cloneable { public Obj
2016-07-08 16:41:35 11637 1
原创 浅谈Java设计模式(四)建造者模式(Builder)
前言:工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。我们看一下代码:建造者类如下:public class Builder { private List list = new ArrayList();
2016-07-08 16:36:28 7031
原创 浅谈Java设计模式(三)单例模式(Singleton)
前言:单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个
2016-07-08 16:31:41 7438
原创 浅谈Java设计模式(二)抽象工厂模式
前言:工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。因为抽象工厂不太好理解,我们先看看图,然后就和代码,就比较容易理解。多说无益,直接看例子:public inte
2016-07-08 16:19:29 7025
原创 Android中取消GridView & ListView默认的点击背景色
方法一:gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));listView.setSelector(new ColorDrawable(Color.TRANSPARENT));在代码中初始化的时候设置其属性。方法二:<GridView android:listSelector="@androi
2016-07-06 16:10:56 13459 2
原创 浅谈Java设计模式(一)工厂模式
前言:Java中的23种常用的设计模式,相信大家也经常用,或者有所听闻!今天这一系列的设计模式文章主要针对的是初学者,大神路过,请评论区留下建议,让小弟可以跟着大神的步伐起飞!工厂模式工厂模式也分很多种:普通的工厂模式、多工厂模式、静态工厂模式!1.普通工厂模式//创建播放器接口public interface Player { public void P
2016-07-05 15:03:52 7834
原创 浅谈Java设计模式
前言:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对
2016-07-05 14:09:48 2785
原创 AndroidStudio的基本设置
基本设置1>Android Studio编辑区域,在中部会有一条竖线。这条线是用以提醒程序员,一行的代码长度最好不要超过这条线。如果你不想显示这条线,可以这么设置。Settings --> Editor --> Appearance ,取消勾选 Show right margin (configured in Code Style options) 。2>显示行号Setti
2016-07-04 17:02:10 7312 1
原创 AndroidStudio中关于Gradle
Gradle是一个在Java构建技术世界里具有巨大突破性的构建工具。Gradle具有如下特性:1)一个像Ant一样灵活且通用的构建工具。2)一种可切换的,像Maven一样的基于约定的构建框架,却又从不约束你(约定优于配置)。3)对多项目构建的强力支持。4)对依赖管理的强力支持(基于Apache Ivy)。5)对已有的Maven和Ivy仓库有着全面的支持。6)支持可传递性的依
2016-07-01 09:25:51 8033
原创 在AndroidStudio中配置Github
为了在AndroidStudio上配置Github倒腾了很久,发现总是会遇到一些问题。最后总结出来一个比较方便的方法,完美解决问题!首先要确定是否安装了GitHub,没安装就下载安装Github国内vpn你懂得,安装好几次才成功,所以耐心安装吧!安装好后,就开始设置AndroidStudio:到设置也找到VersionControl--选择Git在框中输入你安装Github的路径。
2016-06-23 17:10:46 2982 1
原创 AndroidStudio使用指南(一)项目结构&基本功能
hello,大家好,我是比较喜欢、笑的程序员!在使用AndroidStudio前,当然是下载和安装了,这个过程很简单,就不做过多的介绍了。接下来是大家最喜欢的正文环节!今天我们是基于最新的版本(2.1.1)来介绍的。启动AndroidStudio!程序主界面!注意:目录显示方式默认是Android,其实开发中大部分使用的是Project,因为这个模式下可以看
2016-06-23 09:25:51 9442
原创 Java8部分新特性介绍
研究过一些技术论坛,总结出来Java8的一些新的特性,其中我印象最深的就是 lambda表达式,让我们代码变得简洁,可读性高。一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); def
2016-06-22 17:25:54 8836
原创 Linux使用笔记 (一) 虚拟机运行CentOS7
Linux,相信大家都很熟悉这个词,但是不一定熟悉这个是什么。它是一个操作系统,那么什么是操作系统呢?在使用一段时间Linux后,个人感觉,它是最适合程序员的操作系统(丰富的指令、快捷的操作、以及高效的运行)。起初最先是有Unix从而演变成了Linux,Linux Torvalds是一个在合适的时间,合适的地点提出合适的思想最典型的人。1991年,Linux(发音为“Lee-nus”)是H
2016-06-22 10:34:43 7098
React Native开发指南
2016-10-25
Android自定义选择相册图片并带自定义裁剪、旋转
2016-06-03
Android线程的销毁
2014-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人