- 博客(35)
- 问答 (2)
- 收藏
- 关注
原创 java学习笔记之Map集合
Map集合一、概念Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的Key,另外一组用于保存Map里的Value。Map中的可以和value都可以是任何引用类型的数据Map中的Key不允许重复。即同一个Map对象的任何两个Key通过equals方法比较总返回false。Key和Value之间存在单项一对一关系。即通过指定的Key总能找到唯一的,确定的Value。二、Map和HashMapimport java.util.HashMap;import
2021-05-05 14:19:56
126
原创 Java算法笔记之快速排序——2021/03/28
排序算法五、快速排序1、概念快速排序(QuickSort)是对冒泡排序的一种改进算法。2、快速排序基本思想通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此将整个序列变成有序序列。3、快速排序算法示意图3、代码实现在这里插入代码片4、速度测试...
2021-03-29 09:05:48
85
原创 java学习笔记之List集合——2021/03/28
List与ArrayList一、List1、概念List代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引List允许使用重复元素,可以通过索引来访问指定位置的集合元素List默认按元素的添加顺序设置元素的索引List集合里添加了一些根据索引来操作集合元素的方法2、List常用方法实现import java.util.ArrayList;import java.util.List;public class Test3 { public static void
2021-03-28 18:35:21
151
原创 Java学习笔记之HashSet集合——2021/03/27
集合一、java集合概述1、java集合类存放与java.util包中,是一个用来存放对象的容器。集合只能存放对象。比如存一个int型数据1放入集合中,其实它是自动转换成Integer类后存入的,java中每一种基本类型都有对应的引用类型集合存放的是多个对象的引用,对象本身还是放在堆内存中集合可以存放不同类型,不限数量的数据类型2、java集合可分为Set、List和Map三种大体系Set:无序、不可重复的集合List:有序、可重复的集合Map:具有映射关系的集合3、在JDK5之
2021-03-28 16:02:46
359
原创 java算法笔记之插入排序——2021/03/27
排序算法三、插入排序1、概念1)、基本介绍插入排序属于内部排序法,是对于要排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的2)、基本思想:插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成一个有序表和一个无序表,开始时有序表只包含一个元素,无序表中包含n-1个元素,排序过程中每次从无序表冲取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表2、插入排序算法的思路图解3、插入排序代码实现
2021-03-27 15:01:45
69
原创 java算法笔记之选择排序——2021/03/26
排序算法二、选择排序1、概念1)、基本介绍选择排序也属于内部排序算法,是从要排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。2)、选择排序思想选择排序(select sorting)也是一种简单的排序方法,它的基本思想是:...
2021-03-27 10:54:59
55
原创 java算法笔记之冒泡排序——2021/03/26
排序算法一、冒泡排序1、概念1)、基本介绍冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值。若发现逆序则交换,使值较大的元素逐渐从前移向后部,就像水底下的气泡一样逐渐向上冒。2)、优化因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换,从而减少不必要的比较。(这里说的优化,可以在冒泡排序写好后再进行)。2、冒泡排序应用
2021-03-26 11:16:46
155
原创 java学习笔记只内部类——2021/03/24
内部类一、概念内部类的最大作用是实现多重继承。在java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者称为外部类Inner class一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称Inner class的名字不能与包含它的类名相同Inner class可以使用外部类的私有数据,因为它是外部类的成员,同一个类的成员之间可互相访问。而外部类要访问内部类中的成员需要:内部类.成员或者内部类对象.成员分类成员内部类(static成员内部类和非static成员
2021-03-24 16:13:25
50
原创 java学习笔记之工厂模式——2021/03/22
工厂模式(FactoryMethod)一、相关概念FactoryMethod模式是设计模式应用最为广泛的模式,在面向对象的编程中,对象的创建工作非常简单,对象的创建时机却很重要。FactoryMethod解决的就是这个问题,它通过面向对象的手法,将所要创建的具体对象的创建工作延迟到了子类,从而提供了一种扩展的策略,较好的解决了这种紧耦合的关系。二、工厂方法举例在真正的开发工作中,都是合作开发,每个开发人员写部分代码,大家集合在一起就是一个项目。定义宝马车的产品接口//BWM.java/*
2021-03-24 15:04:55
100
原创 MySQL数据库学习1——2021/03/22
一、数据库的相关概念1、DB、DBMS、SQLDB2用于处理海量数据。SqlServer只能安装在Windows系统下2、SQL的优点不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL简单易学虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作二、数据库存储数据的特点将数据放到表中,表再放到数据库中一个数据库可以有多个表,每个表都有一个名字,用来标识自己。表明具有唯一性。表具有一些特性,这些特性定义了数据在表中如何存储
2021-03-22 10:18:05
75
原创 java学习笔记之接口——2021/03/21
接口一、概念有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,java不支持多重继承。有了接口,就可以得到多重继承的效果。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现1、实现接口类class subClass implements InterfaceA{ }一个类可以实现多个接口,接口也可以继承其他接口2、接口的特点用interface来定义接口中的所有成员变量都默认是由public static final修饰
2021-03-21 14:52:19
93
原创 java学习笔记之抽象类——2021/03/20
抽象类(abstract class)一、概念随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。二、抽象类的特征1、用abstract关键字来修饰一个类时,这个类叫做抽象类2、用abstract来修饰一个方法时,该方法叫做抽象方法抽象方法:只有方法的声明,没有方法的实现。以分号结束。abstract int abstractMethod(int a);
2021-03-21 10:16:28
167
原创 java学习笔记之final关键字——2021/03/20
关键字final一、概念1、在java中声明类、属性和方法时,可使用关键字final来修饰,表示“最终”1) final标记的类不能被继承。提高安全性,提高程序的可读性String类、System类、StringBuffer类2) final标记的方法不能被子类重写Object类中的getClass()3) final标记的变量(成员变量或局部变量)即为常量。名称大写,且只能被赋值一次final标记的成员变量必须在声明的同时或在每个构造方法中或代码块中显示赋值,然后才能使用fi
2021-03-20 20:12:03
101
原创 java学习笔记之代码块——2021/03/20
类的成员之四:初始化块一、概念1、初始化块(代码块)作用:对java对象进行初始化2、程序的执行顺序声明成员变量的默认值显示初始化、多个初始化块依次被执行(同级别下按先后顺序执行)构造器再对成员进行赋值操作//Person.javapublic class Person{ String name; public Person(){ this.name = "张三"; System.out.println("执行的是构造方法"); } //非静态的代码块 { S
2021-03-20 19:42:18
75
原创 java学习笔记之main方法——2021/03/20
main方法的语法一、语法由于java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是publicjava虚拟机在执行main()方法时不必创建对象,所以该方法必须是static的该方法接收一个String类型的数组参数,该数组中保存执行java命令时传递给所运行的参数二、举例//TestMain.javapublic class TestMain{ public static void main(Stirng[] args){ for(int i = 0; i &
2021-03-20 18:14:55
74
原创 java学习比较之单例设计模式——2021/03/20
单例设计模式一、概念1、设计模式就是在实际编程过程中,逐渐总结出的一些解决问题的套路。2、单例设计模式在整个软件系统运行过程中,这个类只被实例化一次,只有一个实例(实例化对象)。以后不论在哪都只调用这一个实例。例如:实例化对象的创建要消耗大量的时间和资源。//Single.javapublic class Single{ public Single(){ //假设构造中要执行1000行代码,要占用很大的资源,耗时很长(10s) //每一次new Single对象需要10s,运行10
2021-03-20 17:43:16
58
原创 Java学习笔记之static关键字——2021/03/20
关键字static一、概念如果想让一个类的所有实例共享数据,就用类变量。//Chinese.javapublic class Chinese{ static String country; String name; int age;}//Test.java Chinese.country = "中国"; Chinese c = new Chinese(); c.name = "xx"; c.age = 11; System.out.println(Chinese.count
2021-03-20 16:03:51
61
原创 java学习笔记之包装类与toString
包装类一、概念1、针对八种基本定义相应的引用类型——包装类(封装类)2、 有了类的特点,就可以调用类中的方法3、基本数据类型包装成包装类的实例——装箱通过包装类的构造器实现:int i = 500;Integer t = new Integer(i);还可以通过字符串参数构造包装类对象:Float f = new Float("4.56");Long l = new Long("asdf");//报错。NumberFormatException Integer i =
2021-03-20 15:13:48
156
原创 java学习笔记之==操作符与equals方法
==操作符与equals方法一、==1、基本类型比较值只要两个变量的值相等,即为trueint a = 5; if(a == 6) {...}2、引用类型比较引用(是否指向同一个对象)只有指向同一个对象时,==才返回true Person p1 = new Person(); Person P2 = new Person(); System.out.printn(p1 == p2);//false Person p1 = new Person(); Person P2 = p
2021-03-20 11:15:52
115
原创 java学习笔记之对象类型转换——2021/03/18
对象类型转换(Casting)一、基本数据类型的Casting1、自动类型转换小的数据类型可以自动转换成大的数据类型。如:long g = 20;double d = 12.0f2、强制类型转换可以把大的数据类型强制转换(casting)成小的数据类型。如:float f = (float)12.0;int a = (int)1200L;二、对java对象的强制类型转换称为造型从子类到父类的类型转换可以自动进行从父类到子类的类型转换必须通过造型(强制类型转换)实现无继承关
2021-03-18 20:41:17
102
原创 java学习笔记之object类——2021/03/18
Object类一、概念Object类是所有java类的根父类如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类。public class Person{ ...}//等价于public class Person extends Object{ ...}多层继承,处于最高层的父类一定是Object。二、示例public class Test(){ //问题:想给test方法设置一个形参参数,这个参数不确定到底会传进来一个什么类 /
2021-03-18 19:52:07
63
原创 java学习笔记之instanceof操作符——2021/03/18
instance操作符概念1、x instanceof A:检验x是否为类A的对象,返回值为boolean型就是检验某个对象是不是类A的子类要求x所属的类与类A必须是子类和父类的关系,否则编译错误。如果x属于类A的子类B,x instanceof A值也为true2、示例Person p = new Person();Student s = new Student();System.out.println(s instanceof Person);//trueSystem.
2021-03-18 16:30:20
76
原创 java学习笔记之多态性——2021/03//16
面向对象特征之三:多态性一、概念1、多态性多态性是面向对象中最重要的概念,在java中有两种体现方法的重载(overload)和重写(overwrite)重载:本类中的同名方法如何实现多态性:体现相同的名称方法实现不同的逻辑重写:子类对父类方法的覆盖如何实现多态性:子类可以使用和 父类相同的同名方法,覆盖掉父类的逻辑父类的方法,想修改逻辑,但是有别的代码在调用父类的方法,可以考虑用子类继承父类,重写父类的方法对象的多态性可以直接应用在抽象类和
2021-03-18 16:08:01
66
原创 java学习笔记之简单类对象的实例化过程——2021/03/16
视频学习网址:https://www.bilibili.com/video/BV1CJ411m7gg?p=62&spm_id_from=pageDriver简单类对线的实例化过程子类对象的实例化过程
2021-03-16 19:13:16
40
原创 java学习笔记之方法的重写(Override)——2021/03/16
一、方法的重写(Override)概念1、定义在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。2、要求重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型子类重写父类的方法,只是重新编写方法体的代码重写方法不能使用比被重写方法更严格的访问权限如果父类的方法是public的,子类重写的时候就不能使用缺省及以下重写和被重写的方法必须同时为static的,或同时为非static的子类方法抛出的异常
2021-03-16 19:01:58
179
原创 java学习笔记之继承——2021/03/16
继承一、为什么要继承多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。此处的多个类称为子类单独的这个类称为父类(基类或超类)。类继承语法规则:class Subclass extends Superclass二、继承的作用继承的出现提高了代码的复用性继承的出现让类与类之间产生了关系,提供了多态的前提不要仅为了获取其他类中某个功能而去继承继承是要有逻辑关系在里面的,不要随意继承。比如狗就不要继承人这个类了。三、继
2021-03-16 16:19:38
70
原创 java学习笔记之封装——2021/03/13
封装和隐藏使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。对不能让调用者随意使用的属性做封装和隐藏。一、信息的封装和隐藏java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对该属性的操作,以实现下述目的:隐藏一个类中不需要对外提供的实现细节使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作便于修改,增强代码的可维护性示例://P
2021-03-16 11:09:14
65
原创 多益网络春招笔试题收集
单选,填空,问答,编程一、第一份文章链接:https://blog.csdn.net/hezuo1181/article/details/824622961、java语言不允许使用(指针)访问内存,更不允许(指针数组)访问内存。2、进程和线程的概念,两者间的区别基本概念进程:是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发;线程是进程的子任务,是CPU调度和分配的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系统可识别的最小执行和调度单位。每
2021-03-15 19:21:17
7913
原创 java学习笔记之包、引用——2021/03/13
一、包1、软件包包帮助管理大型软件系统:将语义近似的的类组织到包中;解决类命名冲突的问题包可以包含类和子包2、关键字——packagepackage语句作为java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。格式为:package 顶层包名.子包名示例: pack\Test.java package p1; //指定类Test属于包p1 public class Test{ public static void main(String[
2021-03-13 15:09:30
252
原创 java学习笔记之方法——2021/03/12
一、方法的重载1、重载的概念在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。2、重载的特点与返回值类型无关,只看参数列表,且参数列表必须不同(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。示例public int add(int x,int y){ return x + y;}public double add(double x,double y){ return x + y;}public int add(int x,int
2021-03-12 20:35:23
92
原创 java学习笔记之面向对象编程1—2021-03/07
一 、学习面向对象内容的三条主线- 1.java类及类的成员- 2.面向对象的三大特征- 3.其他关键字二、学习内容- 1.面向对象与面向过程- 2.JAVA语言的基本元素:类和对象- 3.类的成员之一:属性- 4.累的成员之二:方法- 5.对象的创建和使用- 6.面向对象特征之一:封装和隐藏- 7.类的成员之三:构造器(构造方法)- 8.几个关键字:super、this、package、import三、面向对象与面向过程1、面向对象(OOP)与面向过程(POP)- 二者都
2021-03-12 15:51:32
102
原创 java学习笔记之数组-2021/03/07
特殊流程控制语句一、return、break、continue的区别return :并非专门用于结束循环,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束;break:只能用于switch语句和循环语句中continue:只能用于循环语句;二者功能类似,但continue是终止本次循环,break是终止本层循环。4.break、continue之后不能有其他语句,因为程序永远不会执行其后的语句与break和continue不同的是,return直接结束整个方法
2021-03-07 15:05:31
74
空空如也
安卓开发:识别图片中的颜色反应带并输出文字结果
2020-03-01
Android studio 模拟器无法模拟页面(已尝试过各种方法都未解决)
2019-07-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人