java
文章平均质量分 90
AlonScholar
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程详解(1)
1.线程简介 什么是线程?原创 2021-03-04 00:00:59 · 214 阅读 · 1 评论 -
面向对象编程
1. 什么是面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么… 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。 面向对象适合处理复杂的问题,适合处理需要多人协作的问题! 对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。 面向对象编程(Obj转载 2021-02-25 19:10:21 · 182 阅读 · 0 评论 -
JAVA方法详解
1. 何为方法? System.out.println(),那么它是什么呢? JAVA方法是语句的集合,它们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期的扩展。 2. 方法的定义和调用 JAVA的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个原创 2021-02-25 14:06:32 · 149 阅读 · 0 评论 -
JAVA流程控制
1. 用户交互Scanner 之前我们学习的基础语法中并没有实现程序和人的交互,但是Java给我们提供了一个这样的工具类,我们可以获取用户的输入。java.util.Scanner是Java 5的新特性,我们可以通过Scanner来获取用户的输入。 基本的语法 Scanner s = new Scanner(System.in); 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext() 与 hasNextLine()判断是否还有输入的数原创 2021-02-25 10:01:49 · 173 阅读 · 2 评论 -
JAVA基础语法(2)
6. 基本运算符 java语言支持以下运算符 算数运算符:+,-,*,/,%,++,– 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算符:&&,||,! 条件运算符: ?: 扩展赋值运算符:+=,-=,/=,*= long a = 1153132165465155L; int b = 1234; short c = 10; byte d = 1; //相原创 2021-02-24 16:43:47 · 143 阅读 · 0 评论 -
JAVA基础语法(1)
1、注释 //单行注释 /* 多行 注释 */ /** * @Description 文档注释 * @author 某某 */ 2、标识符和关键字 标识符定义 1、 包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。 2、 标识符可以由字母、数字、下划线(_)和美元符号($)组成 3、 标识符不能以数字开头,不能是java中的关键字。例如: 正确的标识符 Username、username123、user_name、_userName、$username 不正确的标识符: 123us原创 2021-02-24 15:06:35 · 227 阅读 · 0 评论 -
JAVA入门简介
JAVA的发展历史 1. C语言 帝国的统治现在是公元1995年, C语言帝国已经统治了20多年, 实在是太久了。 1972年, 随着C语言的诞生和Unix的问世, 帝国迅速建立统治, 从北美到欧洲, 从欧洲到亚洲, 无数程序员臣服在他的脚下。 帝国给我们提供了极好的福利:贴近硬件, 运行极快, 效率极高。 使用这些福利, 程序员们用C 开发了很多系统级软件,操作系统, 编译器, 数据库,网络系统…… 但是帝国也给程序员们安上了两个沉重的枷锁: 指针和内存管理虽然指针无比强大, 能直接操作内存, 但是帝国转载 2021-02-24 09:09:32 · 173 阅读 · 0 评论 -
栈--简单计算器(后缀表达式)
JAVA实现后缀表达式–>简单计算器(栈) 预备知识: 前缀表达式 中缀表达式 后缀表达式 比如 5 * 2 + 3 前缀表达式 : + * 5 2 3 中缀表达式:5 * 2 + 3 后缀表达式:5 2 * 3 + 计算机中,使用后缀表达式更容易进行计算: 思想:遇到数字就入栈,遇到运算符就pop出两个数进行运算然后将结果入栈。最后留下一个栈顶元素即为结果。 可见,实现后缀表达式计算出并不困难。 这里的难点是怎么把我们常用的中缀表达式转换成后缀表达式: 这里先说中缀表达式的思想: 初始化两原创 2020-11-30 00:27:10 · 547 阅读 · 1 评论 -
JAVA栈实现简单的计算器
本次使用栈来模拟计算器的实现 例如 15 + 2 × 3 - 3 我们需要两个栈来辅助实现 符号栈(用来存储符号) 数字栈(用来存储运算的数字和结果) 实现思路: 5+2*3-3 1.通过一个index值(索引),来遍历我们的表达式 2.如果我们发现是一个数字。就直接入数栈 3.如果发现扫描到的是一个符号,就分如下情况 3.1 如果发现当前的符号栈为空,就直接入符号栈。 3.2 如果符号栈有操作符,就进行比较。 1)如果当前的操作符的优先级小于或者等于栈中的操作符,这时就需要从数栈中pop出两个数原创 2020-11-29 23:35:15 · 929 阅读 · 1 评论 -
java实现栈-数据结构
栈(stack) 1)栈是一个先入后出(FILO-First In Last Out)的有序列表 2)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一段,成为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 3)根据栈的定义可知,最先放入栈中的元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。 入栈(push)的图解: 出栈(pop) 栈的应用场景 1)子程序的调用:原创 2020-11-24 08:31:19 · 382 阅读 · 2 评论 -
数据结构——单链表(JAVA)
数据结构——单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。 起初我们创建一个节点类 //英雄节点 class HeroNode { public int no; //英雄编号 public String name; //名称 public String nickname; //绰号原创 2020-11-14 08:07:51 · 312 阅读 · 0 评论 -
JAVA代码实现环形队列
环形队列 在上一篇中提到了顺序队列的实现,顺序队列存在的最大的问题就是假上溢现象。 "假上溢"现象:由于入队和出队操作中,头尾指针只增加不减小,致使被删元素的空间永远无法重新利用。当队列中实际的元素个数远远小于向量空间的规模时,也可能由于尾指针已超越向量空间的上界而不能做入队操作。该现象称为"假上溢"现象。 环形队列解决了这一缺陷,将队列空间充分重复利用。 以下是思路图: 这里的思想稍微有一点点变化:起初 front = rear = 0 ,每当添加元素时,将rear++ ,这里判断队满的条件是 (rea原创 2020-11-09 22:33:47 · 492 阅读 · 0 评论 -
JAVA实现简单的顺序队列
JAVA实现队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first o原创 2020-11-09 16:13:01 · 506 阅读 · 0 评论 -
算法设计--JAVA实现稀疏矩阵
稀疏矩阵 在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。定义非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。 此处使用JAVA代码实现对矩阵的压缩与扩展 可以想象,当我们玩五子棋或其他棋类游戏时,当我们需要对游戏来进行存档。那么可以把棋盘来当作一个矩阵,有棋子的地方用相应的数字来进行表示。没有棋子的地方用0来表示。 这里假设棋盘为11*11的一个矩阵。 倘若棋盘中1为黑子,2为白子。 原始原创 2020-11-09 12:29:12 · 615 阅读 · 0 评论
分享