![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 56
Java学习心得
sniper_fandc
这个作者很懒,什么都没留下…
展开
-
面向对象程序设计思维
作为java一个重要的编程思维,面向对象有着和面向过程同等重要的地位,首先我能来通过一个例子了解一下两种思维的不同。就比如把大象放到冰箱这个经典的问题,面向过程的思维就是三步,1.把冰箱门打开2.把大象放到冰箱里3.关上冰箱门。面向对象的思维就是:1.定义一个大象对象2.定义一个冰箱对象3.定义一个手对象,通过对象与对象之间的交互完成问题,至于手是如何把冰箱打开的,我们并不关心。两种思维方式没有好坏之分,对应不同的应用场景有各自的优势。因此类和对象...原创 2022-02-23 20:16:28 · 527 阅读 · 0 评论 -
关于final、finally和finalize我有话要说
finalfinal关键字用于修饰类、方法、变量。1.当修饰类时表示类不可被继承,主要用于考虑类的安全性问题上。需注意,一个final类其中的成员方法成员方法都会隐式被定义为final方法。2.当修饰方法时表示方法不能被重写,子类可以继承,但是不能对其重写修改。3.当修饰变量时表示变量为常量,即只能在初始化时显式赋值一次,不能被重新赋值。finally多用于try-catch异常捕获中最后的资源释放,这里会有人认为finally语句一定会被执行到,我们来看下面的代码 ://1.原创 2022-03-01 15:35:11 · 206 阅读 · 1 评论 -
java实现图书管理系统之二
主函数Main(登录系统和菜单的多态体现):import book.BookList;import user.AdminUser;import user.NormalUser;import user.User;import java.util.Scanner;public class Main { public static User login() { System.out.println("请输入姓名:"); Scanner scanner原创 2022-03-01 23:02:14 · 258 阅读 · 1 评论 -
java实现图书管理系统之一
学习了java的有关面向对象编程思想的语法后,为了将类和对象、封装、继承、多态、抽象类、接口融会贯通,我实现了图书管理系统,供小白参考学习和大佬指正。本文主要讲解的是该系统的逻辑框架,具体业务逻辑的实现和源代码见第二篇文章:http://t.csdn.cn/q6aT6http://t.csdn.cn/q6aT6我将程序分成三类对象,第一类对象是图书Book和书架BookList,主要应用的是类的实例化、构造方法、成员访问权限的知识。单本图书信息...原创 2022-03-01 23:07:42 · 257 阅读 · 0 评论 -
java有关string字符串编程习题
1.一个字符串最后一个单词的长度(字符串单词之间为空格,结尾不为空格) //最后一个单词的长度 //方法1 public static void main1(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { // 注意 while 处理多个 case String str = in.nextLine();原创 2022-03-04 19:46:22 · 682 阅读 · 1 评论 -
一起了解JavaSE基本语法
我将javase需要学的基本语法整理成一张框架图 ,供大家参考学习。原创 2022-03-06 21:15:37 · 156 阅读 · 0 评论 -
Iterable、Collection、List 的常见方法签名以及含义
这是数据结构集合的有关类和接口的关系图,弄清集合关系,这一张图就够了。下面我们先来了解一下iterable、collection、list三个接口的主要功能和常用的方法:Iterable接口:集合框架最顶端的接口,实现接口的遍历。迭代器接口可进行迭代的接口iterator()这个方法返回的是Iterator的实例。Iterator也是一个接口,为什么不将两个接口合并为一个接口,这样不是更简洁更方便吗?...原创 2022-03-14 21:39:20 · 423 阅读 · 1 评论 -
数据结构之ArrayList与顺序表
ArrayList是一个实现List接口的类,底层是动态类型顺序表,本质也就是数组,动态主要体现在它的扩容机制。那么既然是底层是数组,那我们为什么不直接使用数组而是要使用ArrayList类呢?1.假设我们有这样一个数组:我们要计算数组有效元素个数,但我们是否可以知道有效的数据?如果是纯数组,0并不是有效数据,但是如果我们有效数据就是0,就无法单靠数组解决了,而定义顺序表,其中会定义size变量,用于有效数据的使用。当然,顺序表还定义了其他方法(增...原创 2022-03-16 21:33:17 · 131 阅读 · 1 评论 -
数据结构之LinkedList与链表
目录1.LinkedList的特点和存在意义2.LinkedList的简单使用2.1.LinkedList的构造2.2.常见方法2.3.遍历3.链表结构4.简单实现4.1单向无头不循环链表4.2.双向无头不循环链表5.ArrayList与LinkedList的不同1.LinkedList的特点和存在意义LinkedList的底层是双向链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的节 点中,然后通过引用将节点连接起来了...原创 2022-03-22 15:33:16 · 1722 阅读 · 0 评论 -
链表必刷题之一
1.给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。public ListNode reverseList(ListNode head) { if(head == null) { return null; } if(head.next == null) { return head; } //两个节点以上 ListNode cur = head原创 2022-03-22 16:17:16 · 545 阅读 · 1 评论 -
链表必刷题之二
1.编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 。public ListNode partition(ListNode pHead, int x) { ListNode bs = null; ListNode be = null; ListNode as = null; ListNode ae = null; ListNode cur = pHead; whil原创 2022-03-22 16:40:49 · 374 阅读 · 1 评论 -
数据结构之栈的基本知识与习题
目录1.有关概念2.基本方法和使用场景2.1.方法2.2.使用2.3.应用场景2.3.1.改变元素的序列2.3.2.逆序打印链表2.3.3.oj题括号匹配2.3.4.逆波兰式求值2.3.5.栈的弹出序列3.栈的简单实现(数组实现)4.有关栈的概念区分1.有关概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则。 ...原创 2022-04-03 22:48:02 · 1085 阅读 · 1 评论 -
数据结构之队列知识与习题练习
目录1.队列概念2.基本方法和简单使用2.1.基本方法2.2.简单使用3.模拟实现与应用场景3.1.各种实现方式分析3.2.简单实现(含有尾指针的单向链表)3.3.应用场景3.3.1.循环队列3.3.2.用栈实现队列3.3.3.用队列实现栈3.3.4.最小元素栈3.3.5.特定时间范围内最近的请求1.队列概念队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出的特点。入队列:进行插入操作的一端称为...原创 2022-04-04 21:58:47 · 1465 阅读 · 1 评论