Java
文章平均质量分 69
java基础
真真最可爱
更新会很多的,适合新手刚入门的程序猿们看看。
展开
-
Bit 与Byte 的区别
一个 bit 就是一个二进制数的最小单元,就像我们说我们能够拥有的最小金额的钱就是一分一样,只不过比特是在二进制数中罢了。如果将 8 个 0 或者 1 组合在一起,例如 0110 1010(在中间加一个空格是为了看起来清晰明了),就可以说它们是八个比特或者说一个字节。比如1111111,00000000等。Bit 只能代表一个内容,(0或者1,其中的一个),1 Byte 代表 256 个内容 = 2 的 8 次方。8 bit = 1 Byte,不管它们都是全是0、全是1或者是由若干0和若干1混合而成。原创 2022-09-13 12:27:53 · 857 阅读 · 1 评论 -
二维数组的长度
int array[3][4] 代表的含义是 这是一个三行四列的整型数组,它的长度为应该是分开来看的,它有三行,每一行对应不同的长度列如 array{{1,2,3},{4},{5,6,7,8}} ;int a= num[0].length 则它代表的是{1,2,3}的长度, a=3int b=num[1].length 则它代表的是{4} 的长度, b=1int c=num[2].length 则它代表的是{5,6,7,8} 的长度,c=4我在力扣 54 题,螺旋矩阵遇到过,刚开始以为自己写的很对,结果原创 2022-06-15 18:44:57 · 2688 阅读 · 1 评论 -
Eclipse常用的快捷方式
Eclipse最常用的几个快捷方法 1.批量修改2.快速输入主方法3.快速输入System.out.println4.快速输入for5.查看java源代码6.代码格式化7.快速助手8.快速注释9.快速添加注释(@author)10.快速解决办法提示11.删除当前行12.查找替换13.大小写转换14.toString gette...原创 2021-11-17 13:04:24 · 1041 阅读 · 1 评论 -
Java——万字总结网络编程
网络编程咱们先简单了解一下什么是网络编程,等具体的核心点还是在Javaweb中去讲解。网络编程概述Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。网络通信要素概述通信双方地址IP端口号一定的规则(即:网络原创 2021-09-23 12:42:28 · 175 阅读 · 1 评论 -
Java——反射(耗时三天吐血总结)
反射疑问1:通过直接new的方式或反射的方式都可以调用公共的结构,开发中到底用那个?建议:直接new的方式。什么时候会使用:反射的方式。 反射的特征:动态性疑问2:反射机制与面向对象中的封装性是不是矛盾的?如何看待两个技术?答:不矛盾。封装性只是把一些不必在修改的代码,整合在一起了。拿单例模式来说,本来人家一个对象就可以做全部的事情,你非要用反射去调用人家私有的方法,那岂不是多此一举。...原创 2021-09-21 09:08:38 · 392 阅读 · 1 评论 -
Java——异常处理
异常处理原创 2021-09-20 17:41:17 · 221 阅读 · 0 评论 -
Java——字符编码
字符编码编码表的由来计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,让它可以识别各个国家的文字。就将各个国家的文字用数字来表示,并一一对应,形成一张表。这就是编码表。常见的编码表ASCII:美国标准信息交换码。用一个字节的7位可以表示。ISO8859-1:拉丁码表。欧洲码表用一个字节的8位表示。GB2312:中国的中文编码表。最多两个字节编码所有字符GBK:中国的中文编码表升级,融合了更多的中文文字符号。最多两个字节编码Unicode:国际标准码,融合了目前人类使用的所原创 2021-09-19 09:55:20 · 132 阅读 · 1 评论 -
Java——IO流(超详细超全)
IO流(File类)我们想要学好IO流,首先一定要明确什么是File类,不然你都没有对象去进行输入和输出。java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关。File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用IO流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File对象可以作为参数传递给流的构造器F原创 2021-09-18 15:41:43 · 1452 阅读 · 7 评论 -
Java——NIO
NIOJava NIO (New IO,Non-Blocking IO(非阻塞))是从Java 1.4版本开始引入的一套新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。java.nio.channels.Channel(通道)Fil原创 2021-09-17 15:48:48 · 55 阅读 · 1 评论 -
Java——IO流(处理流之对象流)
IO流(处理流之对象流)ObjectInputStream和OjbectOutputSteam用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。序列化:用ObjectOutputStream类保存基本类型数据或对象的机制反序列化:用ObjectInputStream类读取基本类型数据或对象的机制ObjectOutputStream和ObjectInputStream不能序列化static和transient修饰的成员原创 2021-09-16 21:29:43 · 183 阅读 · 1 评论 -
Java——IO流(处理流之转换流)
IO流(处理流之转换流)处理流之转换流的使用:转换流提供了在字节流和字符流之间的转换转换流:属于字符流InputStreamReader:将一个字节的输入流转换为字符的输入流OutputStreamWriter:将一个字符的输出流转换为字节的输出流很多时候我们使用转换流来处理文件乱码问题。实现编码和解码的功能。解码:字节、字节数组 —>字符数组、字符串编码:字符数组、字符串 —> 字节、字节数组其中 utf-8和gbk是字符集。InputStreamReade原创 2021-09-15 17:18:32 · 125 阅读 · 1 评论 -
Java——IO流(处理流之缓冲流)
IO流(处理流之缓冲流)文件流/节点流处理流之缓冲流为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组,使用了8192个字节(8Kb)的缓冲区。缓冲流要“套接”在相应的节点流之上,根据数据操作单位可以把缓冲流分为:BufferedInputStream 和 BufferedOutputStreamBufferedReader 和 BufferedWriter当读取数据时,数据按块读入缓冲区,其后的读操作则直接访问缓冲区原创 2021-09-14 15:44:43 · 183 阅读 · 1 评论 -
Java——IO流(节点流或文件流)
IO流(节点流或文件流)首先我们先了解一下主要的两个流的体系,然后再去看看四大基本流的使用方法。流的体系结构InputStream & ReaderInputStream 和 Reader 是所有输入流的基类。InputStream(典型实现:FileInputStream)int read()int read(byte[] b)int read(byte[] b, int off, int len)Reader(典型实现:FileReader)int read()原创 2021-09-12 19:19:34 · 283 阅读 · 2 评论 -
Java——IO流(IO流原理及流的分类)
IO流(IO流原理及流的分类)前提知识 File类Java IO原理I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。我们是需要把我们放在程序的位置上,来区分到底是输出还是输入。流的分类按操作数据单位不同分为:字节流(8 bit),字原创 2021-09-11 17:31:42 · 246 阅读 · 1 评论 -
Java——集合(超详细超级全)
集合Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组。在这里主要讲一些我们平常很常用的一些接口和一些实现类。Java 集合可分为 Collection 和 Map 两种体系:Collection接口:单列数据,定义了存取一组对象的方法的集合List:元素有序、可重复的集合(动态数组)Set:元素无序、不可重复的集合(类似于高中所讲的集合)Map接口:双列数据,保存具有映射关系“key-value对”的集合(高中时所讲的函数)Collection接口的使用原创 2021-09-11 09:47:24 · 4793 阅读 · 4 评论 -
Java——IO流(File类)
IO流(File类)我们想要学好IO流,首先一定要明确什么是File类,不然你都没有对象去进行输入和输出。java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关。File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用IO流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File对象可以作为参数传递给流的构造器F原创 2021-09-10 18:54:05 · 475 阅读 · 1 评论 -
Java——泛型
泛型泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。从JDK1.5以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型,正如:List,这表明该List只能保存字符串类型的对象。JDK1.5改写了集合框架中的全部接口和类,为这些接口、类增加原创 2021-09-09 16:42:55 · 167 阅读 · 1 评论 -
Java——Collections工具类
Collections工具类Collections 是一个操作 Set、List 和 Map 等集合的工具类Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。排序操作:(均为static方法):reverse(List):反转 List 中元素的顺序。shuffle(List):对 List 集合元素进行随机排序。sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序sort原创 2021-09-08 10:41:51 · 5668 阅读 · 3 评论 -
Java——集合(Map接口)
集合(Map接口)Map接口概述:Map与Collection并列存在。用于保存具有映射关系的数据:key-value(双列数据)。Map 中的 key 和 value 都可以是任何引用类型的数据。Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法。key 和 value 之间存在单向一对一关系,即通过指定的 key 总能找到唯一的、确定的 value。Map接口的常用实现类:HashMap、Hashtable(古原创 2021-09-07 16:40:43 · 299 阅读 · 1 评论 -
Java——集合(Collection子接口——Set接口)
集合(Collection子接口——Set接口)Set 接口概述Set接口存储无序的,不可重复的数据(类似高中所学的集合)。Set接口是Collection的子接口,set接口没有提供额外的方法。Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个Set 集合中,则添加操作失败。Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals() 方法。...原创 2021-09-06 20:43:39 · 182 阅读 · 1 评论 -
Java——集合(Collection子接口——List接口)
集合(Collection子接口)List接口鉴于Java中数组用来存储数据的局限性,我们通常使用List(动态数组)替代数组List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。JDK API中List接口的实现类常用的有:ArrayList、LinkedList和Vector(现在基本没有人使用了)。List除了从Collection集合继承的方法外,List 集合里添加了一些根原创 2021-09-04 23:21:25 · 214 阅读 · 1 评论 -
Java——集合(Collection接口)
集合Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组。在这里主要讲一些我们平常很常用的一些接口和一些实现类。Java 集合可分为 Collection 和 Map 两种体系:Collection接口:单列数据,定义了存取一组对象的方法的集合List:元素有序、可重复的集合(动态数组)Set:元素无序、不可重复的集合(类似于高中所讲的集合)Map接口:双列数据,保存具有映射关系“key-value对”的集合(高中时所讲的函数)Collection接口的使用原创 2021-09-03 20:39:16 · 483 阅读 · 3 评论 -
java——equals和==的区别
equals和==的区别我在最近看集合的API中,发现了一个问题,就是你在集合中添加了一个新元素(String类型),然后去调用contains方法看集合中是否有该元素,竟然发现会是true。 然后我就去查了一下资料发现,集合中的方法判断是否相等用的都是equals 。而equals和 = = 的区别就是:equals 是比较内存地址上面的值是否相同,== 是比较内存地址是否相同。大家去看源码的时候一定要注意它实际上用的是equals 还是= =...原创 2021-09-03 19:46:25 · 175 阅读 · 0 评论 -
Java——注解
Java注解(Annotation)注解 (Annotation) 概述从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是Annotation(注解)。Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用 Annotation, 程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息。Annotation 可以像修饰符一样被使用, 可用于修饰包,类, 构造器, 方法, 成员变量原创 2021-09-02 20:41:37 · 494 阅读 · 1 评论 -
Java——枚举类
枚举类枚举(列举)类定义:有限个,确定的。通常在我们定义一组常量时,建议使用枚举类。举例:星期:Monday(星期一)、…、Sunday(星期天)性别:Man(男)、Woman(女)季节:Spring(春节)…Winter(冬天)线程状态:创建、就绪、运行、阻塞、死亡枚举类的使用:关键字:enum 用于定义枚举类。使用说明:使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类。枚举类的构造器只能使用 private 权限修饰符,枚举类的所有原创 2021-09-02 15:13:42 · 193 阅读 · 0 评论 -
Java——单链表翻转(递归)
单链表翻转(递归)首先要明确递归的作用是在方法中掉用方法。其实递归反转链表就是针对单个节点去进行反转,反转当前节点之前先反转后续节点。这样从头结点开始,直到尾结点才开始反转指针的指向。简单的说就是从尾结点开始,逆向反转各个结点的指针指向。上代码://递归法反转单链表 public void reverse() { //判断当前链表是否为空 if(isEmpty()) { return; } //不是空就从第一个开始反转 reverse(head.next); }原创 2021-09-02 14:23:54 · 1143 阅读 · 0 评论 -
Java——单链表队列
单链表队列首先,我们通过一张图还直观的显示出链表的作用。头节点是不存数据的,只是有一个指针,为了方便我们找到我们链表的第一个元素,链表中是通过指针来找到下一个元素的,所以添加和删除元素很方便,不需要像数组那样复制,节省了很大的内存空间。最后一个节点是没有指针的也就是null 。我们把每一个元素看做成一个节点,节点中有数据和指向下一个节点的指针,所以一般我们需要创建两个类。节点类:package xq0825;public class Node { Node next; //下一个节点 i原创 2021-09-01 22:26:52 · 195 阅读 · 0 评论 -
Java——数组
数组定义:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组的常见概念:数组名下标(或索引)元素数组的长度特点:数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。数组的长度一旦确定,就不能修改。我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。数组的分类:按照维度原创 2021-08-23 15:22:18 · 93 阅读 · 0 评论 -
Java——String类
String类我们要去了解String是一个类,而不是基本数据类型,只不过我们通常用它来表示字符串,它本身来包括一些方法,可以去输出字符串中的数据。特点:String类:代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。String是一个final类,代表不可变的字符序列。. 字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。String对象的字符内容是存储在一个字符数组value[]中的。还有关于面试中爱考的字符串常量池等内存问题,之前已原创 2021-08-20 10:40:02 · 167 阅读 · 0 评论 -
Java——多线程(巨详细)
多线程并行与并发:并行:多个CPU同时执行多个任务。比如:多个人同时做不同的事。 并发:一个CPU(采用时间片)同时执行多个任务。比如:多个人做同一件事。多线程程序的优点:提高应用程序的响应。对图形化界面更有意义,可增强用户体验。提高计算机系统CPU的利用率改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改。何时需要多线程:程序需要同时执行两个或多个任务。程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等。需要一些后台运行的程序时。原创 2021-08-16 23:52:40 · 138 阅读 · 0 评论 -
java 接口
接口接口就是指只有方法特征,而没有方法体的特殊类。那我们为什么要去学习接口呢? 因为在我们java继承中是无法多继承,这是我们使用接口就可以间接的实现了java多继承。接口因为没有方法体,所以我们可以称他为“抽象类”。接口的关键字:interface举个例子我们去定义一个接口public interface WorkPlace { //在这里我们定义了一个接口 void work(); // 又定义了没有方法体的方法}这样我们的接口就完成了,下来我们要用到关键字:原创 2021-07-26 09:54:41 · 97 阅读 · 0 评论 -
java传值和传引用的区别
传值和传引用传值通过简单的代码来解决这个问题public class Set_Get{public static void main(String[] args) {int a =10;int b=20;b=a; // 传值是右传左System.out.println("b ="+b);b++;System.out.println("a ="+a);System.out.println("b ="+b);}}输出的结果为b =10a =10b原创 2021-07-27 22:30:17 · 330 阅读 · 1 评论 -
Java——类与对象
类与对象首先,我们需要先弄清楚什么是类,什么是对象。类是指一部分都有着共同相似点的人或事物等;而对象是指单独的某个人或某个事物等。他俩之间有着密不可分的关系。类是必须通过对象来去进行使用,对象的特点都是在类中去定义的。类的组成:属性和方法 。属性简单点说可以用名词来解释,名称,身高,体重等。方法则就可以用动词来解释,走路,跑,跳等。对象就是在你所定义类的组成当中一份子;我们在编程中呢,首先定义类的组成举个例子。public class HouYI { String nameID; in原创 2021-07-21 19:52:55 · 158 阅读 · 2 评论 -
java继承
继承首先来说我们为什么要来学习继承,也就是继承的优点。举个例子,当你定义一个学生类时public class Student{String name;int age;int score;String stu_id;public void study(){system.out.println("期末会有考试");}}但是呢,根据条件还需要你去定义大学生类,中学生类,小学生类,如果你还去手写这些类的各种属性和方法,那就太繁琐了,所以这是继承就出现了。首先继承的关键字:extends原创 2021-07-25 09:08:30 · 193 阅读 · 0 评论