自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Java中的二分查找法

二分查找基于分治策略,通过不断将搜索区间减半来定位目标值,时间复杂度仅为O(log n),相比线性搜索的O(n)呈指数级提升。计算中点 mid = left + (right - left)/2。初始化左右指针(left=0, right=length-1),有效规避大数相加导致的整数溢出风险。确保最后一个元素能被检查。查找第一个/最后一个匹配项。命中目标:直接返回索引。目标较大:收缩左边界。目标较小:收缩右边界。

2025-03-09 10:10:40 379

原创 Java中二叉树的基础概念

二叉树的应用广泛,包括但不限于二叉搜索树(BST)、平衡树(如AVL树、红黑树)等,在排序、搜索等算法中扮演着关键角色。本文将介绍二叉树的基本概念,并通过Java代码示例展示如何实现基本的二叉树操作。本文介绍了二叉树的基本概念,并通过Java代码实现了一个简单的二叉搜索树,包括节点的插入和三种基本的遍历方式。后续文章将探讨更复杂的二叉树应用,如平衡树、二叉树的查找和删除操作等,敬请期待。下面是一个简单的二叉树实现,包括插入和遍历(前序、中序、后序)的方法。

2025-03-01 12:39:53 113

原创 Java中的集合

Java中的集合体系主要由两大接口体系构成:Collection接口体系和Map接口体系。Collection接口体系Collection接口:是单列集合的根接口,定义了各种具体单列集合的共性,如添加、删除、遍历等操作。其直接子类主要包括List和Set。List接口:表示一个有序集合,允许元素重复且有索引。List接口的两个主要实现类是ArrayList和LinkedList。Set接口:表示一个无序集合,不允许元素重复且无索引。

2025-02-03 12:19:49 584

原创 Java中的数组

在Java编程语言中,数组是一种非常基础且强大的数据结构,它允许我们存储固定大小的同类型元素集合。无论是处理基本数据类型(如int、char)还是对象类型(如String、自定义类对象),数组都提供了高效且直接的方式来管理和操作数据。数组是一种数据结构,用于存储一系列相同类型的元素,这些元素通过索引(通常从0开始)进行访问。在Java中,数组的大小在创建时是固定的,之后不能改变。数组的每个元素都有一个对应的索引,用于唯一标识该元素在数组中的位置。多维数组是数组的数组,常用于表示表格数据或更复杂的结构。

2025-02-02 23:01:03 262

原创 Java中的异常、处理异常的方式

【代码】Java中的异常、处理异常的方式。

2025-01-21 21:19:05 212

原创 Java中创建数组的方式

【代码】Java中创建数组的方式。

2025-01-14 12:21:38 77

原创 Java中字符串,集合,数组之间的转换

使用 split() 方法可以将字符串按照指定的分隔符分割为数组,再使用 Arrays.asList() 方法将其转换为 List。需要注意的是,Arrays.asList() 方法返回的 List 是不可变的固定大小的 List,无法增加或删除元素,如果需要增加或删除元素,需要将其转换为可变的 List。将数组转换为集合后,得到的集合不支持增加或删除元素(因为底层存储的仍然是数组),只能修改元素。toArray方法(集合转换成为数组)asList方法(数组转换成为集合)注意:将数组转为集合时,使用的是。

2025-01-09 10:02:07 281

原创 Java中的数组字符串的转换

toLocaleString()会将数组转化成本地约定的字符串,默认是,号隔开。join()会将数组元素连起来构成一个字符串,可以随意设置过分隔符。toString()会将数组转换成一个字符串,默认是,号隔开。split()将字符串转化为一个数组,可以随意设置分隔符。

2024-12-07 17:25:54 475

原创 java中怎么把int转为string

型的+int在java中他会去这样理解是string类型的字符串跟上个int类型的i代表的字符串(先把i转换为string),int+string型就是先将int型的i转为string然后跟上后面的string。i 为 int类型,int+string型就是先将int型的i转为string然后跟上后面的空string。

2024-12-01 10:12:04 191

原创 Java中的四种代码块

在Java类中,用static关键字修饰的代码块称为静态代码块。当类被加载时,静态代码块会执行,由于类只加载一次,因此静态代码块只执行一次。使用synchronized(){}包裹起来的代码块,在多线程环境下,对共享数据的读写操作是需要互斥进行的,否则会导致数 据的不一致性。同步代码块需要写在方法中。根据位置及声明关键字的不同,代码块可以分为4种:普通代码块、构造块、静态代码块、同步代码块。普通代码块就是直接在方法或是语句中定义的代码块。构造代码块是直接在类中定义的代码块。

2024-11-13 19:13:11 232

原创 length属性、length()、size()方法

在Java中,数组是一个对象,具有一个名为length的属性,用于获取数组的长度。数组的长度是数组中元素的数量。

2024-11-06 18:47:47 378

原创 Java中基本算法2

3、计算从哪天到哪天经历了多少天。

2024-10-14 17:21:07 193 1

原创 Java中四种打印地址的方式

java是获取不到对象的地址的,但是你可以获取hashcode,对象的hashcode在某种意义上就相当于对象的地址了。

2024-10-14 16:34:31 830

原创 Java中的常见算法

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。重复上一步,一直往前进行扫描比较,直到找到已排序的元素小于或者等于新元素的位置;针对所有的元素重复以上的步骤,除了最后一个,即需要进行length-1次。第二次是对n-1个数进行n-2次比较,进行到最后第n-1个的一个是最大的;再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾;第一次是对n个数进行n-1次比较,进行到最后第n个的一个是最大的;取出下一个元素,在已经排序的元素序列中从后往前进行扫描;将新元素插入到该位置后;

