自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 设计模式——适配器模式

适配器模式适配器模式属于结构模式之一,顾名思义主要是针对一些接口不兼容的类可以一起工作解决问题:需要现有的对象放入新的环境中,但是新环境的接口现有对象无法满足。优点: 1、可以让任何两个没有关联的类一起运行。 2、提高了类的复用。 3、增加了类的透明度。 4、灵活性好。缺点: 1、过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是 A 接口,其实内部被适配成了 ...

2020-01-14 20:33:37 140

原创 设计模式——工厂模式和抽象工厂模式

1.工厂模式工厂模式是java设计中常用的设计模式之一,属于创建者设计模式,该模式不在意具体实现对象的类是谁,提供一个类实现工厂直接按需要决定获取哪个类。解决问题:创建对象时接口的选择。优点:1.使用一个接口就可以创建多个不同对象。2.扩展性高,增加产品只需要增加一个实现类。缺点:每次增加产品都要改写工厂代码,并且多个类的依赖也增加了程序的依赖性。理解:工厂模式就像是去4s店买车,去了...

2020-01-12 21:14:13 1481

原创 IDE常用快捷键(持续更新)

IDE是很强大的java开发工具,快捷健更是能帮我们更好的使用这个工具的技巧。总结如下:快捷键描述ctrl+alt+b查看具体方法实现ctrl+F12查看当前类的大纲ctrl+h查看类的继承关系ctrl+d复制当前行到下一行ctrl+x删除当前行alt+enter导包ctrl + shift + ↑ / ↓把该行往上/下挪一...

2019-12-03 12:36:18 414

转载 抽象类和接口

1. 抽象类被abstract修饰的类被称为抽象类,抽象类里面可以有抽象方法(只有方法声明而没有方法体),但也可以没有。从设计层面上来讲,抽象类就是用来被继承的,因为抽象类虽然可以定义构造器,但是却不能用来构造对象,只能声明引用,构造器也只是为了初始化普通属性。对于一个类,如果他的某个方法实现出来没有任何意义,需要在子类中根据不同需求进行不同的实现,那就把该方法声明为抽象方法,该类也变为抽象...

2019-11-27 21:10:55 169

原创 java编程思想——如何理解面向对象

如何理解面向对象?面向对象是对现实一种高度抽象,把物体的固有属性抽象为类的属性,把物体行为定义为方法,三大特性:封装性:把具体实现的方法封闭起来,把方法的使用开放出去,开闭原则,把可修改的部分私有,把可扩展的部分开放出去,意义就是应该通过扩展来实现代码的变化,而不是修改源代码,这样提高稳定性以及灵活性,(例子:处理打折的书籍价格)。继承性:单继承,对于java来说,把共有部分抽...

2019-11-25 23:15:07 189

原创 牛客练习——如何全排序

题目给定一个数组,要求输出所有的排列组合结果思路一:对于数组a[1, 2, 3]来说,我们在创建一个辅助数组b[ ],第一次:把a中的1移到b中 ——>a[2, 3] b[ 1 ]然后现在有两种移动方法:先移动2,或者先移动3 形成[1,2,3]或者[1,3,2],这时候a数组就变为空了。然后再把数组返还给a。第二次:把a中的2移到b中 ——>a[1, 3] ...

2019-11-25 23:06:51 106

原创 牛客练习——如何判断正确的出栈顺序

题目给定入栈顺序,判断一组数是否为出栈顺序思路最简单的想法,要判断出栈顺序,那就借用一个栈来判断,如果可以完全出栈,那就正确,不能就不行。代码//push为入栈顺序,pop为出栈顺序。public boolean isPopOrder(int[] push, int[] pop){ if(push.length == 0){ return false; } int index...

2019-11-25 22:10:36 732

原创 牛客练习——找出n个数中最小的k个

