自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java学习日记——DAY15(集合类的总结ArrayList篇)

这个方法是public给用户使用的,该方法有两个检索是否需要扩容的机制,在添加大量元素之前最好使用一次这个方法来提前进行扩容,这个方法会先判断是否该对象的elementData是否等于DEFAULT_EMPTY_ELEMENTDATA,如果等于则会将一个叫minExpand的阈值赋值为DEFAULT_SIZE也就是10,如果不等于DEFAULT_EMPTY_ELEMENTDATA则会将阈值赋值为0。ArrayList支持随机访问元素,但是LinkedList不支持;

2025-12-24 18:08:52 809

原创 Java学习日记——DAY14

(8)计算Hush的方式不同:HushTable使用key的hushCode对数组长度取模得出hush值,而HushMap是使用key的HushCode的HushCode对数组长度取模得出的hush值;(7)HushMap的底层数据结构是:数组+链表+红黑树(在链表长度超过8时,将转换为红黑树的结构),而HushTable则是:数组+链表;1.Map接口,存储的数据类型是键值对的形式的,并不是Collections的子接口,是一个顶层接口;(2)HushTable是基于陈旧的Dictionary类的;

2025-12-23 17:27:11 877

原创 Java学习日记——DAY13

是HashSet的子类,底层由LinkedHashMap实现,维护了一个数组加双向列表,LinkedHashCode值是根据元素的HashCode值来确定存储位置的,同时使用列表来维护元素的位置,使元素看起来是顺序进行存储的;使用Comparator的接口时,需要再额外定义一个实现Comparator的实现类,重写Compare方法,并且传输想要比较类的参数,根据业务要求进行比较,大于返回正数,小于返回负数,等于返回0。新添元素,先求HashCode值确定他在哈希表中的位置,再求所以确定他在链表中的位置;

2025-12-22 16:55:48 279

原创 Java学习日记——DAY12

:无边界的通配符,让泛型能够接收未知类型的数据,没有赋值前表示可以接受任何数据类型,赋值后不可随便添加元素,因为不知道集合的数据类型,只能做读取操作,并且都是默认以Object类型实例进行操作的,可以进行删除和清空操作;super 类名>:指定下界的通配符,接收指定类及其父类/接口类型的数据,可以读取到集合的数据也是按着Object类型实例处理,可以向集合添加元素,添加元素的类型只能是指定类或者它的子类,不能添加父类/接口类型的对象;

2025-12-19 22:39:36 611

原创 Java学习日记——DAY11

(2)将时间戳转换为格式化字符串后的LocalDateTime:用Instant的ofEpochMilli接收时间戳并转换为Instant类型,再使用LocalDateTime的ofInstant接收被转为Instant类型的时间戳,和时间偏移地区的Id,这个Id可由ZoneId.SystemDefalut来获取当前系统的时间地区,获得LocalDateTime后可利用ofPattern定义格式化标准,再利用format转为格式化的字符串;当前对象在指定对象之前,则返回负值。

2025-12-18 14:13:02 392

原创 Java学习日记——DAY10

1.Math类:Math类提供了大量的数学计算工具,Math是final修饰的终结类不能被继承,Math的方法都是static修饰的,可直接通过类名来调用;arraycopy(数组1,起始位置,数组2,起始位置,长度):从原数组指定位置拷贝指定长度到指定数组的指定位置,会覆盖指定数组原来已有元素;常见的方法就是schedule(),语法为schedule(TimerTask,第一次实现延迟的时间,间隔执行的时间);Scanner的对象:nextBigDecimal(),nextBigInteger();

2025-12-16 19:51:53 263

原创 Java学习日记——DAY9

注:String创建后即不可修改,String也不可被继承;即数字与字符串相加会变为字符串,String s1 = "abc"+"def"的过程是先在常量池中开辟abc的空间,再开辟def的空间,再开辟abcdef的空间,String不能被修改是指的是在初始化时常量池中的对象的值。这里面如果用==判断的话,s4与s5是相等的,而s3与s4不相等,原因如下:s3是对象相连也就是先开辟出一个新的空间再给初始化为abcdef,而s5则是先在常量池中查找有没有abcdef的常量对象,如果有则直接指向该对象;

2025-12-15 20:45:45 759

原创 Java学习日记——DAY8

4.hashCode:hashCode(哈希码)是一种编码方式,在Java类中每个对象都会有一个hashCode,Java可以通过hashCode来识别一个对象,如果没有重写,通常将内存地址转换为int数组进行返回。一般在打印对象时需要对toString方法进行重写,进行个性化打印,如若处理的是对象数组的话,则在重写toString方法后可以用Arrays.toString来处理;equals与==的区别:==判断是同一,equals可以判断相等,同一一定相等,但是相等不一定是同一。

2025-12-13 11:35:59 770

原创 Java学习日记——DAY7

