
java基础
文章平均质量分 52
早起之王
才疏学浅,如有指正,非常感谢
展开
-
String、StringBuffer、StringBuilder(看看源码)
String、StringBuffer、StringBuilder的区别原创 2022-06-04 15:17:18 · 378 阅读 · 0 评论 -
实例+源码 = 看破128陷阱
实例+源码 = 看破128陷阱原创 2022-01-17 09:03:31 · 167 阅读 · 0 评论 -
java实现堆排序
java实现堆排序原创 2021-12-06 18:08:22 · 290 阅读 · 0 评论 -
Java链表——取后k个节点、判断是否成环、倒序、有序链表的合并
目录〇、快慢指针一、取后k个节点二、判断是否成环三、倒序四、有序链表的合并〇、快慢指针 快慢指针,是在链表操作中很常用的一种方法。 即定义两个指针指向链表中的节点,一个在前,一个在后。具体是什么意思,如何使用,又为何叫快慢指针呢,先看前两个问题,看完相信就会明白了。一、取后k个节点 让我们运用快慢指针来解决这个问题:定义两个指针,其中一个向前走k次,另一个不动。然后两指针一起前行,当先走的指针走到尽...原创 2021-07-18 23:46:13 · 371 阅读 · 1 评论 -
Java链表——插入和删除
目录一、head头节点二、插入1.头插法2.尾插法3.按位置插入首先引入我自定义建立链表对象的类:LinkNodepublic class ListNode { private int val; private ListNode next; public ListNode(int value) { this.val = value; } public ListNode() {} public ListNode getNext() { return this.原创 2021-07-18 22:46:32 · 4443 阅读 · 2 评论 -
Java链表——遍历、查找、求链表长度
1.遍历 非常简单的一段代码,只需要在节点不为空时,一个接一个地输出即可。public void Ergodic() { ListNode indexNode = head; while (indexNode.getNext() != null) { System.out.print(indexNode.getVal()+" "); indexNode = indexNode.getNext(); } }2.查找 我们来做一个对值的查找...原创 2021-07-18 23:02:47 · 6246 阅读 · 0 评论 -
Java链表——创建链表对象
链表是一种简单的数据结构。由两部分构成,数值部分和指针部分。 前一部分用来存储数据,后一部分用于指向下一个数据。形成一个链状的结构。...原创 2021-07-18 22:48:05 · 1690 阅读 · 0 评论 -
Java字符串基本操作
1.截取字符串中的一段截取0到n-1: substring(0,n)String aString ="Hello world";String bString = aString.substring(0,8); System.out.println(bString);输出:Hello wo(空格也算一个字符)2. 判断一个字符串是否为空if(str.length()== 0 ||str.equals(""))3. 获取长度String aString = "123456".原创 2021-07-18 20:49:03 · 116 阅读 · 0 评论 -
equals 和 == 的区别
首先,对于基本数据类型如int, short, double ,char 等,他们之间的比较只应用 == ,比较的是他们的值。 对于引用数据类型如字符串、对象等,== 比较的是他们的存放地址,除非是同一个new 出来的,否则都是不相等的。equals 是一个比较方法,天然存在于Object类,这个基类中。Java中的所有类都继承于Object类。在Object类中,equals方法的作用和 == 相同,也是比较对象的存放地址。不同的是,在一些类库中 equals被重写了,被...原创 2021-07-18 18:08:24 · 113 阅读 · 0 评论 -
Java树——基本操作
一、遍历1. 先序遍历(DLR) 先序遍历即对一棵二叉树,以 根、左、右 的顺序依次寻找。他的代码实现非常简单。如下:public void preOrder(TreeNode treeNode) { if(treeNode!= null) { System.out.print(treeNode.getValue()+" "); preOrder(treeNode.getLeftTreeNode()); preOrder(treeNode.getRigh...原创 2021-07-15 18:08:39 · 714 阅读 · 0 评论 -
Java树——平衡二叉树的建立
本文会介绍平衡二叉树的相关知识和代码。 平衡二叉树相比于一般树结构的特点是: 1. 任何结点子树的高度差都小于等于 1 2. 是一颗有序树。比根结点大的结点,作为右子节点。比根节点小的,做为左子节点。平衡二叉树的意义就是依靠这种特殊结构,利用二分查找的思想,实现数据的快速查找。平衡二叉树的一系列操作都建立在树结构的类之上。有关树的定义如下:Java树的定义...原创 2021-07-15 10:48:12 · 185 阅读 · 0 评论 -
Java树——树对象的创建
今天给大家带来的是用Java语言实现树结构的基本操作。以及平衡二叉树的相关知识和代码。 平衡二叉树相比于一般树结构的特点是: 1. 任何结点子树的高度差都小于等于 1 2. 是一颗有序树。比根结点大的结点,作为右子节点。比根节点小的,做为左子节点。平衡二叉树的意义就是依靠这种特殊结构,利用二分查找的思想,实现数据的快速查找。 首先是树结构的搭建,即构建树的对象时,这个类中应包含什么,这个类应该怎么写。第一点,一...原创 2021-07-15 10:44:34 · 776 阅读 · 0 评论 -
Java字符串
首先是字符串的存储。字符串存储在字符串常量池中,可以避免数据频繁的创建和销毁,实现数据的共享,提高系统性能。1.字符串的存储看下面两段代码:public static void main(String[] args) { String a = "123"; String b = "123"; System.out.println(a == b); }输出为truepublic static void main(String[] args) { Stri...原创 2021-07-18 17:45:52 · 73 阅读 · 0 评论 -
Java数组
数组是开辟一段连续地址的存储空间,存储数据信息。如图所示:数组的地址是连续的,数组的下标从 0开始。取值的时候可以直接根据下标进行取值。一、数组的建立int[] arr = new int[i];...原创 2021-07-08 10:43:42 · 127 阅读 · 0 评论 -
冒泡、简单选择、插入、递归排序
一、冒泡排序 冒泡排序是众多排序方法中非常经典、简单的排序。1.流程 冒泡排序的流程非常简单。整个算法需要两个嵌套关系的for循环。时间复杂度O(n^2) 以升序排序为例:int[] arr= new int[]{6,3,5,9,8,7,4,1,2};从第一个元素开始,6与他的下一个元素3进行比较,升序数组中大数放在后边,把6与3交换。接下来,第二个元素变成6,与5比较,交换。第三个元素变成6,与9比较,无操作。第四个元素9,与...原创 2021-07-06 17:43:21 · 201 阅读 · 0 评论 -
JAVA 基本数据类型
目录一、byte类型二、浮点类型和精度丢失三、char类型四、转义字符五、boolean类型Java 的基本数据类型一共有八种,可以分成四类:1.整型:byte, short , int , long2.浮点型:float , double3.字符型:char4.布尔型:boolean 整型和浮点型的字节长度和取值范围如下图:(1个字节表示8个bit位,可以表示8位二进制数)一、byte类型关于byte类型有一个很...原创 2021-07-05 15:54:55 · 159 阅读 · 0 评论 -
JAVA的 常量 与 变量
Java是一种强类型语言,它的安全性和健壮性也是来源于此。一、常量在java当中,利用关键值final表示常量。关键字final表示这个变量只能被赋值一次。一旦被赋值后,就不需要在更改了。习惯上,常量名使用全大写,被final定义的常量一旦赋值就不可以更改。二、变量1.变量的基本简介在java当中每一个变量都有一个类型(type),在声明变量时,变量的类型位于...原创 2021-07-05 14:58:44 · 211 阅读 · 0 评论