- 博客(22)
- 收藏
- 关注
原创 学习java第五天#越努力越幸运#——面向对象
第五天的时候,我已经隐隐感觉到了吃力,没关系,学习吃力说明我学到东西了。这几天天天学习,几乎一整天都在看视频做笔记并理解,一个二十分钟的视频,加上自己动手打码和理解,几乎会花上我一个小时的时间,所以前几天的学习博客都没写,为了能够将我的博客以最真实最深刻的方式记录下来,我决定先把今天的学习知识和感悟写下来。今天我学习的知识是面向对象,之前没怎么学习过Java的时候就听过这个词,第一感觉是:抽象,一......
2022-06-20 18:43:00
144
原创 java_成员变量和局部变量
在学习Java的时候,有一段时间总是搞不清楚成员变量和局部变量的区别,现在我总结一下我对他们的了解,我是小白,欢迎各位指点。 他们的不同是存在的范围不同 1、成员变量 a、作用范围大,存在于class中,作用于整个类中 b、存在于堆内存中 2、局部变量 a、函数中或者语句中 b、存在于栈内存中......
2022-06-20 18:42:28
145
原创 Java_匿名对象
这是一个小的知识点,单独放在一个博客里面,共供以后复习和扩展 什么是匿名对象? 所谓匿名对象,顾名思义,就是没有名字的对象.,匿名对象是对对象的简化形式。 Car c = new Car(); //有名字的对象 new Car(); //没有名字的对象 再举个例子 Car c = new Car(); c.num = 5; //以上代码可以简写成以下形式 ......
2022-06-20 18:40:18
240
原创 Java_排序_冒泡排序初级版及优化版
冒泡排序是我们经常见到的一种排序,也是在面试题中经常出现的排序 eg:将9、8、7、6、5从小到大排序,下面是冒泡排序的思路 第一趟:第①次:8、9、7、6、5 ② 8、7、9、6、5 ③ 8、7、6、9、5 ④ 8、7、6、5...
2018-08-06 10:30:25
291
原创 Java_容器4-2_Map“分拣”思路
“分拣”思路:类似于快递中的分拣员,把不同地区的快递分拣在一起,在java中也有这样的思想,将同种属性的对象分拣在一起,下面我来归纳下Map中两种分拣思路。 注明:我是在尚学堂视频上看到的关于分拣思路,觉得非常有用,便以博客的形式记录并分析下来。 题目,计算i am a good boy and she is a good girl that we fall in love这句话中出现某个单词...
2018-08-06 09:48:00
539
原创 Java_容器4-1_Map源码编写
在前一篇文章中初步了解了下Map,下面为了更加深入的了解Map,我来写下粗糙的Map源码 1、放入键值对 LinkedList[] arr = new LinkedList[999]; int size; public void put(Object key,Object value) { MyEntry e = new MyEntry(key,value); ...
2018-08-05 22:31:05
158
原创 Java_容器3-2_Set_HashSet
HashSet是Set接口的典型类,大多数时候使用Set集合时就是使用这个实现类;HashSet按照Hash算法来存储集合中的元素,因此具有很好的存取和查找功能。 一、HashSet的特点: 1、元素无序不可重复; 2、HashSet不是同步的 3、集合元素可以是null 二、Equals()和HashCode() 1、Hash Set两元素相同的标准:equals和HashCode的...
2018-08-05 22:16:32
158
原创 Java_容器4_Map
实现Map接口的类用来存储键(key)值(Value)对:通过一个对象(key)找另一个对象(Value)。 键不能重复!!! 接口的实现类有HashMap和TreeMap Map的底层实现是:数组+链表 如下图(画的比较粗糙) 如下面这个例子,通过丈夫的名字找到妻子 public class test { //key value 都是对象,成对存放在容器里面 pub...
2018-08-05 22:15:50
314
原创 Java_容器3-1_Hash算法的作用
Hash算法也叫哈希算法和散列算法,它是基于高速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构能够理解为一个线性表,可是当中的元素不是紧密排列的,而是可能存在空隙。所以该算法的价值是速度。 hash算法比较多,在下也没有完全懂得,想要了解其算法的可以在网上搜。 举例说明:比如将99个元素储存到拥有100个元素的空间,这时就会想到数组,数组的元素根据索引来访问,找到索...
2018-08-05 21:09:36
359
原创 Java_容器3_Set
Set接口最常用的类是HashSet,HashSet的底层是由Hash Map实现的 Set是无序不可重复的,List是有序可重复的 Set的源码实现我就不写了,可以自己去看源码并加以理解。...
2018-08-05 19:42:49
191
原创 java_容器2-3_遍历的方式
学习容器,经常需要遍历以达到删改增查得目的 学到现在,接触到两种遍历方式: 1、采用for循环: public Node node(int index) { Node temp = null; //指针,所在的节点 if(first != null) { temp = first; //temp遍历的对象,从第一个开始遍历。 for(int i...
2018-08-04 22:05:48
264
原创 Java_容器2-2_LinkedList源码编写
LinkeList底层是由链表实现的,查询慢,但增删改比较方便 以下是本人画的链表草图(滑稽脸): 1、加元素 /* * 测试加元素 重点!!! */ public void add(Object obj) { if(first == null) { //第一个为空 Node n = new Node(); n.previous = null;...
2018-08-04 21:48:32
151
原创 Java_容器2-1_ArrayList源码编写
通过源码的编写可以更加充分的了解到ArrayList的底层实现 ArrayList底层实现是数组,查找方便,但增删改比较慢 1、数组的拷贝与扩容 public void add(Object obj) { //数组的拷贝和扩容 if(size==elementDate.length) {//当数组大小等于elementDate的长度时需要扩容 Object[] newArra...
2018-08-04 20:49:09
207
原创 Java_容器1_概念初识
1、初识:在编程时,通常需要集中存放多个数据,为了保存数量不确定的数据,以及报讯具有映射关系的数据,java提供了集合类。集合类主要负责保存,盛装其他数据,因此集合类也称为容器类。 2、集合类和数组的区别: 数组元素既可以是基本类型,也可以是对象,并且只能保存同种类型; 集合里种子能保存对象 3、Java的集合类主要由两个接口派生而出:Collection和Map。以下是我画的草图: ...
2018-08-04 20:19:14
230
原创 Java_引用分类_WeskHashMap
一、引用分类 强引用:StrongReference 引用指定对象,gc(垃圾回收机制)运行时不回收; 软引用:SoftReferencen 运行时可能回收(jvm内存不够); 弱引用:WeakReference 运行时立即回收; 虚引用:PhantomReference 类似于无引用,主要跟踪对象被回收的对象,不能单独使用,必须与引用队列(ReferenceQueue)联合使用。 ...
2018-08-04 18:03:24
200
转载 Java_接口和抽象类
偶然读到一篇博客,觉得博主写的这篇关于接口和抽象类的文章很好,于是便转载。 深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大...
2018-07-21 22:09:21
149
原创 让我疑惑的代码之一_Integer
在我学习包装类知识的时候,遇到了一开始让我疑惑的代码 在测试“equals”和“==”之时,我发现,当赋给Integer的值不同的时候,boolean值可能会改变。 比如敲下以下代码 打印出来的boolean值是: 对于此,我是没有疑问的,根据我之前的博客https://blog.youkuaiyun.com/su_nmer/article/details/81110439中的第三部分的②部分...
2018-07-21 21:58:10
208
原创 java学习_包装(自动装箱和自动拆箱)
为什么要自动装箱和自动拆箱? Java并不是纯面向对象的语言,当java中的基本数据类型不是面向对象的,可以把数包装为对象。这是jdk5.0之后的新功能。 以下基本数据类型可以转换为包装类 基本数据类型 包装类 byte Byte boolean Boolean short Short char Char int Integer f...
2018-07-21 21:32:30
227
原创 Java学习_补充_数组矩阵的计算(Matris)
前一篇博客没有提及如何计算两个矩阵之和,由于全是以代码来说明,所以便专门写一博客进行讲解。我是Java小白,如果说错了,欢迎各位大佬指点。 如何计算两个矩阵之和 先举个例子(两个3*3矩阵之和) public class Matris { public static void main (String[] args) { /* * 初始化两个矩阵 */ ...
2018-07-20 20:36:04
725
原创 学习Java第二天#越努力越幸运#
由于之前大一的时候学了点c语言,现在学着Java的时候不至于太难受。 第一篇:数据类型 1、Java的数据类型: 基本: 数值型(short\int\long\double\float); 字符型(char); 布尔型(boolean) 引用数据类型: 类(class); 接口(int...
2018-07-20 17:28:31
248
原创 学习java第七天#越努力越幸运#_数组
Java学习之数组(array) 定义:数组是相同数据类型的有序组合,数组也是对象,数组元素相当于对象的成员变量。 数组的长度确定,是不可变的。 1、数组的声明 eg:int[] a; int a[]; 2、数组的初始化(三种方式) ①int[] a = new int[3]; ...
2018-07-19 12:40:04
317
原创 JAVA的准备工作
这是我第一次写博客,后续我也会发表我的博客来纪念我的java成长之路。 工欲善其事,必先利其器,在学java之前,我买了一本书——《疯狂java讲义》,这是“疯狂”系列的其中一本,因为我也想在学习java这件事情上疯狂一次。那么,下面来介绍如何配置Java的环境。首先,在orecle官网下载jdk,搜索“下载jdk”;进入官网页面:由于我是新手,加下载了标准版SE:根据自己...
2018-07-14 18:22:11
674
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