2024-09-23 22:26:19 237

原创 Java中的单例设计模式

3、需要频繁的进行创建和销毁的对象、创建对象时耗时过多或耗费资源过多(即:重量级对象),但又经常用到的对象、工具类对象、频繁访问数据库或文件的对象(比如数据源、session工厂等)。3、public static的getlnstance方法,返回第二步的静态属性。2、当想实例化一个单例类的时候,必须要记住使用相应的获取对象的方法,而不是使。1、单例模式保证了系统内存中该类只存在一个对象,节省了系统资源,对于一些需。要频繁创建销毁的对象,使用单例模式可以提高系统性能。2、单例类必须自己创建自己的唯一实例。

2024-09-18 19:32:05 200

原创 Java中==和equals的区别

在具体了解==和equals的区别之前我们要先知道基本数据类型和引用数据类型的概念。注意:八大基本数据类型对应着各自的封装类型的,提供了更多的方法,且不进行初始化时值默认为空(基本数据类型必须初始化),并且属于。引用类型可以分为类、数组、接口,引用变量中一般存储的是地址,对应地址中存储数据。

2024-09-09 19:46:34 291

原创 Java中的异常汇总

在 Java 中,运行时错误会作为异常抛出。异常就是一种对象,表示阻止正常进行程序执行的错误或者情况。如果异常没有被处理,那么程序将会非正常终止。

2024-08-18 12:37:22 1011

原创 Java中的接口介绍

Java语言不允许一个类有多个直接的父类,所以不能同时继承他们所有的属性和方法,但是有了接口就可以做到多重继承的效果。6.与子类继承抽象父类相似,当类实现某个接口时,它必须实现接口中所有的抽象方法,否则这个类必须被定义为抽象类。1.指概念性的接口,即指系统对外提供的所有服务。类的所有能被外部使用者访问的方法构成了类的接口。7.不允许创建接口的实例,但允许定义接口类型的引用变量,该变量引用实现了这个接口的类的实例。5.一个接口不能实现另一个接口,但它可以继承多个其他接口,使用extends关键字。

2024-08-13 15:43:40 285

原创 Java中的修饰符

静态方法中不能使用this关键字,不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态方法和静态变量;实例方法可以直接访问所属类的静态变量、静态方法、实例变量、实例方法。1.final修饰符用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。如果将引用类型的变量用final修饰,那么该变量只能始终引用一个对象,但是可以改变对象的内容,例如。静态代码块不能直接访问类的实例变量和实例方法,必须通过实例的引用来访问他们。

2024-08-09 14:50:40 298

原创 Java中this关键字和super关键字及其区别

this和super是两个非常实用的关键字,他们可以帮助我们引用当前对象和其父类对象。

2024-08-07 10:09:59 197

原创 Java中方法重写与方法重载的区别

重写是在子类中把父类允许访问的方法重新写一遍,返回值类型和形参都不会发生改变,但要注意子类函数的访问权限不能比父类的更严格。),同时重载对返回类型没有要求,可以相同也可以不同,我们不能通过返回类型来判断重载。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。声明为static的方法不能被重写,但是能够被再次声明。返回类型必须完全与被重写方法的返回类型相同。被重载的方法可以声明新的或更广的检查异常。声明为final的方法不能被重写。被重载的方法可以改变返回类型。不能继承的方法不能被重写。

2024-08-05 12:46:26 282

原创 Java中的流程控制语句

if else语句是Java中常用的条件语句之一,它根据if后面的boolean表达式的值来决定执行哪个代码块,如果boolean表达式的值为true执行if语句中的代码块,如果boolean表达式的值为false则执行else语句中的代码块。for循环的执行过程:执行表达式1,计算表达式2,如果表达式2的值为true,执行循环体,执行表达式3,改变循环变量的值,再计算表达式2的值,如果是true,再进入循环体,形成循环,直到表达式2的值为false,结束循环,执行for后面的语句。

2024-08-03 14:08:50 710

原创 操作符汇总

如果+操作符中有一个是String型,则另一个操作元可以是任意类型,另一个操作元将被替换成为字符串,如果另一个操作元为引用类型,就调用所引用对象的toString()方法来获得字符串。&&和||为短路操作符,对于短路操作符,如果能根据左边的boolean表达式就能推算出整个表达式的boolean值,将不执行操作符右边的boolean表达式。在计算表达式中,如有有一个操作元是long型,那么结果也会是long型,否者不管操作元是byte,short或者是char型,运算结果都将是int型。

2024-08-01 15:04:47 734

原创 基本数据类型与引用数据类型及其区别

类引用类型的变量引用这个类或者其子类的实例,接口引用类型的变量引用实现了这个接口类的实例,数组引用类型的变量引用这个数组类型的实例。在Java语言中如果数学表达式中都是整数,那么表达式的返回值只能是int类型或者long类型,如果想把返回值赋给short或者byte类型的变量,就必须进行强制类型转换,例如下面的代码。当声明的是引用变量时,所声明的变量是放在Java虚拟机的栈中,该变量所指向的对象是放在堆类存中的。引用类型可以分为类引用类型、接口引用类型、数组引用类型,二者的报错类型相同,都是类型不匹配。

2024-07-30 18:29:36 1008

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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