
Java
fanfanwwww
这个作者很懒,什么都没留下…
展开
-
类与对象(二)
代码块:在一对{ }里的代码就是一个代码块。{ }中的局部变量的作用域只在{ }之内。代码块分为:普通代码块,构造块,静态代码块和同步代码块普通代码块定义在普通方法中,直接用{ }定义;构造块定义在类中,不加任何修饰符静态代码块是使用static定义的代码块,静态代码块可以放在主类中,也可以放在除了主类以外的地方。我们现在看看各个代码块都是怎样的:class...原创 2019-04-10 19:41:25 · 144 阅读 · 0 评论 -
Collection知识点小总结
原创 2019-08-27 18:54:31 · 207 阅读 · 0 评论 -
排序之直接插入排序
直接插入排序:什么是直接插入排序?直接插入排序就是从第二个数字开始排序,跟它之前的数依次比较,然后放到合适的位置,然后依次对后面的数进行排序。就像我们玩牌一样,揭到第一张牌是有序的,第二张跟第一张相比较,比它小的放前面,比它大的放后面,再来第三张,跟前两张比较,放到顺序合适的位置…图解:从上面图片中我们可以看出,插入数据时,从后往前比较,如果该数比相比较的数(放在temp中)大,就将该数向...原创 2019-07-16 20:46:33 · 290 阅读 · 0 评论 -
java中的“==”和equals()
在JDK源码中实现的equals()方法是与“”等价的,都是比较的地址,当没有重写equals()方法时。默认调用的就是JDK里的equals()方法;在这里我们说一下“”和重写后的equals()的不同之处:“==”:在比较常用数据类型的时候,就是两个值相比较但是在比较引用类型时候,就比较的是两个对象的地址...原创 2019-06-04 14:21:01 · 108 阅读 · 0 评论 -
设计模式之单例模式
什么是单例模式?单例模式就是一个类只能创建一个对象;特点:既然只能创建一个对象那么就在类外不能随意创建对象,所以就将构造方法私有化,在类内创建唯一的对象;构造方法私有化后,只能在类内创建对象,所以在类内封装这个类的对象作为属性;因为对象是在类内创建的,所以就需要提供一个外部类获取这个对象的方法,我们都知道,调用一个类的普通方法需要对象才能调用,而我们现在才是获取对象,所以要将这个方法进行...原创 2019-06-07 13:18:57 · 194 阅读 · 0 评论 -
设计模式之工厂模式
工厂设计模式分为三种模式:简单工厂模式、工厂方法模式和抽象工厂模式。什么是简单工厂模式?举个例子:假设现在有一个造纸的工厂,我不管你是怎么生产的,只要我向这个工厂要A4纸,这个工厂就能给我A4纸,我要B5类型的纸,你就给我B5类型的纸;这种将类的实例化交给工厂来实现,客户端不用关心实现细节的方式就是简单工厂模式;我们用个类图来说明一下这个简单工厂模式:代码实现: import ja...原创 2019-05-30 23:17:39 · 154 阅读 · 0 评论 -
模板方法模式
什么是模板模式呢,我们先看一个早上煮稀饭的流程,煮稀饭的时候第一步就是将水烧开,第二步就是放材料,煮什么稀饭放什么材料,第三步就是等稀饭开锅,第四步是将稀饭盛到碗里,第五步给稀饭里加一点糖,大体流程就是这样吧,我们在想想看,是不是做大部分稀饭都是这样的,没错,那么我们就可以给它总结一个流程:将水烧开放材料等稀饭开锅将稀饭盛到碗里给稀饭里加糖这个就是做稀饭的流程,...原创 2019-04-15 14:27:01 · 152 阅读 · 0 评论 -
接口简单总结
接口定义举例:interface IExample{ int x = 3;//public static final int x = 3; public void fun();//public abstract void fun();}interface IMessage{ public abstract void do();}class MyClass im...原创 2019-04-26 15:39:47 · 160 阅读 · 0 评论 -
抽象类
什么是抽象类:抽象类只不过是在普通类的基础上增加了抽象方法,并且这个类需要用abstract关键字来修饰。那么什么是抽象方法,抽象方法就是定义了一个方法但并不去实现它,即没有方法体,因为抽象类实现这个方法并没有什么意义,抽象方法要使用abstract关键字来修饰。比如说,我们定义一个Animal的抽象类,里面定义一个eat的抽象方法,我们都知道各种动物吃各种不同的食物,那么是让Animal...原创 2019-04-14 18:58:47 · 189 阅读 · 0 评论 -
左旋数组
题目描述: 将“abcdef”第二位之前的进行旋转,成为“cdefab”;思路:我们可以利用两个方法:String.substring(int beginIndex)方法取出从第n位之后的字符串。不感兴趣就可以不看啦哈哈。我们简单看一下String.substring(int beginIndex)方法的底层实现,就用一般的字符串来说,且n大于等于0且小于等于字符长度:int x = v...原创 2019-04-12 23:26:49 · 294 阅读 · 0 评论 -
字符串逆置
题目描述: 字符串“i am a student”逆置为“student a am i”;思路:第一次逆置:先将整个字符串都逆置:“tneduts a ma i”第二次逆置再将每个单词逆置“student a am i”,利用空格找出一个单词进行逆置代码:public class TestDemo2 { //首尾交换,头++,尾--,实现逆置 public static...原创 2019-04-12 23:08:07 · 364 阅读 · 0 评论 -
统计字符串中数字的个数
题目描述: 如 “ABC123 ” 输出为3思路:1.将字符串以数组形式输出,再一一遍历数组,遇到数字计数器加12.可以利用Character.isDigit(str.charAt(i)方法判断是不是为数字,如果是,计数器加1代码:public class TestDemo1{ public static int isNumberic(String str){ i...原创 2019-04-12 22:59:21 · 4904 阅读 · 0 评论 -
字符串压缩
题目描述:字符串压缩:“aabbccd” 输出“a2b2c2d1”思路:定义两个变量,比如说是i和j,用i每次指向第一个不一样的字符,用j来遍历字符串,如果和i相等,计数器就加一,当j不等于i的时候,就将i指向的字符和次数加到新定义的字符串中,然后把j赋给i,i就指向的下一个不同的字符了。注意每次到了一个不同的字符计数器要初始化为开始的值,注意当最后一次i和就指向的内容相同时,就得将这个字符和它...原创 2019-04-12 22:54:11 · 580 阅读 · 0 评论 -
类与对象(一)
类与对象:基本概念:类是具有共性的对象的共性抽象,而对象是指一个具体的,可以使用的事 物。对象一定来自于某个类对象是类的实例化类中的组成:属性(变量,描述每个对象的具体特点)方法(对象可执行的过程)类的定义与使用:类的定义:访问权限 class 类名{定义数据(即属性);定义方法;}此时的方法不再有类直接调用,而需要由对象调用。数据的定义:访问权限...原创 2019-04-09 15:15:41 · 220 阅读 · 0 评论 -
java数组简单介绍
数组:指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。一、数组的初始化:1、 动态初始化:数组首先先开辟内存空间,而后再使用索引进行内容设置语法:数组类型[] 数组名称 = new 数组类型 [长度];Tips:@1 数组的访问通过索引完成。即:“数组名称[索引]”,注意:数组索引从0开始,因此可以采用的索引范围就是0~索引-1;假设现在开辟了3个空...原创 2019-04-07 14:47:00 · 244 阅读 · 0 评论 -
HashMap部分源码解读
//onlyIfAbsent表示是否覆盖,如果是false,则后面添加的值会覆盖前面的值 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { //tab[]为数组,p为桶 Node<K,V>[] tab; Node...原创 2019-08-27 18:57:03 · 162 阅读 · 0 评论