题目:给定n+1个以空格隔开的数,最后一个数为k,请找出n个数中最小的k个,以空格隔开输出,输出从小到大思路一: 输出处理:先把输入处理后然后排序,输出前k个就好。 注意:输出为空格间隔的时候,最后一个数后不应该还有空格。 同时,牛客练习还应该注意处理多个case。代码:public class Main { public sta...

2019-11-17 09:02:46 256

原创 多线程——常见方法

多线程的常用方法1.取得当前JVM正在执行的线程对象。public static native Thread currentThread();//一个本地静态方法。2.有关线程名称的命名和取得(如果不设置,jvm会自动设置)public Thread(Runable target , String name); //创建线程时直接设置名字public final synchronize...

2019-11-14 15:27:36 156

原创 多线程的创建方式

java线程创建前提:无论如何创建多线程,开启线程必须使用Thread类的方法Start(),同时一个线程的start()方法,只能被调用一次,执行多次会抛出异常 IllegalThreadStartException ,所有的线程最开始被初始化为0。第一种(第一种创建)、 创建类继承Thread类,然后覆写run方法(线程任务)。开启线程:直接使用Thread.start() 方法第...

2019-10-27 22:03:10 89

原创 JDBC编程

JDBC :即 java Database Connectivity ,java数据库连接,是一种是一种用于执行SQL语句的JavaAPI,它是 Java中的数据库连接规范。这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。主要步骤1.创建数据库连接(两种方式)直接使用D...

2019-10-25 15:32:40 93

原创 Java库类——String

经常会使用到String类的各种方法,有时有时候一时想不起来,所以整理一部分常用的。String构造方法直接创建或者创建空字符String s = "java";//最常用String s = new String();String(char[] c)把一个字符数组带入创建char[] c = {'a', 'b', 'c','d'};String s = new Stri...

2019-10-15 16:57:17 189

原创 java库类学习——Math库常用方法

java取整floor向下取证用法:Math.floor(n);Math.floor(1.4) // 1;Math.floor(-1.4) // -2;round四舍五入用法:Math.round(n) 约等于 Math.floor(n + 0.5)Math.round(1.4)//1;Math.round(1.6)//2;Math.round(-1.4)//-1;M...

2019-10-14 19:47:58 374

原创 项目——项目初识(图书管理系统)

写在前面:从实际出发,思考现实中会面对的用户和用户需要的功能,分点去想,到实际上更可能需要前期调研,通过数据来分析和设计一个真正的项目需要的东西。以图书管理系统为例:用户1.老师 2.学生功能 :老师:1.书上架。2.查阅书籍。3.查阅借阅记录。(先不考虑老 师借书的情况)学生:1.借书。2.还书。3.查阅书籍。4.查阅借阅记录。抽象出类(实体类)书籍类:1.ISB...

2019-10-13 18:10:24 189

原创 排序算法

排序算法七个基于比较的排序算法1.插入排序 | 希尔排序2.选择排序 | 堆排序3.冒泡排序4.快速排序5.归并排序1.插入排序思路:假设第一个数已经有序,从无序区间里面的第一个数插入到有序区间里有序区间[0, i]无序区间[i+1, array.length)每次要搬运的值array[i+1];空间复杂度:O(1)时间复杂度:最好(有序...

2019-08-29 22:00:34 127

原创 Java学习笔记{类加载和对象实例化}

类的加载与对象的实例化过程1.类的加载1.什么是类加载?从硬盘上找到Node.class,解析该文件,生成类,然后把Node类的信息发放到内存的方法区。2.什么情况下加载类?1):按需要加载(懒加载)a.实例化一个类的对象。b.使用类的静态属性或者静态方法。c.用到子类必须先加载父类。3.其他规则静态属性的初始化顺序:先加载父类再是子类,按书写顺序来执行。1.静态属性定义时初...

2019-08-17 00:21:40 94

原创 Java学习笔记{继承、抽象类}

继承子类拥有父类的一切属性和方法,但是部分东西没有访问权限。一、有些类只能被继承,不可以直接构造对象abstract 抽象1.用于类的话,类只能被继承,不能产生实例abstract class A{};2.用于方法,抽象方法,未被实现的方法,可以只写方法签名,不用写方法内容,由子类实现。abstract void method();特征:1.如果一个类不是抽象类,则必须把所有的...

2019-08-17 00:08:30 95

原创 java学习笔记{顺序表的增删查改基本操作}

顺序表:用一段物理地址连续的存储单元依次存储,一般使用数组存储,在数组上完成数据的增删查改。可分为静态顺序表或者动态顺序表,一般我们采用动态的,根据需求分配大小。顺序表的创建首先需要两个基本属性,一个存储用的数组array,另一个记录数组大小的size。基本操作一、增:分为头插,尾插和指定插入(给下标)。尾插最简单,直接插入后方,然后增加size。头插和指定插入:1.判断循环次数,...

2019-07-28 13:14:48 352

原创 Java学习笔记(3){数组}

1、数组的声明 int[] array 或 int array[] //意义相同,不推荐2、数组的初始化2.1静态的初始化int[] array = {1 2 3 4 5};int[] array = new int[] {1 2 3 4 5}; //给方法传参数 或者 匿名数组2.2动态的初始化int[] array = new int[数组的长度];2.3不初始化数组i...

2019-07-14 19:42:13 357

原创 java学习笔记(2){类的基本概念和语法}

一、一个简单的Java程序1.public 是一个访问限定符,用于修饰用于控制程序的其他部分对这段代码的访问级别。public:代表公开访问,都可以访问。private:代表仅自己可见,封装性。2.class 是一个类,Java里所有的代码都要放在类之中,类可以理解为一个模板,而由类构造对象的过程称为创建类的实例,如`class Person{ //变量的创建 pri...

2019-05-30 23:16:37 137

原创 C语言中操作符详解

除以0会导致运行出错,但是如果除以常量0,编译器会报错。算数操作符+ - * / %1.% 运算两边必须是整数,结果是整除之后的余数。2.除了%之外其他运算符都可以用于整数和浮点数。3.运算会以精度更高的数来运算,如 / 两边都是整数进行整数除法,有一个是浮点数就进行浮点数除法。移位操作符<< >>1.左移操作符:左...

2019-05-13 23:29:51 1084

原创 Java学习笔记(1){基本数据类型,定义变量及命名规则}

Java的基本数据类型,定义变量规则及简单操作符基本数据类型(primitive data type)1.数值类型1)整型:byte short int long2)浮点型:float double2.布尔类型:boolean3.字符类型:char数据类型存储空间大小boolean1位 \true或者falsebyte1个字节 \没有...

2019-05-09 00:57:00 838

原创 三子棋游戏完整版。棋盘,三子棋,五子棋任意定制。

三子棋游戏实现2.0上次我的错误部分代码经过我的研究终于发现问题到底出在哪里,原因在于我没有弄清函数引用传递的是实参,而函数创建用的是形参上次错误部分:是在函数引用的时候传出入了实参board[ROW][COL], if (FullBoard(board[ROW][COL], row, col) == 1) { return 'C'; } else { return 'D';...

2019-04-19 20:36:15 1097

原创 三子棋游戏实现出现读写访问冲突。

三子棋游戏实现1.0实现三子棋游戏,总是编译时在Fullboard() 函数部分出现读写位置时发生访问冲突。望大神们帮我看看这段代码。错误部分:int FullBoard(char board[ROW][COL], int row, int col){ int i = 0; int j = 0; for (i = 0; i < row; ++i) { for (j = 0...

2019-04-13 20:05:22 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除