- 博客(19)
- 收藏
- 关注
原创 【无标题】
注:在使用divide()时避免出现无限循环的数,可以在divide()对象中添加BigDdecimal.ROUND_CEILING 保留分子的精度。BigInteger和BigDecimal类的介绍以及应用场景。BigDecimal: 适合保留精度更高的浮点型小数。bigInteger : 适合保留比较大的整数。multiply() 乘。subtract() 减。divide() 除。
2024-10-31 19:57:34 70
原创 【无标题】String、StringBuffer StringBuilder 的区别以及比较
1.如果字符串存在大量的修改操作,一般使用 StringBuffer 或StringBuilder。2.如果字符串存在大量的修改操作,并在单线程的情况,使用 StringBuilder。4..如果我们字符串很少修改操作,被多个对象引用,使用String,比如配置信息等。3如果字符串存在大量的修改操作,并在多线程的情况,使用StringBuffer。
2024-10-31 12:46:23 190
原创 Java中枚举分析
2.传统的public static final At WINTER=new At("冬天",“寒冷”);1.当我们使用enum关键字开发一个 枚举类时,默认会继承Enum类,而且是final类。2.对枚举对象/属性使用final+static共同修饰,实现底层优化。1.不需要提供set方法 ,因为 枚举对象值通常为只读。4.当有多个枚举对象时,使用,隔开,最后一个用分号结尾。3.如果使用无参构造器创建枚举对象,则小括号可以省略。3.枚举对象名通常使用全部大写,常量名规范。5.枚举对象必须放在类的首行。
2024-07-13 15:33:13 402
原创 数据结构五大排序算法----插入排序 交换排序 选择排序 归并排序 基数排序
快速排序是由冒泡排序改进而来,在冒泡排序中,只对相邻的两个记录进行比较,因此每次交换两个相邻的记录时只能消除一个逆序排列,如果能通过两个(不相邻)记录的一次交换,消除多个逆序,则会大大加快排序速度,快速排序方法一次可能交换多个逆序排列。基本思想:冒泡排序是最简单的交换排序方法,它通过两两比较相邻记录的关系关键字,如果为逆序,则进行交换,从而使关键字小的记录如气泡一般逐渐向上”漂浮“,或者使关键字大的记录如石块一样逐渐向下”坠落“(右移)(3)更适合初始记录基本有序(正序),n相对较小的情况。
2024-06-25 21:32:26 1844
原创 java--接口
基本介绍:接口就是给出一些没有实现的方法,到某个类型要使用的时候,再使用这些方法,接口中的方法为抽象方法(如果对抽象方法不太理解的话,可以看。7.接口中的访问形式:接口.属性名 (因为接口中的属性是静态的,不用new一个对象就可以使用)1.继承的价值在于解决代码的复用性和维护性吗,接口的价值在于设计好各中方法,让其他类进行使用。1.接口不能被实例化(接口属于抽象类,根据抽象类可以解释为什么接口不能被实例化)3.如果一个类实现接口,必须把该接口的所有接口都实现。2.接口比继承更加的灵活。
2024-06-22 11:23:22 360
原创 分析java--抽象类
当用abstract可以修饰类,方法,当修饰方法的时候,抽象方法没有方法体(访问修饰体 abstract 方法名(参数列表) ),学习抽象类的更多价值在于设计,让子类继承并实现抽象类/抽象方法。6.如果一个类继承了抽象类,则该类必须实现抽象类的所有抽象方法,除非自己也是抽象类。3.如果类中有被abstract修饰的方法,则列必须被abstract修饰。2.抽象类中,有无被abstract修饰的抽象方法都可以。4.abstract只能修饰类/方法。5.抽象类本质还是类,拥有一般类功能。
2024-06-22 00:08:02 234
原创 java-----final关键字
3.如果final修饰的属性是静态的,则初始化属性必须在定义时/静态代码块/静态方法,不能在构造器中(因为在类被加载的时候,首先静态属性/静态方法/静态代码块被调用,如果属性在构造器定义,会导致类加载时属性还没有定义)4.final修饰的类不能被继承,但是依旧可以实例化,如果方法被final修饰,类没有被修饰,该类依据可以继承。类被final修饰后,方法就不用被修饰。总结:我感觉final就像一把锁,当它修饰对象的时候,对象就会失去一些自由被牢牢锁住。final可以修饰 类,属性,方法,局部变量。
2024-06-21 23:44:58 251
原创 分析java--单例模式
通过对代码的分析,饿汉式是在类加载时就创建了对象,饿汉式不存在线程问题,但可能会导致资源的浪费。3.向外界提供一个公共的静态方法,方法内部有对属性的判断,加以创建对象】通过对懒汉式代码分析,懒汉式是在类加载时才创建的对象,但线程存在安全问题。注:后续会分析懒汉式线程安全存在问题以及解决这种问题。4.向外界提供一个静态公共方法 】2.构造私有化构造器。3.类的内部创建对象。2.创建私有化构造器。
2024-06-20 21:07:51 330
原创 详细分析java----代码块
代码块又称初始化块,属于类中的成员(类中的一部分),类似方法,将逻辑语句封装在方法体中,通过{}包围起来,但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过方法或者类显示调用,而是加载类时,或者创建对象时隐士调用。
2024-06-20 17:41:09 932
原创 分析数据结构中——顺序查找 分块查找 折半查找 二叉排序树 散列查找
任何节点的键值一定大于其左子树中的每一个节点的键值,并小于其右子树中的每一个节点的键值。假设树的高度为h,并且每个层级都是完全填满的,则树的高度h = log₂(n+1),其中n是节点的数量。而在最坏情况下,如果树完全不平衡,会形成倾斜的单支树,查找效率会退化为顺序查找的水平。树的存储需要占用较多的空间,因为它不仅要存储节点的值,还要存储节点之间的逻辑关系。,并比较中间元素与目标值的大小。散列查找的平均查找长度(ASL)取决于具体的散列函数和冲突处理方法,理想情况下为O(1),最坏情况下接近O(n)。
2024-06-20 00:30:01 2143
原创 求n阶对称矩阵中aij的位置
(j-1))+i-1=j(j-1)/2+i-1,因为存储于B[1..n(n+1)/2]中,所以aij=aji=j(j-1)/2+i。若n阶对称阵A以行为主存储其下三角元素,存储于B[1..n(n+1)/2]中,则在B中确定aij(ij;对于上三角阵,i
2024-06-18 15:08:05 148
原创 java图形管理
分别对每个数组实现添加图形、删除图形、通过图形编号查询图形、计算面积操作(类,在该类中创建一个矩形数组、一个圆数组,每个数组的长度为。函数:实现比较两种图形的图形编号是否相同,如果相同则返回。矩形实现面积计算接口:实现计算矩形面积的方法,输出。圆实现面积计算接口:实现计算圆面积的方法,输出。)属性:图形名称、图形编号、颜色、边框宽度(面积计算接口,接口中有计算面积的方法(方法:打印图形的所有属性信息(方法:打印矩形的所有属性信息(方法:打印圆的所有属性信息()根据图形编号查询图形信息。)新增属性:长、宽(
2024-06-14 10:30:14 422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人