- 博客(43)
- 收藏
- 关注
原创 java小白日记41(如何选择集合实现类)
无序:HashSet【底层是HashMap,维护了一个哈希表 即(数组+链表+红黑树)】改查多:ArrayList【底层维护 object类型的可变数组】插入和取出顺序一致:LinkedHashSet,维护数组+双向链表。增删多:LinkedList【底层维护了一个双向链表】键插入和取出顺序一致:LinkedHashMap。(1)先判断存储的类型(一组对象【单列】或一组键值对【双列】)键排序:TreeMap。(2)一组对象【单列】:Collection接口。(3)一组键值对【双列】:Map。
2025-03-25 13:26:15
198
原创 java小白日记40(集合-Map)
1.存放的元素是键值对:即K-V2.hashtable的键和值都不能为null,否则会抛出NullPointerException3.hashTable使用方法基本上和HashMap一样4.hashTable是线程安全的,hashMap是线程不安全的1.底层有数组Hashtable$Entry[],初始化大小为112.临界值 threshold = 11*0.75 = 83.扩容,按照自己的扩容机制来进行4.执行方法 addEntry(hash,key,value,index);
2025-03-25 11:06:13
510
原创 java小白日记38(集合-List)
List接口是collection接口的子接口(1)List集合类中元素(即添加顺序和取出顺序一致)、且(2)List集合中的每个元素都有其对应的顺序索引,即(3)List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。
2025-03-18 14:46:16
526
原创 java小白日记37(集合-collection)
1.可以动态保存多个任意对象,使用比较方便2.提供了一系列操作对象的方法:add、remove、set、get等3.使用集合添加,删除新元素的示意代码-简洁了。
2025-03-17 10:35:35
257
原创 java小白日记35(BigInteger和BigDecimal类)
(1)BigInteger适合保存比较大的整型(2)BigDecimal适合保存精度更高的浮点型(小数)
2025-03-12 14:53:07
265
原创 java小白日记34(String)
1.String对象用于保存字符串,也就是一组字符序列2."jack"字符串常量,双引号括起的字符序列3.字符串的字符使用Unicode字符编码,一个字符(不区分字母和汉字)占两个字节4.String类有很多构造器,即构造器的重载5.String类实现了接口Serializable【String 可以串行化 :可以在网络中传输】Comparable【String 对象可以比较大小】6.String 是final 类,不能被其他类继承。
2025-03-11 12:54:06
1012
原创 java小白日记33(异常)
当程序中出现了某些错误,但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息。
2025-03-07 15:45:03
189
原创 java小白日记32(注解)
(1)注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息(2)和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息(3)在javase中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在javaee中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替javaee旧版中所遗留的繁冗代码和XML配置等。
2025-01-28 05:10:22
204
原创 java小白日记31(枚举)
(1)不需要提供setXxx方法,因为枚举对象值通常为只读(2)对枚举对象/属性使用final+static共同修饰(可以不用加载类)(3)枚举对象名通常使用全部大写,常亮的命名规范(4)枚举对象根据需要,也可以有多个属性(1)构造器私有化(2)本类内部创建一组对象(3)对外暴露对象(通过为对象添加public final static修饰符)(4)可以提供get方法,但不要提供set。
2025-01-28 03:14:01
281
原创 java小白日记30(内部类!!!)
一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类,嵌套了其它类的类称为外部类。内部类的最大特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系。
2025-01-26 19:45:54
190
原创 java小白日记28(抽象类)
当父类的一些方法不能确定时,可以用 abstract 关键字来修饰该方法,这个方法就是抽象方法,用abstract修饰的类就是抽象类。(7)如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也声明为abstract类。(5)抽象类可以有任意成员(抽象类的本质还是类),比如:非抽象方法、构造器、静态属性等。(3)抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类()(2)用abstract关键字来修饰一个方法时,这个方法就叫抽象方法。(6)抽象方法不能有方法体。
2025-01-23 02:30:45
226
原创 java小白日记27(final关键字)
final 中文意思:最后的,最终的final 可以修饰类、属性、方法、局部变量.在某些情况下,程序员可能有以下需求,就会使用到final:(1)当不希望类被继承时,可以使用final(2)当不希望父类的某个方法被子类覆盖/重写时,可以用final关键字修饰(3)当不希望类的某个属性的值被修改,可以用final修饰(4)当不希望某个局部变量被修改,可以使用final修饰。
2025-01-22 21:45:06
358
原创 java小白日记26(单例设计模式)
所谓类的单例设计模式,就是采用一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
2025-01-19 00:07:30
146
原创 java小白日记25(代码块)
代码块又称为初始化块,属于类中的成员【即是类是一部分】,类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显示调用,而是加载类时,或创建对象时隐式调用。
2025-01-10 13:48:39
352
原创 java小白日记23(equals)
1. ==:既可以判断基本类型,又可以判断引用类型2. ==:如果判断的是基本类型,判断的是值是否相等。3. ==:如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象4. equals:是Object类中的方法,只能判断引用类型5.equals:默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。
2024-12-19 01:53:30
171
原创 java小白日记21(方法重写)
简单的说:方法重写(覆盖)就是子类有一个方法,和父类某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的方法。
2024-12-13 14:29:36
196
原创 java小白日记20(super关键字)
3.super的访问不限于直接父类,如果爷爷类和本类中有同名的成员,也可以使用super去访问爷爷类的成员;如果基类(上级类)中都有同名的成员,使用super时遵守就近原则,也要遵守访问权限的相关规则。3.访问父类的构造器:super(参数列表);1.cal.()和this.cal()等价,都是先在本类查找,找不到再去查找父类。super代表父类的引用,用于访问父类的属性、方法、构造器。1.访问父类的属性,但不能访问父类的private属性。2.访问父类的方法,但不能访问父类的private方法。
2024-12-13 13:59:13
235
原创 java小白日记19(继承!!!)
继承是面向对象编程中的一个基本概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。继承机制可以促进代码的复用,使得子类能够继承父类的特性,同时还可以添加新的属性和方法或者覆盖(重写)父类中的方法。
2024-12-13 12:05:04
205
原创 java小白日记18(封装)
封装(Encapsulation)是面向对象编程(OOP)的四大基本原则之一,它指的是将对象的实现细节隐藏起来,只暴露出有限的接口与外部进行交互。
2024-12-11 13:53:23
223
原创 java小白日记17(访问修饰符)
java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围)1.公开级别:用修饰,对外公开2.受保护级别:用修饰,对子类和同一个包中的类公开3.默认级别:没有修饰符号,向同一个包中的类公开4.私有级别:用修饰,只有类本身可以访问,不对外公开。
2024-12-11 10:22:42
228
原创 java小白日记14(this)
注意只能在构造器里使用(即只能在构造器中访问另一个构造器,必须放在第一条语句)5.this不能在类定义的外部使用,只能在类定义的方法中使用。1.this关键字可以访问本类的属性、方法、构造器。3.访问成员方法的语法:this方法名(参数列表)简单来说,哪个对象调用,this就代表哪个对象。4.访问构造器语法:this(参数列表);2.this用于区分当前类的属性和局部变量。
2024-12-09 15:35:57
108
原创 java小白日记12(作用域)
中,每次方法被调用时,局部变量都会在栈上创建,当方法调用结束时,它们就会被销毁。由于栈内存是按函数调用分配的,Java编译器不知道局部变量会在何时何地被使用,因此不会为它们分配默认值。中,它们是对象实例的一部分。堆内存是在程序运行期间动态分配和管理的,因此成员变量在对象创建时就已经有了内存空间和默认值。局部变量:也就是除了属性之外的其他变量,作用域为定义他的代码块中。1.在java编程中,主要的变量就是属性(成员变量)和局部变量。2.我们说的局部变量一般是指在成员方法中定义的变量。成员变量存储在堆内存。
2024-12-01 13:50:42
153
1
原创 java小白日记10(方法重载)
java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致比如:System.out.println();out是printstream类型。
2024-11-30 21:52:19
166
原创 java小白日记9(递归)
5.当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法就执行完毕。3.如果方法中使用的是引用类型变量(比如数组,对象),就会共享该引用类型的数据。1.执行一个方法时,就创建一个新的受保护的独立空间(栈空间)2.方法的局部变量是独立的,不会互相影响,比如n变量。4.递归必须向退出递归的条件逼近,否则就是无限递归。
2024-11-30 12:15:58
118
原创 java小白日记7(数组!!!)
数据类型 数组名[] = new 数据类型[大小]例如: int num[] = new int[5] //创建了一个名为num的数组,存放5个int值。
2024-11-17 21:28:22
222
原创 java小白日记6(循环!!!)
break语句用来终止某个语句块的执行,一般使用在switch或者循环。continue语句用来结束本次循环,执行下一次循环。return语句使用在方法,表示跳出使用的方法。(与while循环不一样的是他起码执行一次)三、do-while循环基本语法。二、while循环的基本语法。五、多重循环控制(重点难点)4.完成了章节作业的九道题目。一、for循环的基本语法。
2024-11-16 21:59:31
249
原创 java小白日记4(运算符)
如果条件表达式为true,运算后的结果是表达式1,反之是表达式2。(1)基本赋值运算符 = 例如int a = 10;基本语法: 条件表达式?表达式1:表达式2;位运算符:&、|、^、~、>>、<<、>>>(2)复合运算符 += -=标识符的命名规则(必须遵守)短路与和逻辑与的区别,
2024-10-09 21:16:15
437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