父类抛出检查型异常,子类可以不抛出异常也可以抛出和父类一样的异常,可以抛出比父类更小的异常,不可以抛出和父类同级但不同的检查型异常和比父类大的检查型异常;3.catch(){}括号里不仅可以来处理一些细致的异常类(运算出错/数组指针异常...)还可以在最后面加一个父类用来拖底解决异常;2.try{}后面可搭配多个catch来处理不同的异常,同时可通过catch(异常1|异常2|...){}来一次同时处理多种异常;9.可以自定义异常类(需要继承throwable下面的类,常继承的是Exception类);

2025-12-11 19:23:22 218

原创 Java学习日记——DAY6(面向对象总结)

本文总结了Java面向对象编程的核心知识点:1)访问修饰符public/default/protected/private的权限控制;2)类加载与对象存储机制;3)构造器继承规则和super/this用法;4)static关键字的特性和静态代码块执行顺序;5)继承中的方法重写规则;6)final关键字的各种用法;7)多态实现方式及转型规则;8)接口特性及JDK1.8新增的default/static/private方法;9)四种内部类的定义和使用场景。涵盖了面向对象编程中的封装、继承、多态三大特性,以及接口

2025-12-11 10:17:14 750

原创 Java学习日记——DAY5

本文总结了Java面向对象编程的关键知识点:1)继承机制(单继承、访问权限);2)子类实例化过程(构造器调用规则);3)属性隐藏与方法覆盖规则;4)抽象类与抽象方法特性;5)final关键字用法限制;6)向上/向下转型规则;7)多态实现条件;8)里氏替换原则;9)instanceof运算符用法。重点阐述了继承体系中的访问控制、方法重写规范、类型转换机制等核心概念,为理解Java面向对象特性提供了系统化的知识框架。

2025-12-08 15:36:15 332

原创 Java学习日记——DAY4

本文总结了Java面向对象编程的基础知识:1)对象数组的创建与使用;2)static关键字的用法,包括静态变量(类共享、初始化时机、访问权限)和静态方法(访问限制、调用方式);3)代码块执行顺序(静态>构造>方法);4)单例模式的两种实现方式(饿汉式和懒汉式);5)package和import的打包导包操作;6)修饰符的作用效果。重点阐述了static修饰符在成员变量、方法和代码块中的特性与应用场景。

2025-12-06 17:27:00 135

原创 Java学习日记——DAY3

2.Java中数组和String属于引用类型,类比于C/C++中的指针,不属于基本数据类型,Java中数组的名字作为变量存于栈内存,但是其值却指向其元素在堆内存开辟的空间实现存储,而对于二维数组则是变量存于栈内存,其值指向位于堆内存的一组空间,而这一组空间的每一个存储单元都指向另一组开辟的空间,实现二维数据存储。(4)Arrays.compare(),参数是(数组1,数组2),利用词典中的大小对两个数组的元素字典值之和进行比较,前大于后返回正数,后大于前返回负数;

2025-12-05 15:34:58 341

原创 Java学习日记——DAY2

本文总结了Java学习中的两个关键知识点:首先,在处理格式化输出时,发现double类型存在精度问题,转而使用BigDecimal类进行精确计算,特别强调了创建BigDecimal对象时应避免直接使用double类型参数;其次,总结了switch语句的正确使用方法,强调需要break截断并使用default补充。文章记录了作者通过实践发现问题并改进的学习过程,展现了Java编程中精度处理和流程控制的重要技巧。

2025-12-01 17:38:32 174

原创 Java学习日记——DAY1

本文总结了Java初学者的学习要点:1)Java完全基于类,main函数也需放在类中;2)使用Scanner类实现输入,System.out实现输出;3)基本数据类型与C/C++类似,但String是引用类型;4)遵循驼峰命名法,类名首字母大写,变量名小写开头;5)支持位运算(&,|,^等);6)"+"运算符可实现字符串拼接;7)注释方式与C/C++相同(//和/* */)。作者分享了从C/C++/Python转向Java时发现的主要差异,涉及语法规则、编程风格等基础知识点。

2025-11-30 12:38:06 268

原创 学习C语言新得

1.网上存在许多优秀的计算机领域的老师,不建议大家死扣课本,灵活的在网上寻找资源弥补信息查可以更有效的学习,这里推荐b站的比特鹏哥c语言课程免费用心,大家可以参考;2.学会某一方面只是后一定要勤加练习,只记不练永远也无法真正学会一门编程语言,大家可以看一看与自己学会知识对应难度的程序设计和习题,便于融会贯通;3.将每天写的代码上传到gitee或者github上,可以为自己以后面试环节中简历提供一手材料;4.大家可以多写一写博客,将所学所感说出来,能便于更加深刻的记忆和理解。

2024-08-17 20:32:59 237

空空如也

空空如也

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

TA关注的人

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