自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 Map集合

3.1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。* Collection`中的集合,元素...

2019-11-29 19:44:24 197

原创 排序算法

我们会使用数组来存储多个数据,有时候我们要将数组中的元素进行排序。比如原始数组为{5, 1, 3, 2},排序后为{1, 2, 3, 5}。常见排序算法有:选择排序,冒泡排序,快速排序等。2.1 冒泡排序冒泡排序原理:相邻元素比较,大的往后放。实现代码public static void main(String[] args) { int[] arr = new int[] {5...

2019-11-29 19:35:48 390

原创 Collections类

1.1 Collections常用功能java.utils.Collections是集合工具类,用来对集合进行操作。常用方法如下:public static void shuffle(List<?> list):打乱集合顺序。public static <T> void sort(List<T> list):将集合中元素按照默认规则排序。pu...

2019-11-29 19:34:42 180

原创 Set接口

6.1 HashSet集合介绍java.util.HashSet是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序不能保证不一致)。java.util.HashSet底层的实现其实是一个java.util.HashMap支持,由于我们暂时还未学习,先做了解。HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存储和查找性能。保证元素唯一...

2019-11-20 23:53:53 172

原创 List的子类

5.1 ArrayList集合java.util.ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。许多程序员开发时非常随意地使用ArrayList完成任何需求,并不严谨,这种用法是不提倡的。5.2 LinkedList集合java.util.LinkedList集合数据存储的结构是链...

2019-11-20 23:51:36 458

原创 List集合

我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢?接下来,我们一起学习Collection中的常用几个子类(java.util.List集合、java.util.Set集合)。4.1 List接口介绍java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为Lis...

2019-11-20 23:50:07 221

原创 数据结构

3.1 数据结构介绍数据结构 : 数据用什么样的方式组合在一起。3.2 常见数据结构数据存储的常用结构有:栈、队列、数组、链表和红黑树。我们分别来了解一下:栈栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。简单的说:采用该结构的集合,对元素的存取有如下的特点先进后出(即,存进去的元素,...

2019-11-20 23:48:55 161

原创 集合综合案例

2.1 案例介绍按照斗地主的规则,完成洗牌发牌的动作。具体规则:使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。2.2 案例分析准备牌:牌可以设计为一个ArrayList,每个字符串为一张牌。每张牌由花色数字两部分组成,我们可以使用花色集合与数字集合嵌套迭代完成每张牌的组装。牌由Collections类的shuffle方法进行随机排序。...

2019-11-20 23:44:43 352

原创 Iterator迭代器

1.1 Iterator接口在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator。想要遍历Collection集合,那么就要获取该集合迭代器完成迭代操作,下面介绍一下获取迭代器的方法:public Iterator iterator(): 获取集合对应的迭代器,用来遍历集合中的元素的。下面介绍一下迭代的概念:迭代:即...

2019-11-20 23:43:21 115

原创 Collection集合

7.1 集合概述在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢?集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有什么区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储任意类型数据。集合存储的都是引用数据类型。如果想存储基本类型数据需要存储对应的包装类型。7.2 集合...

2019-11-14 00:06:44 162 1

原创 泛型

6.1 泛型概述在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。大家观察下面代码:public class GenericDemo { public static void main(String[] args) { Collection coll...

2019-11-14 00:05:37 138

原创 包装类

5.1 概述Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:基本类型对应的包装类(位于java.lang包中)byteByteshortShortintIntegerlongLongfloa...

2019-11-14 00:01:53 92

原创 StringBuilder类

4.1 字符串拼接问题由于String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象。例如:public class StringDemo { public static void main(String[] args) { String s = "Hello"; s += "World"; System....

2019-11-14 00:00:25 115

原创 BigDecimal类

loat和double类型是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。public class Demo23 { public static void main(String[] args) { System.o...

2019-11-13 23:58:24 131

原创 System类

java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:public static long currentTimeMillis():返回以毫秒为单位的当前时间。public static void arraycopy(Object src, int srcPos, Object dest, int des...

2019-11-13 23:56:35 104

原创 日期时间类

1.1 Date类概述java.util.Date类 表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。public Date(long date):分配Date对象并初始化此对象,以表示自...

2019-11-13 23:55:11 333

原创 Objects类

Objects类是对象工具类,它里面的的方法都是用来操作对象的。6.1 equals方法在刚才IDEA自动重写equals代码中,使用到了java.util.Objects类,那么这个类是什么呢?在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对...

2019-11-09 23:22:48 312

原创 Object类

5.1 概述java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:public class MyClass /*extends Object*/ { // ...}根据JDK源代码及Object类的API文档,...

2019-11-09 23:21:51 120

原创 代码块

4.1 引入类有且仅有五大成分:​ 1.成员变量​ 2.构造器​ 3.成员方法​ 4.代码块​ 5.内部类我们已经学完了成员变量,构造器,成员方法,接下来我们来介绍以下代码快,代码块按照有无static可以分为静态代码块和实例代码块。4.2 静态代码块静态代码块​ 必须有static修饰,必须放在类下。与类一起加载执行。格式st...

2019-11-09 23:19:27 133

原创 包和权限修饰符

3.1 包包我们每天建的项目就是在一个目录下,我们每次都会建立一个包,这个包在磁盘下其实就是一个目录。包是用来分门别类的管理技术,不同的技术类放在不同的包下,方便管理和维护。在IDEA项目中,建包的操作如下:包名的命名规范:路径名.路径名.xxx.xxx包名必须用”.“连接。包名的每个路径名必须是一个合法的标识符,而且不能是Java的关键字。3.2 权限修饰符在Java中提...

2019-11-09 23:17:45 158

原创 内部类

2.1 概述2.1.1 什么是内部类将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。可以把内部类理解成寄生,外部类理解成宿主。内部类是Java类的五大成份之一,也是我们最后一个需要学习的成份。2.1.2 什么时候使用内部类一个事物内部还有一个独立的事物,内部的事物脱离外部的事物无法独立使用人里面有一颗心脏。汽车内部有一个发动机。为了实现更好的封装性。...

2019-11-09 23:15:24 123

原创 多态

1.1 多态的形式多态是继封装、继承之后,面向对象的第三大特性。多态是出现在继承或者实现关系中的。多态体现的格式:父类类型 变量名 = new 子类/实现类构造器;变量名.方法名();多态的前提:有继承关系,子类对象是可以赋值给父类类型的变量。例如Animal是一个动物类型,而Cat是一个猫类型。Cat继承了Animal,Cat对象也是Animal类型,自然可以赋值给父类类型的变量。...

2019-11-09 23:09:50 150

原创 枚举

1.1 不使用枚举存在的问题假设我们要定义一个人类,人类中包含姓名和性别。通常会将性别定义成字符串类型,效果如下:public class Person { private String name; private String sex; public Person() { } public Person(String name, String se...

2019-10-30 23:05:31 453

原创 单例设计模式

正常情况下一个类可以创建多个对象public static void main(String[] args) { // 正常情况下一个类可以创建多个对象 Person p1 = new Person(); Person p2 = new Person(); Person p3 = new Person();}1.1 单例设计模式的作用单例模式,是一种常用的软件设计模式。通过单例模...

2019-10-30 23:01:28 1015

原创 final关键字

3.1 概述学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了final 关键字,用于修饰不可改变内容。final: 不可改变,最终的含义。可以用于修饰类、方法和变量。类:被修饰的类,不能被继承。方法:被修饰的方法,不能被重写。变量:被修饰的...

2019-10-30 22:57:37 251

原创 接口

1.1 概述我们已经学完了抽象类,抽象类中可以用抽象方法,也可以有普通方法,已经构造器,成员变量等。那么什么是接口呢?接口是更加彻底的抽象,接口中全部是抽象方法。(JDK8之前),接口同样是不能创建对象的。1.2 定义格式//接口的定义格式:修饰符 interface 接口名称{ // 抽象方法}// 修饰符:public|缺省// 接口的声明:interface// 接...

2019-10-30 22:04:49 1179

原创 抽象类

1.1 概述1.1.1 抽象类引入父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎么实现父类是不清楚的(由子类自己决定),父类完全只需要提供一个没有方法体的方法签名即可,具体实现交给子类自己去实现。我们把没有方法体的...

2019-10-26 23:47:02 1096

原创 继承

1024程序员节日快乐1.1 概述1.1.1 引入假如我们要定义如下类:学生类,老师类和工人类,分析如下:学生类属性:姓名,年龄行为:吃饭,睡觉老师类属性:姓名,年龄,薪水行为:吃饭,睡觉,教书班主任属性:姓名,年龄,薪水行为:吃饭,睡觉,管理如果我们定义了这三个类去开发一个系统,那么这三个类中就存在大量重复的信息(属性:姓名,年龄。行为:吃饭,睡觉)。这样就导致了...

2019-10-24 23:54:55 1433

原创 static关键字

1.1 概述引入: 我们之前定义了很多成员变量(name , age , sex) 其实我们只写了一份,但是发现每个对象都可以用,就说明 Java中这些成员变量或者方法是存在所属性的。 有些是属于对象的,有些是属于类本身的。 Java是通过成员变量是否有static修饰来区分是类的还是属于对象的。 static ...

2019-10-24 20:58:58 1941

原创 Java基础Day09

学习目标1、能够知道集合和数组的区别2、能够完成ArrayList集合添加字符串并遍历 (应用)3、能够完成ArrayList集合添加学生对象并遍历 (应用)4、能够完成学生管理系统主界面编写 (应用)5、能够完成学生管理系统添加操作 (应用)6、能够完成学生管理系统查询操作 (应用)7、能够完成学生管理系统删除操作 (应用)8、能够完成学生管理系统修改操作 (应用)1 A...

2019-10-21 21:11:55 587

原创 Java基础Day08

1 APIAPI (功能代码)API文档(说明书)1.1 API概述什么是API​ API (Application Programming Interface) :应用程序编程接口java中的API​ 指的就是 JDK中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这...

2019-10-19 23:46:16 417

原创 Java基础Day07

学习目标1.能够知道类和对象的关系2.能够完成类的定义及使用3.能够知道对象在内存中的初始化过程4.能够知道局部变量和成员变量的区别5.能够知道private关键字的特点6.能够知道this关键字的作用7.能够知道构造方法的格式和注意事项8.能够完成一个标准类代码的编写及测试今天的内容可能会有点抽象,但希望大家能够理解面向对象,Java语言是全面象对象的。想要思维导图笔记的也...

2019-10-18 00:58:35 1478

原创 Java基础Day06

1.Debug模式今天放些题目做做。1.1什么是Debug模式是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。1.2Debug模式操作流程如何加断点选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可如何运行加了断点的程序在代码区域右键Debug执行看哪里看Debugger窗口看Console窗...

2019-10-15 21:36:04 2690

原创 Java基础Day05

1. 方法概述1.1 方法的概念(理解)​ 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意:方法必须先创建才可 以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用2. 方法的定义和调用2.1 无参数方法定义和调用(掌握)定义格式:public static void 方法...

2019-10-15 21:21:45 3825 2

原创 Java基础Day04

1 IDEA开发工具1.1 IDEA安装​ 注意:建议指定自定义安装路径。​ 详细步骤参考笔记中的《IDEA安装详解.pdf》文档。1.2 IDEA破解​ 由于IDEA属于收费软件,只给使用者提供了30天的试用时间。需要长期使用,需要进行破解。​ 详细步骤参考 ideaIU-2018.3.1安装包&破解补丁中的《破解文档.docx》文档。1.3 创建IDEA工程创建...

2019-10-13 18:00:17 1495 1

原创 Java基础Day03

大家国庆过得怎样?1 switch结构1.1 switch的格式switch(表达式){ case 常量值1: 语句体1; break; case 常量值2: 语句体2; break; ... default ...

2019-10-12 20:44:04 530

原创 Java基础Day02

第二天的来啦。1 运算符常用的运算符:​ 算术运算符、赋值运算符、自增自减运算符、关系运算符、逻辑运算符、三元运算符1.1 算术运算符符号作用说明+加对数字进行加法运算,对字符串进行拼接。-减进行减法操作*乘进行乘法操作/除整数相除的结果只能是整数,想要得到小数,必须有浮点数参与运算。%取余a%b,获得a和b相除的余数。...

2019-10-01 01:31:25 1364

原创 Java基础Day01

作为一名JAVA开发的程序员,一直没有好好整理过自己的笔记和技术栈。很多用过的东西都忘了,从今天起,开始记录下自己的学习历程。希望还能跟上时代的步伐。谨记 不骄不躁1_Java语言发展史(了解)Java语言诞生于1995年,由Sun公司推出。​ 2009年,Sun公司被甲骨文(oracle)公司收购,官网地址:https://www.oracle.com​ Java之父:詹姆斯·高斯...

2019-09-24 17:24:58 3121 1

npp.7.5.8.Installer.x64.rar

notepad(记事本)是代码编辑器或WINDOWS中的小程序,用于文本编辑,在文字编辑方面与Windows写字板功能相当。是一款开源、小巧、免费的纯文本编辑器。 Notepad内置支持多达 27 种语法高亮度显示(囊括各种常见的源代码、脚本,值得一提的是,完美支持 .nfo 文件查看),也支持自定义语言。

2019-09-24

jdk-11_windows-x64_bin.rar

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

2019-09-24

空空如也

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

TA关注的人

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