- 博客(73)
- 收藏
- 关注
原创 JavaWeb Web基础
post方式有请求体,而get方式没有请求体服务区获取请求分为以下几个步骤1.获取请求方式2.获取请求url地址3.获取请求协议4.获取请求参数5.获取请求头。
2025-05-22 20:29:04
961
原创 JavaWeb 开发流程
Spring Boot 是基于 Spring 框架的开源 Java 基础框架,用于创建独立、生产级的基于 Spring Framework 的应用程序。我们可以使用IDEA建立语言选择Java,类型选择Maven,JDK和Java要保持一致,尽量选择长期支持版本点击下一步,配置依赖项选择Spring Boot的版本,注意不要选择后面带(SNAPSHOT)的版本添加如图所示依赖项,点击创建,就成功的建立了一个项目我们可以点击pom.xml,点击编辑启动器,来添加其他依赖项如图是一些常见的依赖项。
2025-05-21 23:05:47
1066
原创 JavaWeb 前端开发
HTML是由标签构成的标签可以是大写,也可以是小写,也可以是大小写混用。属性值也可以使用单引号,但一般使用双引号。HTML的语法结构比较松散,不严谨。
2025-05-13 21:52:06
1025
原创 Java 网络编程
static InetAddress getByName(string host)确定主机名称的IP地址。主机名称可以是机器名称,也可以是IP地址String getHostName()获取此IP地址的主机名String getHostAddress()返回文本显示中的IP地址字符串 中文乱码的原因是输出流时虚拟机默认使用UTF-8编码方式,中文是三个字节,而字节流读取数据时,一次只能读取一个字节,就会导致读取中文时出现乱码。我们可以使用转换流将字节输入流转换为字符输入流来进行读取,避免读取中文
2025-05-04 09:56:31
472
原创 JAVA 多线程&JUC
礼让线程@Override//"飞机" "坦克"i <= 100;i++) {//表示出让当前CPU的执行权/*public static void yield() 出让线程/礼让线程*/t1.setName("飞机");t2.setName("坦克");t1.start();t2.start();
2025-05-03 09:57:20
646
原创 Java io流
*演示:宁节输出流FileOutputStream实现需求:写出一段文字到本地文件中。(暂时不写中文)实现步骤:创建对象写出数据释放资源*///1.创建对象//1.创建对象//写出 输出流 OutputStream//本地文件//2.写出数据//3.释放数据/*需求:利用序列化流/对象操作输出流,把一个对象写到本地文件中构造方法:成员方法:把基本流变成高级流把对象序列化(写出)到文件中去*///1.创建对象。
2025-04-27 20:08:38
818
原创 JAVA 异常+File
printStackTrace()仅仅知识打印信息,不会停止程序运行。java不会运行代码,只会检查语法是否错误,或者做一些性能的优化。代码出错而导致程序出现的问题。File的常见成员方法。提醒程序员检查本地信息。
2025-04-18 18:35:59
229
原创 java Stream流
去重的如果时基本数据类型或者引用数据类型,java已经重写好了hashCode和equals方法,可以直接使用。但是数组必须是引用数据类型的,如果传递基本数据类型,是会把整个数组当做一个元Stream当中。终结方法的返回值不是Strea对象,可以理解为终结方法没有返回值,所以无法调用其他的方法。方法的形参是一个可变参数,可以传递一堆零散的数据,也可以传递数组。如果不一致,合并的流的数据类型是a和b的父类。合并时两个流a,b的数据类型要保持一致。Stream中的中间方法。1.过滤,获取,跳过。
2025-04-15 23:05:42
357
原创 洛谷刷题小结
状压是什么,不寄丢啊,看见是搜索里的,没看标签,我就搜了,也是成功卡九十分死活过不了,也是成功被拿下了......,参考全排列的方法做的,代码有些多余的,不必理会。
2025-04-13 23:08:17
293
原创 JAVA 集合进阶
1.如果原始数据的规律非常复杂,我们可以先手动排序让每一个数据跟唯一的序号产生对应关系。2.在方法的形参当中,如果出了可变参数以外,还有其他的形参,那么可变参数要写在最后。但是如果班级中所有的学生都点完了,需要重新开启第二轮点名,序号就是数字,规律非常简单,后续的所有操作,我们以序号为准。当真正需要操作原始数据时候,再通过序号找到原始数据即可。1.在方法的形参中最多只能写一个可变参数。可变参数,理解为一个大胖子,有多少吃多少。1.班里有n个学生,实现随机点名。被点到的学生不会再被点到。
2025-04-11 00:18:51
281
原创 java 集合进阶
用entrySet()方法获取map中的键值对。用keySet()方法获取map中的键。如果两种排序规则都书写了,以第二种为准。3.Lambda表达式。
2025-04-09 00:02:52
303
原创 4.7学习总结 java集合进阶
数中序遍历:从最左边的子节点开始,然后按照左子结点,当前结点,右子结点的顺序遍历。前序遍历:从根结点开始,然后按照当前结点,左子结点,右子结点的顺序遍历。后序遍历:从最左边的子节点开始,然后按照左子结点,当前结点的顺序遍历。此时,泛型里面写的是什么类型,那么只能传递什么类型的数据。利用泛型方法有一个小弊端,此时他可以接受任意的数据类型。extendsE:表示可以传递E或者E所有的子类类型。super E:表示可以传递E或者E所有的父类类型。层序遍历:一层一层的去遍历。方法上面定义:泛型方法。
2025-04-07 23:52:59
501
原创 4.6学习总结
如果存的是自定义对象,没有重写equa1s方法,那么默认使用object类中的equa1s方法进行判断,而object类中equals方法,依赖地址值进行判断。以后我们如果要键盘输入,不管什么类型,统一使用nextLine,可以输入一整行的数据,遇到回车才停止,之后再用parseXxx进行类型转换。细节1:如果我们要往List系列集合中添加数据,那么方法永远返回true,因为List系列的是允许元素重复的。调用一个方法的时候,如果方法的形参是一个接口,那么我们要传递这个接口的实现类对象。
2025-04-07 19:02:37
914
原创 4.3 学习总结 API
0:纪元 1:年 1:月 3:一年中的第几周 4:一个月中的第几周 5:一个月中的第几天。Calendar是一个抽象类,不能直接new,而是通过一个静态方法获取到子类对象。JDK8中新增的时间类,较之前的更简单,且更安全,解决了多线程下的安全问题。Calendar获取到的月份为0~11,所有实际月份要在此基础上加1。其中的日期单位会储存在一个数组中,field表示数组中的索引。而java在Calendar类中,把索引对应的数字都定义成常量。获取的星期是以星期天作为第一天的。Instant时间戳。
2025-04-06 09:24:12
258
原创 4.2学习总结 API+拼图小游戏半成品
Date中时间的格式是固定的,如果我们想要将时间变为我们喜欢的格式,就可以使用SimpleDateFormat来改变时间的格式。可以按住A键实现完整的图片,W键直接胜利,同时可以通过菜单实现更换图片,重新登录,重新开始游戏,退出,查看公众号等功能。其中登录和注册按钮按下,按钮颜色会变深,用户名之类验证正确还未实现,验证码是定义工具类随机生成的。此外,登录界面刚刚实现图形化界面。游戏功能已经写完了,代码如下。
2025-04-03 00:31:25
283
原创 4.1学习总结 javaAPI
上图中只使用了一次replaceAll方法,但是所有的匹配都被替换,这也正是正则表达式强大的地方,它能简洁的完成复杂的文本处理任务,在调用此方法时,虽然没有明确的使用循环,但它在内部实际上会根据匹配模式多次处理字符串。规则2:以左括号为基准,最左边的是第一组,其次为第二组,以此类推。分组之后不需要再使用本组数据,仅仅是把数据括起来,不占用组号。非贪婪爬取:在爬取数据的时候尽可能少的去获取数据。贪婪爬取:在爬取数据的时候尽可能多的去获取数据。捕获分组就是把这一组的数据捕获出来,再用一次。
2025-04-01 22:58:50
456
原创 周学习总结
用两个\\表示一个\,我的理解是,在Java中\也有特殊含义,所以需要用两个\\来表示一个\,前者是对后面的\进行转义,后者才能对其后面的那个字进行转义(不知道对不对)。内部类是写在一个类里面的类,对于哪些本身是别的类中的一部分,但单独存在没有意义的类,就可以用内部类来表示,分为成员内部类,静态内部类,局部内部类,匿名内部类四种。使用同一个包和java.long中的类时,不需要导包,其他情况都需要导包,如果同时使用两个包中的同名类,则需要使用全名类,对同名类加以区分。
2025-03-31 20:19:17
340
原创 3.30 学习总结 Java 常用API+图形化界面
1.如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错。1.能表示的范围较小,只能在long的取值范围之内,超出long的范围就不行了。1.方法的底层会判断s1是否为null,如果是null,直接返回false。调用者this:本类对象,当前的界面对象,表示我要给整个界面添加监听。如果一个接口中没有抽象方法,表示当前的接口是一个标记性接口。2.在拷贝的时候需要考虑数组的长度,如果超出范围也会报错。如果没有重写,比较地址值,如果重写了,就比较属性值。
2025-03-30 22:42:13
494
原创 3.27学习总结 算法题
递归,不断输入字符,若遇到[,则输入解压次数k,重新调用函数,将[中的]字符串重复k次,加在总字符串后,遇到]就返回总字符串,否则将字符加在总字符串尾。后面看了题解,用的是c++,其中string 变量和字符串拼接感觉比c方便好多,可以用更少的代码实现更好的效果,打算之后去学习c++,用c++写算法。现在的时间初始为零,从前往后循环数组,若开始时间大于等于现在的时间,则现在的时间等于这场比赛的结束时间,参加的比赛加一。对于2*n的墙,当其还剩最后一列没铺时,用发a[n-1]表示,竖着铺2*1的砖即可铺满;
2025-03-27 23:24:13
255
原创 3.26学习总结 做题
递归函数w每次调用,对于他每种递归的w,检测是否在数组中储存,若没有储存,则将其存入数组,从而实现记忆化搜索。观察可以得到,n每加1,则在原先图案的左下方和右下方重新打印一遍原先的图案,可以分为两步。1.复制原先图案打印在其正下方和右下方,并将原先图案清空。用一个数组来记录啊a,b,c位于0到20之间时,值的大小。需要注意对于数组要将其初始化为空,否则会报错。通过以上两步就完成了n+1时图案的复制。2.在现在图案的上方中间打印原先图案。先初始化n=1时,输出的图案。注意要开long long。
2025-03-26 23:27:25
307
原创 3.25学习总结java 接口+内部类
可以将接口中静态方法和抽象方法中重复的部分抽离出来,作为私有方法,用去private修饰,此方法只为接口提供服务,不需要外界访问。接口代表规则,是行为的抽象,想让哪个类拥有一个行为,就让这个类实现对应的接口就可以了。当一个方法的参数是接口时,可以传递接口所以实现类的对象,这种方法称之为接口多态。
2025-03-25 23:15:38
283
原创 3.24学习总结Java
权限修饰符:是用来控制一个成员能够被访问的范围的。可以修饰成员变量,方法,构造方法,内部类。变量调用:编译看左边,运行也看左边。方法调用:编译看左边,运行看右边。接口就是一种规则,是对行为的抽象。
2025-03-24 23:13:51
317
原创 3.23学习总结
集合的长度是可变的,只能存放引用数据类型,如果要存放基本数据类型,则要把他们变成对应的包装类。java.lang,String 类代表字符串,Java程序中所有的字符串文字都为此类的对象。概述:StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。当我们在调用一个方法的时候,不需要用变量接收他的结果,可以继续调用其他方法。字符串的内容是不会发生改变的,它的对象在创建之后不能呗更改。工具类:帮助我们做一些事情的,但是不描述任何事物的类。键盘录入的字符串是new出来的。
2025-03-23 21:53:52
486
原创 3.21学习总结Java
刚开始我的想法是,对于每道菜都有吃与不吃两种情况,吃的话就花费这道菜的价钱,看下一道菜,不吃的话就直接看下一道菜,若花费金额等于m,方案数+1,则返回上一次的选择,若金额大于m或菜品看完了钱还没花完,则直接回到上一次的选择。观察可以得到,从n爬到n+1有一种方法,从一爬到n+2有一种方法,对于n+3及更大的数,爬到他们的方法数,等于与他相邻的两个比他小点的方法数之和。(2)if(j>第i道菜的价格) f[i][j]=f[i-1][j]+f[i-1][j-第i道菜的价格];
2025-03-22 10:36:13
663
原创 3.20学习总结java
观察得,1阶台阶有1种走法,2阶台阶有两种走法,因为每次只能走1或2阶台阶,台阶数量n从三开始,走法等于台阶数量为n-1和n-2的走法数量之和。观察规律可得,n为1时,合法数列为1个,对于从二开始的每个数,它的合法数列的个数等于1(它本身)加上第二位数的合法队列个数,代码如下。方法传递基本的数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值。在栈内存中开辟一个空间,变量中储存的是真实的数据,数据存储在自己的空间中。方法传递引用的数据类型时,传递的是地址值,形参的改变,会影响实际参数的值。
2025-03-20 22:05:24
491
原创 3.19学习总结
的主要思想是:首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点,当没有未访问过的顶点时,则回到上一个顶点,继续试探访问别的顶点,直到所以的顶点都被访问过,遍历结束。主要思想是:首先以一个未被访问过的顶点作为起始顶点,访问其所以相邻的顶点,然后对于每个相邻的顶点,再访问它们相邻的未被访问过的顶点,直到所有顶点都被访问过,遍历结束。例如有n个顶点和m条边,从1号顶点开始遍历这个图,输出遍历路径,深度优先遍历代码实现如下。广度优先遍历代码如下。
2025-03-19 23:31:34
212
原创 3.18学习总结java
如果该 case 块中没有使用 break 语句,程序不会在此处停止,而是会继续执行下一个 case 块中的代码,直到遇到 break 语句或者 switch 语句结束。0到1.0之间的随机double值。可以将重复的,具有独立功能的代码抽取到方法中,来提高代码的复用性和可维护性。每个方法具有不同的参数类型或者参数的个数,这些同名的方法,就构成了重载的关系。感觉方法类似于C语言中的函数,不过方法是在类中定义,函数是独立定义的。在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。
2025-03-18 22:22:15
605
原创 3.17学习总结
刚开始用的之前做组合输出的方法,时间超限了,想不出怎么优化,后面看了题解,代码如下。固定了正方形的右下角(i,j),此时答案为Min(i,j),枚举求和。同理,固定矩形右下角(i,j),显然此时矩形个数为i*j。
2025-03-17 23:07:34
236
原创 3.16学习总结
学习了Java的知识点基本数据类型byte占1字节,储存范围-128~127short占2字节,储存范围-32768~32767int占4字节,储存范围-2147483648~2147483647long占8字节,储存范围是-9223372036854775808~9223372036854775807float占4字节double占8字节char占2字节,存储数据范围是0到65535,用于表示Unicode字符。
2025-03-16 23:19:45
387
原创 3.14学习总结
这道题跟全排列类似,但是又有一点不同,选出了这r个数后,不分每个数的排列顺序,所以不能直接使用全排列的思想,还有场宽这个词之前没听过,刚开始以为直接在数前面加两个空格,然后挂了,后面才发现不是这样,场宽是指数据项的宽度,可以用printf(”%kd“,n);水题,挺简单的,刚开始一直做不出来,以为是算法问题,后面才发现我int了一个字符串数组......,粗心大意,以后得注意细节。寻找第一个成员站的位置,看能不能站下站完k名成员,特殊情况,k小于0时,站法零种,k=1时重复计算了,方法数要除以2。
2025-03-14 20:31:34
190
原创 寒假学习总结
总而言之,寒假学习了许多算法,开阔了视野,但是运用的还不熟练,同样的问题,别人能快速简洁的完成,我可能就会弯弯绕绕,很久才能解决(也可能解决不了),对算法的掌握还有待提高。后面一段时间,没布置作业,刷了点小题,通过做题复习了下之前学过的知识,运用的更加熟练,做出题目的时候,成就感能激励我前行,同时做题中,也能发现自己的不足。队列是线性数据结构,具有先进先进的特点,队列头和队列尾都进行操作,往往在队列头删除,在队列尾插入。深搜调用递归实现,通常借助栈,先将一条路搜索完,再去搜索别的路,从而找到合适的路径。
2025-02-19 21:47:29
723
原创 2.18学习总结
继续做题,今天做的题目却全是模拟,一个个地跟阅读理解一样,看到题目这么长刚开始以为前面是那种废话,觉得信息在输入格式那里,翻半天翻不到才意识到事情的严重性,理解题目都花半天。折磨了半天不会写,痛苦面具,后面还是看题解的。
2025-02-18 19:41:48
224
原创 2.17学习总结
字符串的查找还不会,看的文章里都用了指针,但是指针不是很懂(之前链型数据结构都是数组模拟的)。其中玩具谜题挺唬人的,题目很长跟做阅读理解似的,但是不难,有点像之前写的约瑟夫问题。复制字符串函数 strcpy() 可以对一个字符串进行复制,并返回复制的字符串。字符串小写转换函数_strlwr()可以将字符串中的字符全部转换为小写。字符串大写转换函数_strupr()可以将字符串中的字符全部转换为大写。连接字符串函数strcat()可以在一个字符串后添加另外一个字符串。继续学习了字符串,认识了更多字符串函数。
2025-02-17 19:57:31
207
原创 2.16学习总结
今天把昨天的做排序给完成了,还做了几个字符串,感觉对字符串的运用很不熟练,对各种字符串函数还不熟悉。我选择用结构体字符串数组来储存这n个数,同时储存每个数的位数,随后使用选择排序排列这些数。3.等于则比较下一位数,直至出现以上两种情况或完全完成比较。(1):m>n,且第二个数第n位大于第一个数的首位,交换;(2):m<n,且第一个数第m位小于第二个数的首位,交换;(自己写了,比较菜,所以很绕比较复杂,见谅)。对于循环的两个数,选择最小的位数,比较这些位数。2.小于则结束循环并交换这两个数;
2025-02-16 21:29:20
219
原创 1.14学习总结
同时看见今晚有个入门难度的测试,去练了练手,想看看自己是什么成分,结果不尽如意,还有待提高,小卡拉米还得继续努力呀。刷了题目后,对于排序方法更加熟练,手搓代码的速度也得到了提高。感觉字符串还不熟练,高精度更是云里雾里,上升空间极大。其中完整写对的只有一个题目,分享一下。
2025-02-14 21:08:27
252
原创 2.13学习总结
日常刷题单,感觉知识点有些生疏(之前测试总感觉时间不够),通过刷题,对知识点的掌握更加熟练,做题的时间也随之减少,也让我感受到了编程的乐趣。对这道题分情况讨论,其实不算难,就是有点复杂,纯模拟,模拟了半天(尤其是组合,饶了我好久才解决),把逻辑想通就很简单啦。其中,赦免战俘没有做出来,逮捕失败,决定暂且放他一马,明天再去“追杀”它。此外还做了一道题:p1205 方块转换。今天主要刷的是函数与结构体。
2025-02-13 20:47:09
258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