![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日撸JAVA
文章平均质量分 50
javayyds
MATH_Drill
这个作者很懒,什么都没留下…
展开
-
日撸Java三百行 day01-03(环境搭建与基础语法)
0.前言本人在本科期间简单的接触过Java,但Java知识十分薄弱,为了更好的掌握Java这门语言,之后的90天将根据闵超老师的日撸 Java 三百行来学习Java,以打好Java的基础,此博客将记录学习的过程以及其中遇到的问题和对应的改善方法,以供日后参考。1.环境搭建及基础语法Eclipse下载与安装...原创 2023-04-15 21:55:41 · 152 阅读 · 0 评论 -
日撸Java三百行 day04(条件语句的应用-闰年的计算)
第一种:能被4整除但不能被100整除第二种:能被400整除两种情况合并起来,运用条件语句,可写出以下功能相同的两种函数以上两种函数返回值都为布尔型。原创 2023-04-16 20:05:05 · 66 阅读 · 1 评论 -
日撸Java三百行 day05(switch语句)
选择语句包括if和switch,当多次使用if-else时,会使得代码的可读性降低,这时候用switch就可以简化代码增加可读性其中expression必须计算出一个数据,然后执行与之对应case中的语句,如语句最后有break,则直接跳出switch,否则继续执行下一个case,在遇到break或者switch执行完成时结束default也是可选择的,当出现除前面case之外的情况时,执行default后面的语句。原创 2023-04-17 21:06:47 · 68 阅读 · 0 评论 -
日撸Java三百行 day06(for循环语句)
循环语句对于计算机编程是非常重要的一个语句,因为计算机非常擅长简单重复的事情。while与do-while的差别在于先判断再执行还是先执行一次再判断,两者的循环变量的迭代在循环体中体现,而for是在while的基础上,加上了固定的初始化表达式和迭代表达式,以更加清晰的形式展示循环变量。在循环中可以用break(结束该循环)或者continue(结束本次循环)来灵活使用循环。原创 2023-04-18 11:09:35 · 143 阅读 · 1 评论 -
日撸Java三百行 day07(矩阵元素相加)
其中new为动态申请空间的函数(同C++)可使用arrayName.length来直接获取二维数组中一维数组的个数(行号),arrayName[0].length来获取二维数组中的一维数组中有几个元素(列号)。原创 2023-04-19 23:41:04 · 67 阅读 · 0 评论 -
日撸Java三百行 day08(矩阵相乘)
矩阵相乘需满足前一个矩阵的列数等于后一个矩阵的行数,所以在做矩阵运算前需判断该条件。计算方法:这里使用了i,j,k三个递增变量,则需用到三次循环。原创 2023-04-20 22:22:18 · 111 阅读 · 0 评论 -
日撸Java三百行 day09(while语句)
【代码】日撸Java三百行 day09(while语句)原创 2023-04-21 22:00:38 · 60 阅读 · 0 评论 -
日撸Java三百行 day10(综合任务1)
学生的成绩存放于一个矩阵,其中行表示学生,列表示科目。如:第 0 行表示第 0 个学生的数学、语文、英语成绩。要求:1). 进行学生成绩的随机生成,区间为 [50, 100]。2). 找出成绩最好、最差的同学。但有挂科的同学不参加评比。因为这里是测试,所以通过随机生成学生成绩,来减少输入的麻烦。随机则会使用到random函数,这里用到了Random.nextInt()方法,Random.nextInt(n)是生成一个随机的int值,该值是介于0到n之间的随机int值,它包含0但不包含n。原创 2023-04-22 21:54:17 · 52 阅读 · 0 评论 -
日撸Java三百行 day11-12(顺序表)
final关键字常用来修饰类、方法和引用。修饰类:格式:public final class 类名称 { // ··· }该类不能有任何的子类,且其所有的成员方法都无法覆盖重写。修饰方法:格式:修饰符 final 返回值类型 方法名称(参数列表) { // 方法体 }该方法就是最终方法,不能被覆盖重写。修饰引用:格式: final 引用类型 名称 = 值;当引用类型为基本数据类型时,则引用为常量,其值无法修改;当引用类型为引用数据类型时,可修改其本身内容,但不能修改指向其的引用;原创 2023-04-23 22:22:49 · 67 阅读 · 0 评论 -
日撸Java三百行 day13(链表)
【代码】日撸Java三百行 day13(链表)原创 2023-04-24 23:39:11 · 67 阅读 · 0 评论 -
日撸Java三百行 day14(栈)
栈是一种操作受限的顺序表,其插入删除只能在固定的一端进行,称为入栈和出栈。原创 2023-04-25 23:04:34 · 45 阅读 · 0 评论 -
日撸Java三百行 day15(栈的应用-括号匹配)
使用栈来实现括号匹配,首先在栈中入栈一个特殊符号(如本篇测试中的#),用这特殊符号来解决括号匹配结束栈中还有括号和栈中没有左括号但表达式的下一个还是右括号的情况;然后再进行表达式中的括号匹配,通过switch语句,出现左括号进栈,出现右括号时,先出栈栈顶元素并赋值给一个临时变量,再通过对该变量的检查来知道此次匹配是否成功,如成功则继续进行下一次循环,否则直接返回false;最后再通过特殊符号检查栈中括号是否匹配完。其中charAt(i) 函数是获取字符串中i位置的字符。原创 2023-04-26 23:20:36 · 304 阅读 · 0 评论 -
日撸Java三百行 day16(递归)
递归,某个函数直接或者间接地调用自身的过程,通俗的来讲就是套娃,对于套娃来说最小的那个娃娃就是结束,同样在递归中也需要这一个"最小的娃娃",即递归出口;套娃的每个娃娃的形状都一样,而且每一层包裹着该层的里面一层,而对于递归来说的"相同的形状"就是递归通式,而"包裹"也是在递归代码中递归通式是进入下一层的入口,递归出口和递归通式是递归非常重要的两要素。原创 2023-04-27 22:29:16 · 41 阅读 · 0 评论 -
日撸Java三百行 day17(链队列)
队列是一种操作受限的线性表,它只能在一边插入(入队),另一边删除(出队)。基于不同存储方式分为顺序队列和链式队列,本篇主要讲链式队列。当tail = header 时,此时队空,可做出队时的判空条件。原创 2023-04-28 22:50:07 · 64 阅读 · 0 评论 -
日撸Java三百行 day18(循环队列)
在顺序队列中,由于队列只能在一端插入在另一端删除的特性,会导致假溢出的情况,为了解决这个问题引入了循环队列。顺序队列的头尾指针实质上是顺序表的下标,本质在于。原创 2023-04-29 23:09:30 · 47 阅读 · 0 评论 -
日撸Java三百行 day19(字符串匹配)
运用tempMatch这个标兵来检查是否配对成功。原创 2023-04-30 22:29:34 · 57 阅读 · 0 评论 -
日撸Java三百行 day20(小结)
6. 第 18 天建立的两个队列, 其区别仅在于基础数据不同, 一个是 int, 一个是 char. 按这种思路, 对于不同的基础数据类型, 都需要重写一个类, 这样合理吗?1. 面向对象与面向过程相比, 有哪些优势?4. 分析调拭程序常见的问题及解决方案.5. 分析链队列与循环队列的优缺点.3. 分析顺序表和链表的优缺点.2. 比较顺序表和链表的异同.原创 2023-05-01 23:47:00 · 55 阅读 · 0 评论 -
日撸Java三百行 day21(二叉树的深度遍历的递归实现)
二叉树是n(n>=0)个结点的有限集合,该集合或为空集,或由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。二叉树中的节点的度最大为2,且有左右孩子的区分。原创 2023-05-02 23:19:19 · 71 阅读 · 0 评论 -
日撸Java三百行 day22(二叉树的存储)
这里的二叉树存储是使用的两个数组来存储,一个char数组来存储value,一个int数组来存储对应在二叉树中的序号。大致步骤:1) 通过getNumNodes得知二叉树中节点个数,建立两个存储的数组;2) 建立两个队列,一个Object类队列,一个Int类,将该类中创建的树入Object队,Int队列记录编号;3) Object队列出队节点并转换类型赋值给temptree,Int队列出队编号赋值给tempIndex。原创 2023-05-04 23:08:44 · 45 阅读 · 0 评论 -
日撸Java三百行 day23(通用性队列)
比起昨天的toDataArrayObjectQueue使用了一个新的类型:Integer。Integer类:在对象中包装了一个基本类型 int 的值,而且Integer 类对象包含一个 int 类型的字段,该类还提供了多个方法,大大提升了int类使用的遍历性。方法:把int类型转换成Integer,并且返回一个 Integer对象。intValue方法:输出int数据。原创 2023-05-05 23:22:44 · 70 阅读 · 0 评论 -
日撸Java三百行 day24(二叉树的建立)
本篇的二叉树的建立是基于day23的两数组存储的方式,通过给定的两数组来还原出这棵二叉树。原创 2023-05-06 23:35:19 · 72 阅读 · 0 评论 -
日撸Java三百行 day25(二叉树深度遍历的栈实现-中序)
把day14的字符栈进行改善,把char数据类型对应改成Object类即可。(这里就不贴代码了)原创 2023-05-07 22:39:31 · 59 阅读 · 0 评论 -
日撸Java三百行 day26(二叉树深度遍历的栈实现-前序和后序)
前序与中序基本相同改变输出的位置即可。原创 2023-05-08 23:06:52 · 91 阅读 · 0 评论 -
日撸Java三百天 day27(Hanoi塔问题)
有三根柱子有n个大小不同的圆盘需要从1号移动到3号(如图),有三条规则:每次只能移动一个圆盘;大的盘不能放小的之上;除非圆盘在移动中不然必须所有圆盘某个立柱上。原创 2023-05-09 22:24:50 · 41 阅读 · 0 评论 -
日撸Java三百行 day28(Huffman编码-节点的定义与文件读取)
每个节点的内容包括: 字符 (仅对叶节点有效)、权重 (用的整数, 该字符的个数)、指向子节点父节点的引用。int weight;原创 2023-05-11 11:09:22 · 63 阅读 · 0 评论 -
日撸Java三百行 day29(Huffman编码-建树)
Huffman树为了使得构建出来的树的带权路径长度最小,所以才采取自底向上的构建方式,让权值越大的越靠近根。这里以Huffman二叉树为例,首先从节点中选择权值最小的两个节点,生成一个父节点然后连接起来(一般小的做左孩子大的做右孩子),更新父节点的权值,以此下去直到所有节点都被链接。原创 2023-05-11 22:21:25 · 54 阅读 · 0 评论 -
日撸Java三百行 day30(Huffman编码-编码与解码)
一个叶子节点向根走逗号如果当前节点是左孩子就在tempCharCode的左边加一个0,如果是有孩子就加一个1,走到根节点后把tempCharCode存在huffmanCodes中。原创 2023-05-12 23:44:04 · 69 阅读 · 0 评论