自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

戌的博客

一个正在学习的JAVA小白

原创 Object类

Object类类中的方法hashCode()/toString()/equals()这三个方法时我们今后在做项目时经常要调用的方法,尤其是在编写一个标准的Java类之后,我们常常重写这三个方法,标准的Java类又称为JavaBean,JavaBean的要求:1.所有成员变量的访问权限:private2.为每一个成员变量设置一对getter和setter3.设置一个无参数和全参构造Person类package SE01.n1Object;public class Person { pri

2020-06-30 20:28:45 2534

原创 线程安全问题

线程安全线程安全:线程锁:当某线程取得该锁后,其他线程需要等待线程的安全与否,主要取决于多线程同时访问同一个对象的其中某一个方法时,可能会触发同时运行其中的某一条代码,导致最后得出的运算结果与实际不符合先来看看线程不安全的一个类Account(不安全)class Account{ int deposite=1000; String name; static Map<String,Integer>ids=new HashMap<>(); st

2020-07-15 20:37:20 23

原创 多线程

本文主要介绍了线程创建的四种方式,以及线程的获取信息的相关方法,线程的调度

2020-07-15 19:12:07 11

原创 JSON入门简介

概念package SE05.n2JSON;public class Demo01Introduce { /* * 一、概念 JavaScript Object Notation * JavaScript对象表示法 * Person p = new Person(); * p.setName("张三"); * p.setAge("李四"); * p.

2020-07-13 20:29:00 15

原创 XML的约束技术

约束:规定xml文档的书写规则1.作为框架的使用者(程序员)的掌握要求:1)能够在xml中引入约束文档2)能够简单的阅读约束文档2.分类1)DTD:一种简单的约束技术2)Schema:一种复杂的约束技术简单约束student.dtd<!ELEMENT students (student+) ><!ELEMENT student (name,age,sex)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PC

2020-07-13 20:19:35 19

原创 XML入门介绍

XML 简介/**一.概念:Extensible Markup Language 可扩展标记语言*(1)可扩展:标签都是自定义的*(2)功能:存储数据。<1>配置文件 <2>在网络中传输*(3)xml和html的区别:3.1、xml标签都是自定义的,html标签都是预定义的3.2、xml语法严格,html语法松散。3.3、xml是存储数据的,html是展示数据的。*(4)w3w:万维网联盟——xml的技术维护组织二.语法:1.基本语法1.2 xml文档后缀

2020-07-13 20:10:51 40

原创 PrintStream类与PrintWriter类

PrintStream类/*java.io.PrintStream是java.io.OutputStream的子类的子类,为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式是单纯的输出流,没有输入流构造方法:PrintStream(File file)PrintStream(String fileName)*/package SE04.n8PrintStream;import java.io.FileNotFoundException;import java.io.

2020-07-13 19:55:41 22

原创 对象流

概述/*概述Java提供了一种对象序列化的机制,用一个字节表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对他进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象操作序列化的流叫做对象流,又叫序列化流*/ObjectOutputStream类/*java.io.ObjectOutputStream类,将Java对象的

2020-07-13 19:49:23 18

原创 转换流

在了解本流之前先补充一些关于字符编码的知识点/*字符编码计算机中存储的信息都是用二进制表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符都是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象字符编码Character Encoding就是一套自然语言的字符与二进制数

2020-07-13 19:41:35 9

原创 Properties类

/*** java. util. Properties继承于Hashtable,来表示一个持久的属性集。* 它使用键值结构存储数据,每个键及其对应值都是一个字符串。* 该类也被许多Java类使用,比如获取系统属性时,System.getProperties方法就是返回一个Properties对象。* Properties类构造方法* public Properties() :创建一个空的属性列表。* 基本的存储方法* public 0bject setProperty(String key,

2020-07-09 09:45:58 28

原创 CharacterStream字符流

CharacterStream当使用字节流读取文本时,可能会有一个问题,就是遇到中文字符时,可能不会显示完整的字符。那是因为一个中文字符可能占用多个字节存储。所以,Java提供一些字符流类,以字符为单位读写数据专门用于处理文本文件字符输入流Readerjava.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到JVM中。它定义了字符输入流的基本共性功能方法void close();关流int read();int read(char[]cbuf);从输入流

2020-07-07 20:31:31 32

原创 IO类

IO/*数据传输,可以看做是一种数据的流动,按照流动的方向,以JVM为基准,分为输入input和输出output即流向JVM是输入流,流出JVM是输出流Java中的IO操作主要是指java.io包下的内容,进行输入输出操作,输入也叫读取数据,输出也叫做写出数据根据数据的流向分为:输入流和输出流输入流:把数据从其他设备上读取到JVM中的流输出流:把数据从JVM中写出到其他设备上的流根据数据的类型分为:字节流和字符流字节流:以字节为单位,读写数据的流。字符流:以字符为单位,读写数据

2020-07-07 20:19:38 16

原创 File类

File类/*java.io.File类代表硬盘上的一个文件或者目录每个File类文件的对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息如:名称、长度、所含文件个数等调用它的方法则可以完成对文件或者目录的常用管理操作例如:创建、删除等操作File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法*/类中静态方法1.分隔符:1-1:File.pathSeparatorChar 与系统有关的路径分隔符Windows:分号(;) Linux:冒号(:)(该

2020-07-06 20:36:30 28

原创 Collections类

Collections/*Collections提供了操作集合的常用算法,这些算法都是以静态方法的形式提供的。这些方法的第一个参数都是需要操作的集合的引用。Collections提供的多数算符都是针对List类型的,也有部分可以操作任何类型的集合排序:void sort();随机排序:void shuffle()反转集合中的顺序:void reverse()二分查找:int binarySearch();大量数据时查找快*/package SE03.n3Collections;

2020-07-04 10:58:36 3183

原创 一个集合类的小练习(Map类)

练习:计算一个字符串中每个字符出现的次数,使用Map今天老师布置了一个小作业,老师说有点点难度,起初抱着钻研的心态试试,花了十几分钟写出来并优化了一下package Work2;import java.util.*;public class homework2 {// 练习:计算一个字符串中每个字符出现的次数,使用Map public static void main(String[] args) { Scanner scanner = new Scanner(S

2020-07-02 20:40:59 35

原创 泛型

泛型:把类型作为变量的值 泛型也可以自定义使用,也有四步骤: 1.泛型的定义:定义在类、定义在方法、定义在成员变量 2.泛型的设置:成员变量、方法参数…… 3.泛型的确定:当调用定义的代码时 4.泛型的触发:当调用设置的代码时package SE03.n2泛型;import java.util.ArrayList;public class Demo02Generic { public static void main(String[] args) {/* * 泛型 */ A

2020-07-02 20:30:01 22

原创 Map类

Map与Collection的区别/*Collection中集合,元素都是孤立存在的,向集合中添加元素采用的是一个一个的添加的方式Map中的集合,元素都是成对出现的,每个元素由键和值两部分组成,通过键可以找到对应的值,向集合中添加元素采用的是一对一对的添加的方式。Map中有多个子类,主要有HashMap和LinkedHashMap。HashMap:存储数据采用哈希表结构,元素的存取顺序不能保持一致(无序)。由于要保证键的唯一、不重复,需要重写键的hashCode()和equals()键和

2020-07-02 20:02:54 21

原创 List类及子类

List类概述/*List接口继承自Collection接口,是单列集合的一个重要分支,习惯上我们把实现了List接口的集合称为List集合1.允许出现重复的元素,所有元素以线性方式存储,在程序中可以通过索引来访问结合中指定的元素。2.元素有序,元素的存入顺序和取出顺序是一致的。*/常用方法1.public E get(int index)返回集合中指定位置的元素2.public E remove(int index)移除集合中指定位置的元素,返回移除的元素3.public E s

2020-07-02 19:51:13 46

原创 集合类

Collection集合:集合是Java提供的一种容器,可以用来存储多个数据。数组也是容器,但是数组的长度是固定的,集合的长度是可变的数组中存储的都是同一类型的元素,可以存储基本数据类型的值;集合存储的都是对象,而且对象的类型可以不一致。在开发中,一般对象多的时候,使用集合。集合安装其存储结构可以分为两大类,分别是单例集合java.util.Collection和双列集合java.util.MapCollection:单列集合的根接口,用于存储一系列复合某种规则的元素,它有两个重要的子接口

2020-07-01 21:29:39 31

原创 自定义Exception类

自定义异常/*自定义异常的三步骤1.定义:一般是继承Exception,重写构造2.设置:将该异常设置在某段代码中,复合条件则抛出3.触发:调用设置了异常的代码,符合条件则触发异常*/先定义两个自定义异常:年龄异常 取款异常AgeIllegalExceptionpackage SE02.n1Exception;public class AgeIllegalException extends Exception{//年龄非法异常 public AgeIllegalExceptio

2020-07-01 20:50:12 74

原创 Exception类

异常类/*什么是异常(Exception)异常是程序在编译或运行过程中出现的例外,这些例外有的可以避免,有的却无法避免。Exception类继承自Throwable类,Throwable类还有一个子类ErrorError代表的是错误,不再是程序员编程处理的范围。检查异常也称为编译期异常不可避免,必须进行异常处理,要不编译器报错Exception以及它的子类(除去RuntimeException)未检查异常也称为运行时异常可以避免,不需要必须处理RuntimeException以

2020-07-01 20:29:49 71

原创 时间类练习

练习1/*电子表功能:程序启动后,每秒向控制台输出当前系统时间,格式:10:35:33*/package SE01.n8dateFomat;import java.text.SimpleDateFormat;import java.util.Date;public class Demo02Test1 {/* * 电子表功能: * 程序启动后,每秒向控制台输出当前系统时间,格式:10:35:33 * */ public static void main(String[]

2020-06-30 21:27:21 19

原创 时间类总结

Date类java.util.DateDate的每一个实例用于表示一个确切的时间点,内部维护了一个long值,该值保存的是自1970年1月1日00:00:00到当前Date所表示时间之间经过的毫秒数。由于Date自身设计问题(主要是时区问题),所以Date大部分的操作时间的方法都被声明为过时方法,实际开发中已经不再建议使用了Date类的构造方法Date() 无参构造Date(long time) 有长整型参数的构造方法其他构造方法以及废弃不用Date类常用方法long getTime(

2020-06-30 21:08:29 22

原创 Math类

Math类以下介绍一些Math类中常用的方法,由于Math类为final且构造方法为private,所以在使用Math类时直接用类名调用方法。1.返回参数的绝对值 Math.abs();2.返回大于或等于参数的最小整数。返回值为double类型 Math.ceil();//向大取整3.返回小于或等于参数的最大整数。返回值为double类型 Math.floor();向小取整4.返回值与参数最接近的整数,如果参数与两个整数的距离相等,则返回其中为偶数的那一个。返回值为double类型 Math.ri

2020-06-30 20:59:38 9

原创 基本数据类

Integer类java.lang包下,为8种基本数据类型提供了对应的包装类。包装类提供了字符串、基本数据类型、包装类之间的相互转换的方法数字基本数据类型的包装类都继承了Number类,它们的使用方式相似下面以常用的基本数据类型int对象的包装类Integer为例,说明数字类型包装类的使用示例package SE01.n4Integer;public class Demo01Integer { public static void main(String[] args) {// 1

2020-06-30 20:50:35 13

原创 System类

System类java.lang.System类代表运行时系统,提供了一些获取设置和获取当前系统运行环境的方法:System有三个成员变量:System.in 标准输入流 System.out 标准输出流 System.err 错误输入流System中的方法: System.currentTimeMillis();//返回以毫秒为单位的当前时间 System.arrayCopy();//快速复制数组的方法 System.exit();//退出Java虚拟机的方法 示例p

2020-06-30 20:43:56 17

原创 正则表达式

字符串与正则表达式字符串支持正则表达式的方法之一:boolean matches(String regex)使用给定的正则表达式验证当前字符串是否满足其格式要求,满足则返回true,不满足则返回false需要注意:给定的字符串无论是否添加了边界匹配,都是做全匹配验证,所以在这里给定的正则表达式可以不添加^$这两个字符。正则表达式是一串特定的字符,组成一个“规则字符串”,这个规则字符串是描述文本规则的工具。正则表达式就是记录文本规则的代码。举例package SE01.n1Strin

2020-06-30 20:38:17 22

原创 StringBuffer和StringBuilder

StringBuilderStringBuilder与String区别1.StringBuilder 是带缓冲区的可变字符串2.一个String对象的长度是固定的,不能改变它的内容,也不能附加新的字符到String3.String对象中,可以使用连接“+”运算符来连接字符串以达到附加新字符串到字符串的目的,但使用连接运算符后会产生新的字符串的实例,即需要另外分配控件。如果既想节省开销,4.又能改变字符串的内容,则可以使用StringBuilder类StringBuilder类构造方.

2020-06-30 14:48:20 17

原创 String类

String类String类代表字符串,提供了开发中常用的字符串处理的方法,如:求字符串的长度,截取字符串,替换字符串字符串是常量,它的值创建之后就不可以再修改了String类常用构造方法: String()无参构造方法 String(String str)有一个字符串参数的构造方法 String(char[]ch)有一个char类型数组参数的构造方法 String(byte[]b)有一个byte类型数组参数的构造方法 ...

2020-06-30 14:04:47 21

原创 String方法的练习

练习一1:输出字符串"HelloWorld"的字符串长度2:输出"HelloWorld"中"o"的位置3:输出"HelloWorld"中从下标5开始第一次出现"o"的位置4:截取"HelloWorld"中的"Hello"并输出5:截取"HelloWorld"中的"World"并输出6:输出"HelloWorld"是否是以"h"开头和"ld"结尾的。7:输出"HelloWorld"中第6个字符"W"public class Test01 { public static void main

2020-06-30 10:41:57 145

转载 重载(Override)与重写(Overloading)

重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IOExceptio

2020-06-30 10:31:06 27

原创 类成员与实例成员

实例:具体的对象,更强调彼此的不同类成员:是属于类的,实例成员是属于实例的1)类属性与实例属性的区别1>类属性是static修饰的,实例属性不被static修饰2>类属性是属于类的,是所有实例共用的3>实例属性是属于实例的,每个实例拥有属于自己独有的实例属性4>类属性与实例属性的调用方式不同4.1>类属性可以对象名.调用 ,也可以类名.调用4.2>实例属性只能用 对象名.调用...

2020-06-29 11:08:38 32

原创 冒泡排序与快速排序

冒泡排序 public static void main(String[] args) {// Java方法是用来封装一段特定的逻辑// 方法名(参数列表)====方法签名// method();// 代码复用结构清晰// 4、方法的形式分类// 4.1、无参无返回值method()// 4.2、有参无返回值add(109,2);// 4.3、无参有返回值System.out.println(m3());// 4.4、有参有返回值System.out.printl.

2020-06-29 10:58:45 27

原创 继承与多态

2.1继承的代码复用:子类继承父类后,出构造方法外,其他代码均被复用 2.1.1继承的关键字:extends 2.2子类的扩展:在父类的基础上扩展新的成员 2.3父类有多个子类,但子类只有一个父类 2.4方法的重写:发生在父子类之间,方法签名完全相同, 2.5父类某方法被不同子类重写为不同表现形式 2.6向上造型与多态 向上造型:父类的引用指向子类的对象 多态:相同类型引用的同名方法产生不同的效果。 多态的前提;继承、重写、向上造型...

2020-06-29 10:32:59 24

原创 练习2

练习1:顺序、倒序输出1~10,中间以空格隔开1 2 3 ……10 10 9 8 ……1 for (int i = 1; i < 11; i++) { System.out.print(i + " "); if (i == 10) { for (int j = 10; j > 0; j--) { System.out.print(j + " "); } } }练习2:求1~100的偶数和。 for(int i =1;i<101;

2020-06-29 10:08:19 32

原创 练习1

1、现在有一个银行保险柜,有两道密码。 想拿到里面的钱必须两次输入的密码都要正确。 如果第一道密码都不正确,那直接把你拦在外面; 如果第一道密码输入正确,才能有权输入第二道密码。 只有当第二道密码也输入正确,才能拿到钱! 密码通过控制台输入进行设置 Scanner sc = new Scanner(System.in); boolean flag=false; System.out.println("请设置第一道密码"); String first=sc.next(); .

2020-06-29 09:37:12 39

原创 运算符和表达式

// 5、运算符和表达式// 5-1 算术运算符: + - * / ++ -- %// ++ --只能用在变量上 int a=10; int b=++a; System.out.println("b:"+b);//b:11 System.out.println("--b:"+--b);//--b=10 System.out.println("b++:"+b++);//b++=10(输出完成后b=11) System.out.println("b--:"

2020-06-29 08:59:18 16

原创 一、数据类型

1、数据类型:节约内存、提高效率基本数据类型和引用数据类型1.0、基本数据类型:4类8种//整数类、小数类、布尔类、字符类1.1、整数类:4种(byte、short、int、long)1.1.1、byte字节型:8bit=1byte: //输出Byte类型的最大值最小值 System.out.println(Byte.MAX_VALUE);//127 System.out.println(Byte.MIN_VALUE);//-1281.1.2、short短整型:16bit=2b

2020-06-29 00:58:11 17

转载 Java new对象 内存读取过程

Java new对象 内存读取过程1.先父类,后子类2.先属性,后构造方法3.先静态,后非静态4.静态属性和静态代码块看书写先后顺序5.统一类型(非数据类型),按代码书写顺序父类静态变量,父类静态代码块子类静态变量,子类静态代码块父类非静态变量,父类非静态代码块父类构造函数,子类非静态变量子类非静态代码块,子类构造函数————————————————版权声明:本文为CSDN博主「Boom_Man」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文

2020-06-28 20:54:19 84

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