
Java基础
文章平均质量分 95
Java基础学习笔记
玛卡~巴卡
这个作者很懒,什么都没留下…
展开
-
【Java】Lambda表达式
在Java之前的版本中,Java主要采用面向对象的编程风格,而Lambda表达式的引入使得Java具备了函数式编程的能力。匿名内部类的冗余代码:在Java之前的版本中,为了实现函数的传递,常常需要使用匿名内部类来定义一个函数接口的实现。这导致代码冗长、可读性较差。在Lambda表达式中,根据上下文的要求,可以自动匹配函数式接口的抽象方法,并创建接口的实例。可读性的折衷:尽管Lambda表达式可以提高代码的可读性,但在某些复杂的情况下,Lambda表达式可能变得难以理解和阅读,特别是当表达式变得过于复杂时。原创 2023-07-11 21:30:00 · 6035 阅读 · 1 评论 -
【Java】枚举类型
枚举类型是一种特殊的数据类型,用于定义一组固定的命名常量。枚举类型提供了一种更强大、更安全和更易读的方式来表示一组相关的常量。在Java中,枚举类型是通过使用enum关键字来定义的。枚举类型可以包含一个或多个枚举常量,每个常量都是枚举类型的实例。枚举常量是在枚举类型中预先定义的,它们是唯一的、已命名的对象。原创 2023-07-11 08:00:00 · 22259 阅读 · 2 评论 -
【Java】反射机制
Java的反射机制(Reflection)是Java编程语言的一项重要功能,它允许程序在运行过程中获取类的信息并操作对象或类。反射机制提供了一套获取类的成员变量、方法、构造函数等信息的能力,而不需要在编译时明确知道这些信息。原创 2023-07-10 10:21:17 · 1213 阅读 · 0 评论 -
【Java】Java中的HashMap和HashSet
哈希表(Hash Table),也称为散列表,是一种常见的数据结构,用于实现键值对的存储和查找。它通过哈希函数将键映射到数组中的位置,从而实现快速的插入、删除和查找操作。哈希表的核心思想是使用哈希函数将键转换成数组中的索引位置。哈希函数将键映射到一个固定大小的数组中,每个数组位置称为桶(bucket)。当需要插入或查找一个键值对时,通过哈希函数计算键的哈希值,然后将哈希值映射到数组索引上,从而快速定位到键值对应的桶位置。哈希表的主要优势是具有快速的插入、删除和查找操作。原创 2023-07-09 22:35:41 · 1560 阅读 · 0 评论 -
【Java】堆和优先级队列PriorityQueue
优先队列(Priority Queue)是一种特殊的队列数据结构,其中每个元素都关联有一个优先级。与普通队列不同,优先队列中的元素并不按照插入的顺序进行处理,而是根据其优先级进行排序和访问。优先队列的主要特点是,当从队列中取出元素时,具有最高优先级的元素首先被访问和删除。这意味着高优先级的元素先于低优先级的元素被处理。对于相同优先级的元素,可以根据插入的顺序或其他规则来确定其访问顺序。原创 2023-07-09 21:23:51 · 559 阅读 · 0 评论 -
【Java】二叉树
二叉树(Binary Tree)是一种常见的树形结构,它由节点(Node)和节点之间的关系构成。每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树中的每个节点可以为空(null)。原创 2023-07-08 00:00:00 · 3220 阅读 · 0 评论 -
【Java】Stack和Queue的使用
栈(Stack)是一种常见的数据结构,它遵循"后进先出"(Last-In-First-Out,LIFO)的原则。在栈中,最后添加的元素首先被访问或删除,而最先添加的元素则最后被访问或删除。插入操作称为"入栈"(push):将元素添加到栈的顶部。删除操作称为"出栈"(pop):从栈的顶部移除元素。只能访问栈顶的元素:栈是一种限制性访问的数据结构,只允许访问或操作栈顶的元素。栈的大小是动态的:栈的大小可以根据需要自动增长或缩小。原创 2023-07-07 06:00:00 · 880 阅读 · 0 评论 -
【Java】链表LinkedList
链表(Linked List)是一种常见的数据结构,用于存储和组织数据。它由一系列节点(Node)组成,每个节点包含两个主要部分:数据域(Data)和指针域(Pointer)。数据域存储节点所需的数据或信息,可以是任意类型的数据,如整数、字符、对象等。指针域则指向链表中的下一个节点,将节点连接起来形成链表结构。链表中的节点并不一定按照物理上的连续位置存储,而是通过指针域相互连接。这使得链表能够灵活地插入、删除和修改节点,而无需像数组那样进行元素的移动。原创 2023-07-06 15:20:57 · 12301 阅读 · 2 评论 -
【Java】顺序表ArrayList
ArrayList是Java集合框架中的一个类,它实现了`List`接口,提供了动态数组的功能。它是一个可变长度的数组,可以根据需要自动调整容量。原创 2023-07-02 11:21:08 · 1092 阅读 · 0 评论 -
【Java】Java中的泛型
在Java中,泛型是一种在编译时期类型检查的机制,它使得我们能够创建具有通用行为的类、接口和方法,以适应不同类型的数据。通过使用泛型,可以提高代码的复用性、类型安全性以及可读性。泛型是在JDK 1.5 引入的新语法,通俗来讲,泛型就是适应多种类型。从代码上来看,就是对类型实现了参数化,即从传入的类型参数来确定数据的具体类型。原创 2023-07-02 01:02:46 · 2205 阅读 · 0 评论 -
【Java】Java中的String类
在C语言中如果想要表示字符串,就只能使用字符数组或者字符指针,然后通过标准库提供的一系列字符串操作函数对字符串进行操作。但是这是数据与操作数据的方法分离的方式显然不符合面向对象的思想。因此在Java中,`String`类就是一种符合面向对象思想的字符串类,`String`类是用于表示字符串的类。它是Java的核心类库中的一部分,因此无需特殊导入就可以在任何Java程序中使用。原创 2023-06-29 15:40:58 · 3098 阅读 · 0 评论 -
【Java】Java中的异常
在Java中,异常(Exception)是指程序执行过程中可能出现的不正常情况或错误。它是一个事件,它会干扰程序的正常执行流程,并可能导致程序出现错误或崩溃。异常在Java中是以对象的形式表示的,这些对象是从类或其子类派生而来。Throwable和。是表示可检查异常的基类。可检查异常是指在编译时需要显式处理的异常。Exception类及其子类用于表示程序运行过程中可能出现的外部条件、错误或其他可恢复的情况。例如,文件未找到、网络连接中断、输入格式错误等。原创 2023-06-29 19:17:39 · 5275 阅读 · 0 评论 -
【Java】抽象类和接口
在Java中,抽象类是一种特殊的类,用来表示具有一般特征和行为的抽象概念。它不能够直接实例化,而是作为其他类的基类或者父类来使用。抽象类通过在类声明中使用关键字abstract来定义。它可以包含抽象方法和非抽象方法。抽象方法是没有具体实现的方法,只有方法签名,用关键字abstract关键字修饰;非抽象方法则具有具体的实现。抽象类的主要目的是提供一种通用的基类,将相关的子类归类在一起,以便共享通用的属性和行为。它可以定义一些通用方法,供子类继承和实现。原创 2023-06-28 19:48:45 · 2160 阅读 · 0 评论 -
【Java】Java中的多态
在Java中,多态是面向对象编程中的一个重要概念,它允许不同类型的对象对同一方法进行不同的实现。具体来说,多态性指的是通过父类的引用变量来引用子类的对象,从而实现对不同对象的统一操作。例如:狗和猫都是动物,动物共同的行为都有吃这个动作,而狗可以表现为啃骨头,猫则可以表现为吃老鼠。这就是多态的表现,即同一件事情,发生在不同对象的身上,就会产生不同的结果。在面向对象编程中,重写(Override)指的是子类重新定义和实现了从父类继承而来的方法,以改变方法的行为。原创 2023-06-27 23:31:30 · 28658 阅读 · 2 评论 -
【Java】类和对象详解
面向对象(Object-oriented)是一种程序设计的方法和编程范式,它以对象作为程序的基本单位,通过封装、继承、多态等概念来组织和实现程序逻辑。面向对象的编程思想强调将问题分解为对象的集合,每个对象具有自己的状态(属性)和行为(方法),并通过相互之间的消息传递来实现协助和交互。类(Class)是用来对一个实体(对象)进行描述的,主要包括实体(对象)的属性和行为的描述。在Java语言中,类是面向对象编程的基本组织单位,它是对象的模版或者蓝图,描述了对象的属性和行为。原创 2023-06-15 17:30:06 · 8122 阅读 · 1 评论 -
【Java】数组详解
数组(Array)是一种用于存储相同类型元素的数据结构。它是一组连续的内存位置,每个位置都存储着一个元素,并通过索引来访问和操作这些元素。数组通常用于存储和处理大量的数据,提供了一种有效的方式来组织和访问数据。原创 2023-06-10 16:01:43 · 6976 阅读 · 0 评论 -
【Java】Java SE 基础
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程式员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分散式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程式、Web应用程式、分散式系统和嵌入式系统应用程式等。原创 2023-06-08 14:57:19 · 921 阅读 · 0 评论