
Java
文章平均质量分 63
Java学习笔记
筱筱
这个作者很懒,什么都没留下…
展开
-
【Java-----Object类详解】
本文主要介绍了Object基类中的一些常用方法。在Java中,Object类是所有类的基类/超类,一个类如果没有明确继承的父类,那么该类就默认继承Object类。下面介绍一下Object类中的几个常用方法。原创 2022-12-27 17:46:54 · 869 阅读 · 0 评论 -
【Java-----数组拷贝】
本文主要介绍了数组拷贝的几种方式,深拷贝和浅拷贝。深拷贝和浅拷贝对于数组来说,深拷贝就是相当于拷贝了数组的对象(基本数据类型),也就是数组当中的内容。而浅拷贝就是拷贝的是数组的地址(引用类型),浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化。原创 2022-12-26 15:38:47 · 822 阅读 · 0 评论 -
【Java-----创建线程的方法】
本文主要总结了创建线程的几种方法:方法一:继承于Thread类,方式二:实现Runnable接口,方式三:实现Callable接口,方式四:使用线程池,方式五:使用匿名类原创 2022-12-25 20:53:18 · 482 阅读 · 0 评论 -
【Java-----Java中的进程与线程详解】
本文主要介绍了Java中进程和线程的概述与区别。进程是动态的,程序是静态的,程序运行起来后,就是一个进程(由系统管理起来的),是系统分配资源的基本单位。进程=程序+数据+PCB(进程控制块,是进程存在的唯一标识)。双击打开某个文件(该文件叫做程序),打开这个文件让程序运行起来就是一个进程。线程是指“进程代码段”的一次顺序执行流程,线程是资源调度的最小单位,线程只是一个进程中的不同执行路径。一个进程可以有一个或多个线程,各个线程之间共享进程的内存空间,系统资源。原创 2022-11-13 17:16:03 · 1007 阅读 · 0 评论 -
【Java-----IO流(八)之对象专属流详解】
本文主要介绍了标准对象流,序列化和反序列化,以及序列化和反序列化的实现。序列化:指把Java对象转换为字节序列的过程,反序列化:指把字节序列恢复为Java对象的过程。对象序列化流:ObjectOutputStream对象反序列化流:ObjectInputStream原创 2022-11-12 17:48:07 · 485 阅读 · 0 评论 -
【Java-----IO流(七)之标准输出流详解】
本文主要介绍了标准输出流的详细信息,以及标准输出流的应用。public static final PrintStream out:是System类中的静态成员变量,是标准输出流,通常该流对应于显示输出或由主机环境或用户指定的另一个输出目标System.out的类型是PrintStream(打印流),其是OutputStream的子类FilterOutputStream的子类原创 2022-11-11 11:45:42 · 1024 阅读 · 0 评论 -
【Java-----IO流(六)之标准输入流详解】
本文主要讲了标准输入流的原理以及使用方法。public static final InputStream in:是System类中的静态成员变量,是标准输入流,通常该流对应于键盘输入或由主机环境或用户指定的另一个输入源原创 2022-11-06 16:11:35 · 254 阅读 · 0 评论 -
【Java-----IO流(五)之数据流详解】
本文主要介绍了数据流概述以及数据流的使用和一些常用方法。数据流也是处理流的一种,为了方便操作Java语言中的基本数据类型和String类型的数据,可以使用数据流来进行操作。数据流可以将我们Java语言中的基本数据类型和String类型的数据持久化存储到硬盘中,需要的时候就可以使用数据输入流将硬盘中持久存储的数据读入到程序中。这里的持久化存储和我们单独对文本的存储是不一样的,持久化存储到硬盘中的文件不是直接打开看的(打开看有的很多都会出现乱码),只是为了进行存储。原创 2022-11-05 17:24:43 · 1008 阅读 · 0 评论 -
【Java-----IO流(四)之转换流详解】
本文主要介绍了转换流的基本概述,以及转换流的作用和使用方法。当我们文件里面含有中文英文以及数字时,我们使用字节流将文件内容在内存中显示,英文和数字显示正常,而中文却显示乱码,这时候我们可以使用转换流将其转换为字符流显示在内存中。转换流是字符流和字节流之间的桥梁。InputStreamReader用于将字节输入流转换为字符输入流,OutputStreamWriter用于将字节输出流转换为字符输出流。使用转换流可以在一定程度上避免乱码,还可以指定输入输出所使用的字符集。原创 2022-11-03 17:22:14 · 916 阅读 · 0 评论 -
【Java-----Properties类详解】
本文主要介绍了Properties类,以及Properties类的一些常用方法。Properties是Java中一个比较重要的类,主要用于读取Java的配置文件。各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”或者“键 值”的格式,文本注释信息可以用“#”来注释。原创 2022-11-03 16:21:53 · 2594 阅读 · 0 评论 -
【Java-----IO流(三)之缓冲流详解】
本文主要介绍了缓冲流的原理,以及字节缓冲流和字符缓冲流的使用方法。缓冲流也称为高效流,或者高级流,字节流可以称为原始流。缓冲流自带缓冲区,可以提高原始字节流和字符流读写数据的性能。缓冲流的原理就是,创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区进行读写,减少系统的IO次数,提高读写效率。原创 2022-11-01 20:46:07 · 665 阅读 · 0 评论 -
【Java-----IO流(二)之字符流详解】
本文主要介绍了字符流的一些相关知识,字符输入流和字符输出流的常用方法。当使用字节流读取文件时,可能会有一个问题,就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储,所以Java提供了字符流类,以字符为单位读写数据,专门用于处理文本文件。原创 2022-10-31 19:41:29 · 454 阅读 · 0 评论 -
【Java-----IO流(一)之字节流详解】
本文主要讲了字节流的概述以及字节输入流和字节输出流的使用。字节流是按照字节的方式读取数据,一次读取一个字节,也就是8个二进制位,这种流是万能的,什么类型的文件都可以读取,包括:文本文件,图片,声音文件,视频文件等。通常如果文件能通过记事本打开,我们还可以读懂里面的内容,就使用字符流,否则使用字节流。如果不知道该使用哪种类型的流,就使用字节流。IO:输入/输出(Input/Output)流:是一种抽象概念,对数据传输的总称,也就是说数据在设备间的传输成为流,流的本质是数据传输IO流:用来处理设备间数据传输原创 2022-10-27 20:54:51 · 1792 阅读 · 0 评论 -
【Java-----File类详解】
本文主要讲解了File类的使用以及File类中的常用方法。Java.io.File类是文件和文件目录路径的抽象表示形式,与平台无关。文件和目录是可以通过File封装成对象的,对于File而言,其封装的并不是一个真实存在的文件,仅仅是一个路径名而已,它可以是存在的,也可以是不存在的,将来是要通过具体的操作把这个路径的内容转换为具体存在的。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File类中涉及到关原创 2022-10-25 20:06:36 · 779 阅读 · 0 评论 -
【Java-----Queue集合详解】
本文主要讲了Queue集合的基本方法以及其实现类。Queue接口有一个PriorityQueue实现类,除此之外,Queue还有一个Deque接口,Deque代表一个双端队列,双端队列可以同时从两端来添加,删除元素,因此Deque的实现类既可当成队列使用,也可当成栈使用,Java为Deque提供了ArrayDeque和LinkedList两个实现类。Queue用于模拟队列这种数据结构,队列通常是指先进先出的容器。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不原创 2022-10-23 19:20:20 · 7830 阅读 · 0 评论 -
【Java----String类详解】
本文主要介绍了String类的概念,特点,构造方法,常用方法等,String表示字符串类型,属于引用数据类型,不属于基本数据类型。String类由final关键字修饰,表示该类不能被继承。在Java中,String的对象可以通过直接赋值的形式进行实例化操作,也就是说在Java中,使用双引号""引起来的都是String的对象。字符串的字符使用Unicode进行编码,一个字符(不区分字母还是汉字)占两个字节。Java中规定,双引号括起来的字符串是不可变的,也就是说"abc"自出生到最终死亡,不可变,不能变成原创 2022-10-22 20:11:27 · 4935 阅读 · 1 评论 -
【java-----Character类详解】
本文主要讲了Character类以及Character类的常用方法,Character类概述Character类用于对单个字符进行操作,Character类在对象中包装一个基本类型char的值,在实际开发中,我们经常会遇到需要使用对象,而不是内置数据类型的情况,为了解决这个问题,Java语言为内置数据类型char提供了包装类Character类,Character类的对象包含类型为char的单个字段,这样的话就能够将基本数据类型当对象来处理。原创 2022-10-20 20:39:44 · 3632 阅读 · 1 评论 -
【Java-----异常处理机制详解】
本文主要讲了Java中异常的体系结构以及分类,以及Java中异常的处理机制,以及处理方法。程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?Java的解决方法是异常处理机制。异常处理机制能让程序在发生异常时,按照代码的预先设定的异常处理逻辑,针对性的处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw语句手动抛出的,原创 2022-10-19 18:32:19 · 1634 阅读 · 0 评论 -
【java-----System类详解】
System类位于Java.long包,代表当前Java程序的运行平台,系统级的很多属性和控制方法都放置在该类的内部。System类由final修饰,所以不能被继承,System类这种final类是在JVM启动时就会被初始化,由于System类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。但System类提供了一些静态的类变量和类方法,允许直接通过System类来调用这些类变量和类方法。原创 2022-10-17 17:02:23 · 2387 阅读 · 0 评论 -
【Java-----日期类(三)之Calendar类详解】
Calendar类是Java.util包中提供的一个抽象类,该类从JDK1.1开始出现,作为Date类的替代方案,Calendar类中包含了对不同国家地区日历的处理,Calendar类常见的子类为:java.util.GregorianCanlendar;获取Calendar对象一般使用类中提供的静态方法:getInstance(),该方法返回了Calendar的子类对象原创 2022-10-15 21:03:53 · 14214 阅读 · 0 评论 -
【Java-----日期类(二)之SimpleDateFormat类详解】
SimpleDateFormat类是DateFormat的子类,叫日期格式化类,专门用来格式化和解析日期的,是一个以和语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化和解析。格式化指的是将存储日期的类转化为字符串记录的日期形式,这里主要指Date类转化为String类。解析是格式化的逆过程,指的是将表示日期的字符串转化为记载日期的类。原创 2022-10-15 15:29:38 · 5031 阅读 · 0 评论 -
【Java-----日期类(一)之Date类详解】
一般常用的是Java.util.Date包下的Date类,在java.sql.Date包下也有一个Date类,sql包下的Date类主要用于和数据库打交道,其内容只包括日期,没有时间,util包下的Date类用于平常日期使用,其内容包括日期和时间。Date类表示系统特定的时间戳,可以精确到毫秒。Date类中的大部分方法都过时了或者被Calendar类中的方法所取代。下面简单介绍一下Date还可以使用的常用方法。原创 2022-10-14 20:10:07 · 4273 阅读 · 0 评论 -
【Java-----内部类详解】
在一个中又嵌套了一个类,被嵌套的类称为内部类,嵌套其他类的类称为外部类,举例:在类A的内部定义了类B,类B称为内部类,类A称为外部类。内部类可以分为四种:普通内部类,静态内部类,匿名内部类,局部内部类。下面将一一介绍:原创 2022-10-13 20:29:37 · 212 阅读 · 0 评论 -
【Java-----String转int】
在Java中若需要将String类型转为int类型,该使用什么方法呢?主要有以下几种方法可以使用,读者可按需使用。1 Integer.parseInt(String)方法,该方法会返回字符串中的原始整数2 Integer.valueOf(String)方法,该方法返回的是一个Integer对象注意:以上两种方法使用时,待转换的字符串必须为纯数字,若字符串中有其他字符则会抛出NumberFormatException异常原创 2022-10-10 20:37:20 · 2561 阅读 · 0 评论 -
【Java-----抽象类详解】
在Java中,一个没有方法体的方法应该定义为抽象方法。在所有普通方法上面都会有一对大括号{},这个表示方法体,有方法体的方法一定可以被对象直接使用。抽象方法是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以含有构造方法,普通方法,static方法,常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分,抽象类也要使用abstract关键字声明。注意:抽象类中不一定有抽象方法(类只要使用abstra原创 2022-10-10 16:09:08 · 247 阅读 · 0 评论 -
【Java-----接口详解】
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口用关键字interface修饰:public interface 接口名{}接口是隐式抽象的,当声明一个接口时,不必使用abstract关键字类实现接口用implements表示:public class 类名 implements 接口名 {}接口中只包含两部分内容:常量和抽象方法(jdk7以前)接口中所有的元素都是pub原创 2022-10-06 19:50:28 · 408 阅读 · 0 评论 -
【Java-----多态详解】
多态是面向对象的三大特征之一,多态是指同一个对象在不同时刻表现出来的不同形态。有继承:必须要有子类继承父类的关系有方法重写:子类需要对父类中的一些方法进行重写有向上转型:向上转型也就是有父类引用指向子类对象,如Animal a=new cat(),cat是Animal的子类多态的好处和弊端好处:提高了程序的可扩展性和可维护性具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作父类引用指向子类对象,如:Animal a=new cat()父类引用转为子类对象,如:cat原创 2022-10-04 18:48:27 · 248 阅读 · 0 评论 -
【Java-----Math函数的常用方法】
Math函数的常用方法Math.sqrt(a):计算a的平方根Math.cbrt(a):计算a的立方根Math.pow(a,b):计算a的b次方Math.max(a,b):计算最大值Math.min(a,b):计算最小值Math.abs(a):取a的绝对值Math.ceil(a):对a向上取整Math.floor(a):对a向下取整Math.rint(a):四舍五入,返回double值,注意小数点后面是.5的时候会取偶数Math.round(a):四舍五入,float时返回int值,double时返回lo原创 2022-10-03 17:00:40 · 635 阅读 · 0 评论 -
【Java-----二维数组详解与底层图解】
二维数组是存储一维数组的数组,注意二维数组不是在堆内存中开辟了一个矩阵区域,因为矩阵一定是二维数组,但二维数组不一定是矩阵。例如定义了一个3×2的二维数组,是在堆内存中开辟了一块区域A,分为3份,每一份区域保存的是一个地址,这个地址指向一个一维数组。原创 2022-09-30 19:37:26 · 989 阅读 · 1 评论 -
【Java-----Arrays工具类】
ArraysArrays是Java中的一个工具类,类中的方法均为static修饰,所以可以直接使用Arrays.xxx来调用,Arrays类处于java.util包下,使用时需导入java.util.Arrays一 String toString(type[] a)二 二分查询int binarySearch(type[] a,type key)三二分查询int binarySearch(type[] a,int fromlndex,int tolndex,type四 type[] copyOf原创 2022-09-30 10:58:16 · 1144 阅读 · 0 评论 -
【Java-----继承详解】
static修饰的方法是静态绑定(在编译时期,类和方法的关系就确定了),比如下面例子,子类“重写”了父类的静态方法,在编译时期,重写的静态方法已经和子类绑定在一起了,所以产生了“复写”的效果,准确来说子类静态方法隐藏了父类的静态方法。但是调用f.show()时,仍旧调用的是父类的静态方法,这是同样的道理,对于静态方法,在编译时期就静态绑定了类和方法的关系,不存在多态性,所以静态方法的调用看等号左边的类。使用super关键字可以调用父类中的成员变量,父类中被重写的方法或者父类的构造方法。原创 2022-09-24 16:40:12 · 733 阅读 · 0 评论 -
【Java-----类的定义组成及编写】
类是对象的数据类型类是具有相同属性和行为的一组对象的集合类是封装对象的属性和行为的载体对象是能够看得到摸得着的真实存在的实体对象是类的一个实例,有状态和行为例如动物是一个很宽泛的类,而一条狗是动物类的一个对象,它可以叫,可以吃东西,可以摇尾巴。原创 2022-09-23 16:31:36 · 826 阅读 · 0 评论 -
【Java-----集合的体系结构】
Java集合体系主要由两个根接口派生出来,Collection是单列集合,Map是双列集合,主要存储key-value对。Set接口常用的实现类有:HashSet,LinkedHashSet,TreeSet。List接口常用的实现类有:ArrayList,LinkedList,Vector。原创 2022-09-23 15:39:11 · 338 阅读 · 0 评论 -
【Java------Map集合(三)Map集合的遍历】
获取所有键的集合,用keySet()方法实现遍历键的集合,获取到每一个键,用增强for实现根据键去找值,用get(Object key)方法实现获取所有键值对对象的集合 SetentrySet():获取所有键值对对象的集合 2.遍历键值对对象的集合,得到每一个键值对对象 用增强for实现,得到每一个Map.Entry 3.根据键值对对象获取键和值 用getKey()得到键 用ge原创 2022-09-20 17:51:51 · 172 阅读 · 0 评论 -
【Java-----增强for】
可以简化数组和collection集合的遍历她是JDK5之后出现的,其内部原理是一个Iterator迭代器实现Iterator接口的类允许其对象成为增强for语句的目标原创 2022-09-20 17:22:19 · 136 阅读 · 0 评论 -
【Java------Map集合(二)Map集合的基本功能】
一 添加元素:格式: V put(K key,V value)二根据键获取值格式:V get(Object key)三 获取所有键的集合格式:Set KeySet()四 获取所有值的集合格式:Collection values()五 根据键值删除键值对元素格式:V remove(Object key)六判断集合是否包含指定的键格式:boolean contatinKey(Object key)七判断集合是否包含指定的值格式:boolean containValue(原创 2022-09-19 16:56:34 · 212 阅读 · 0 评论 -
【Java-----Map集合(一)之Map集合基本介绍】
Map集合是一个接口public interface Map,Map集合用于存储元素对(称作“键”和“值”)K:键的类型;V:值的类型将键映射到值的对象,Map不能包含重复的键,每个键可以映射到最多一个值。创建Map集合的对象因为Map是一个接口,所以要通过多态的方式来实现,最常用具体的实现类HashMap原创 2022-09-19 16:03:11 · 224 阅读 · 0 评论 -
【Java-----字符串数组,访问字符串中字符与字符串长度】
访问字符串中字符在c/c++中,在字符串中访问某个字符时,使用字符串名称[下标]来访问,比如s[0]。而在Java中则不一样,在Java中访问字符串中的字符要使用charAt()方法,比如s.charAt(0)。求字符串长度求字符串的长度使用length()方法,比如s.length()。今天在刷力扣时,使用Java,访问字符串时写成了s[0],结果报错:array reqiured,butstringfound就是因为在Java中数组的访问和字符串的访问是不一样的,s[0]原创 2022-09-17 17:33:02 · 1566 阅读 · 0 评论 -
【java-------数组的定义及初始化及数组长度】
数组定义格式格式一:数据类型[ ] 变量名范例: int[] arr;定义了一个int类型的数组,数组名是arr格式二:数据类型 变量名[ ]范例: int arr[];定义了一个int类型的变量,变量名是arr数组数组初始化动态初始化:初始化时只指定数组长度,由系统为数组分配初始值格式:数据类型[ ] 变量名=new 数据类型 [数组长度];范例: int[] arr =原创 2022-09-15 19:42:41 · 1824 阅读 · 0 评论