![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java复习
文章平均质量分 61
Tingtula
这个作者很懒,什么都没留下…
展开
-
04-Java集合
ArrayList和LinkedList最明显的区别:ArrayList基于数据实现,所以它的查找是很快的,但是随机增删的时候(非直接操作尾部元素)是比较慢的,因为它需要移动增删元素后面的所有元素,这就比较耗时了。而LinkedList则是基于链表实现,照理来说它的随机增删是比较快的,因为只需要操作一个节点,但是查找就比较慢了, 因为它必须遍历整个链表,直到找到相应的元素。这里提一个问题,LinkedList的随机增删真的就比ArrayList快吗?我们来看这样的一段代码:public class原创 2021-12-12 21:58:57 · 343 阅读 · 0 评论 -
03-封装,继承,多态
封装最小程度赋予属性,方法权限控制,能给private的绝不给protect。例如我们有这样一个类:public class Car { private int price; public Car(int price) { this.price = price; } public int getPrice() { return price; }}我们并不希望Car类中的price属性一旦被创建,就不允许被外部人为进行修改,但原创 2021-12-12 17:33:48 · 343 阅读 · 0 评论 -
02-String&StringBuilder&StringBuffer
这个应该算是老掉牙的知识点了,但是确实用的非常频繁,所以必须要多加复习。String final的实现众所周知,String的内部实现是一个final的char[],为什么要实现为final的也是广为争议的一点。唯一确定就是实现为final的必然是对的,那么实现为final有哪些好处呢?hashCode可以被缓存:虽然我们比较少显式地使用String的hashCode,但是当我们使用equals()方法的时候,背后就是用了hashCode,如果每次比较都要计算一次hashCode,那效率将大打折扣。原创 2021-12-12 16:56:35 · 347 阅读 · 0 评论 -
01-流程控制
if…elsepublic class LeapYear { public static void main(String[] args) { int year = 2021; // 如果一个年份能被4整除,并且不能被100整除则是闰年 if (year % 4 == 0 && year % 100 != 0) { System.out.println(year + "是闰年"); } else原创 2021-12-12 16:18:54 · 415 阅读 · 0 评论 -
00-基本数据类型,封装类型和基本运算操作
1.基本数据类型byte:1个字节short:2个字节int:4个字节long:8个字节float:4个字节double:8个字节char:2个字节boolean:未知(没有明确规定要用多少个字节来表示)2.封装类型例如int 和Integer,int自动转Integer称为装箱操作,Integer自动转int称为拆箱操作,Integer转int可能会导致控制空指针异常,因为Intger是对象,可为null;而当我们使用int作为对象的某个属性时,则要注意,int一般会有默认值为0,如果原创 2021-12-12 15:45:41 · 387 阅读 · 0 评论