- 博客(162)
- 收藏
- 关注
原创 九、接口(韩顺平讲java学习笔记)
接口不可以实例化!接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来。interface 接口名{//属性//方法(1、抽象方法,2、默认实现方法,3、静态方法)class 类名 implements 接口{自己属性;自己方法;必须实现的接口的抽象方法简单小结在Jdk7.0前 接口里的所有方法都没有方法体,即都是抽象方法。Jdk8.0后接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现。//写属性//写方法。
2025-10-20 16:41:07
720
原创 Java-----韩顺平final关键字学习笔记
----->类加载的时候构造器还没加载,很可能导致值没赋上)final修饰的属性在定义时,必须赋初值。如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可以被继承。一般来说如果一个类已经是final类了,就没有必要再去将方法修饰成final方法。当不希望类的某个属性的值被修改,可以用final(比如常量,固定值)当不希望父类的某个方法被子类重写时,可以用final关键字修饰。如果final修饰的属性时静态的,则初始化的位置只能是。当不希望类被继承时,可以用final修饰。
2025-07-10 14:38:17
292
原创 Java-----韩顺平单例设计模式学习笔记
静态方法和属性的经典使用设计模式是在大量的实践中总结和理论化之后优选的代码结构,编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己在思考和摸索。
2025-07-09 21:00:00
883
原创 Java---韩顺平代码块笔记(有个人理解)
代码块又称为初始化块,属于类中的成员(即 是类的一部分),类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。但是和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显示调用而是加载类时,或创建对象时隐式调用。基本语法:[修饰符]{代码体修饰符 可选填,但是 写的话也只能写static代码块分为两类,使用static修饰的叫静态代码块,没有static修饰的,叫非静态代码块。逻辑语句可以为任何逻辑语句。;”号可以写,也可以不写!
2025-07-09 12:21:44
913
原创 Java----Main()方法的深入理解
解释main方法的形式:public static void main(String[] args){}但是不能访问该类中的非静态成员,必须创建该类的一个实例化对象后,才能通过这个对象去访问类中的非静态成员。该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数。Java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public。例如:java 执行的程序 参数1 参数2 参数3-------》main方法是虚拟机调用的。
2025-07-08 00:38:53
316
原创 Java类方法(static)静态方法
类方法也叫静态方法。形式如下:访问修饰符 static 数据返回类型 方法名(){} [推荐]static 访问修饰符 数据返回类型 方法名(){}
2025-07-06 20:31:31
565
原创 Java类变量(静态变量)
如上述案例当我们想要计算小孩个数的时候,如果我们只是在主函数去做一个count++去记录人数,有点不符合oop的编程形式,所以我们需要想办法在类对象里面去进行一个count++操作进行人数的计算,所以引出了。类变量是该类的所有对象共享的,而实例变量是每个对象独享的,如上面图片的0x110 和 0x22空间里面的属性。,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。类变量的位置随着jdk版本的不同,所存在的内存空间的地方也就不同。,是该类的所有对象共享的变量,任何一个该。
2025-07-05 23:42:09
947
原创 韩顺平之第九章综合练习-----------房屋出租管理系统
在domain包下创建House类,包装房屋信息。以上仅作为本人学习笔记,无其他用处~~~~~在utils包下创建Utility类。
2025-07-04 15:06:57
207
原创 Java----super 关键字
super的访问不限于直接父类,如果爷爷类和本类中有同名的成员,也可以使用super去访问爷爷类的成员;当子类中有和父类中的成员(属性和方法)重名时,为了访问父类的成员,必须通过super。2、访问父类的方法,不能访问父类的private方法 如:super.方法名(参数列表);1、访问父类的属性,但不能访问父类的private属性 如:super.属性名;调用父类的构造器的好处(分工明确,父类属性由父类初始化,子类的属性由子类初始化)super代表父类的引用,用于访问父类的属性、方法、构造器。
2025-04-26 17:42:32
254
原创 Java之封装(学习笔记)
封装,比如音量键,对于我们使用者来说就是可以直接按下去调控音量,对于代码写作者来说就是封装了调控音量的方法,使得我们只能去调控,不能改变内部。将属性进行私有化private 【不能直接修改属性】提供一个公共的set方法,用户堆属性并public void setXxx(类型 参数名) { // Xxx -> 表示某个属性//加入数据验证的业务逻辑属性 = 参数名;提供一个公共的get方法,用于获取属性的值public 数据类型 getXxx() { //权限判断,Xxx某个属性。
2025-04-20 20:08:55
333
原创 Java之this关键字
因为在创建对象的时候,其实this就已经有了只不过this是隐藏起来的。在Java中我们是不能输出对象的内部地址的,但是我们可以用hashcode()函数去当作一个对象的地址,hashcode()返回的是一个整数。加this关键字的this.name和this.age:脑袋大,3。this不能再类定义的外部使用,只能在类定义的方法中使用。我是方法f1()..................我是方法f1()..................我是方法f1()..................
2025-04-18 17:36:56
744
原创 Java汉诺塔问题(超级详细题解!!!)
如图所示,汉诺塔问题是有三个柱子,和n个大小不一样的块组成,把这些块从A位置 挪动 C位置,且小的块,必须在大的块上面。每次只能挪动一个块。
2025-04-15 18:58:05
342
原创 第十六届蓝桥杯Java b组(试题C:电池分组)
要转为2进制计算,计算机内应该是以补码的形式进行计算,但是恰巧这个题全是正数,正数原码,反码,补码,都一样。样例:{1,2,3} 比如我们让 1,2一组 ,3为一组,这样就把这组数分为了两组,然后我们开始求异或 (根据题目中我们可以知道,要把一组数分成两组,每组至少一个数,要求这两组的异或和相等。以上仅是本人的思路,并非最后的题解答案,有错误的话欢迎小伙伴提出~所以我们直接把一组数一起求异或和,看是否等于0即可解决这题。
2025-04-14 19:25:59
897
原创 Java老鼠迷宫(递归)---案例来自韩顺平老师讲Java
此题有多条路径,上面只展示一条,欢迎有疑问的小伙伴留言~,喜欢就点个关注再走吧!粉色圈圈是启动,红色方框是阻挡,蓝色五角星是出口,走到出口,老鼠winner。
2025-04-14 19:04:52
264
原创 Java递归练习----猴子偷桃
有一堆桃子,猴子第一天吃灵其中的一般,并在多吃了一个!以后每天猴子都吃其中的一半,然后多吃一个。当到第十天时,想再吃时(即还没吃),发现只有1个桃子了,问最初多少个桃子?
2025-04-12 18:08:24
363
原创 Java 克隆对象
编写一个方法,可以赋值一个Person对象,返回赋值的对象。克隆对象,注意要求得到新对象和原来的对象是两个独立的对象,只是他们的属性相同。点击这个快速通道即可。小伙伴发现错误欢迎,在评论底下留言哦~~,喜欢的小伙伴留个关注再走吧!如果这块有不懂的地方,可以去看一下我上一个Java内存的文章。
2025-04-12 09:30:00
292
原创 Java类对象存储与属性(超级细致!!!!)
对象则是根据类(图纸)建造出来的“实体”。还是用房子的例子,根据同一个房子图纸,你可以建造出很多座房子。这些房子就是对象。每座房子都有自己的特点,比如颜色、大小等可能有所不同,但它们都是基于同一个图纸建造的。
2025-04-11 10:00:00
1044
原创 第十二届蓝桥杯C/C++ B组 杨辉三角形(二分查找+思维)
3、无论横着按行去看还是竖着按列去看,还是斜行去看都是最里面的数是大的,也就是2, 6,20这一列是大的,所以也就是越靠下的斜行,数越大,所以我们再找N的时候,就 要 从下去开始找,这也是为什么后面在代码部分会从后往前去遍历。当为C(4,2) == 6时,r = 4,k = 2,它的前面有4行,前面4行的总个数为1 + 2 + 3 + 4= 10,也就是 (r + 1) * r / 2,再加上它在这行的位置k + 1。欢迎不会的小伙伴留言~
2024-04-22 08:00:00
1410
原创 P5730 【深基5.例10】显示屏
打表0到9的数组要开成[10][5][4],开成[10][6][4]又没多给空白行或[10][5][3]]的都会炸。([6][4]炸是因为少一行,[5][3]炸是因为字符串末尾要有。
2024-04-18 23:26:39
265
原创 P2440 木材加工 (二分答案)
例如有两根原木长度分别为 11 和 21,要求切割成等长的 6 段,很明显能切割出来的小段木头长度最长为 5。对于 100% 的数据,有 1≤n≤105,1≤k≤108,1≤Li≤108(i∈[1,n])。木头长度的单位是 cmcm,原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。第一行是两个正整数 n,k,分别表示原木的数量,需要得到的小段的数量。当然,我们希望得到的小段木头越长越好,请求出 l 的最大值。接下来 n 行,每行一个正整数 Li,表示一根原木的长度。
2024-04-17 19:12:33
641
原创 P1087 [NOIP2004 普及组] FBI 树(dfs构造二叉树)
根据题目要求,我们可以知道这是一个构造二叉树,后续遍历的题目。后续遍历先遍历树的左节点,再右节点,最后根节点。
2024-04-15 23:13:08
682
原创 P1614 爱与愁的心痛(双指针)
最近有 n 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 m 个刺痛值的和的最小值是多少,但是由于业务繁忙,爱与愁大神只好请你编个程序告诉他。《我为歌狂》当中伍思凯神曲《舞月光》居然没赢给萨顶顶,爱与愁大神心痛啊~~~而且最近还有一些令人伤心的事情,都让人心痛(最近真的很烦哈)……第 2 到第 (n+1) 行,每行一个整数,第 (i+1) 行的整数 ai 代表第 i 件事的刺痛值 ai。输出一行一个整数,表示连续 m 个刺痛值的和的最小值是多少。
2024-04-15 21:12:50
391
原创 牛客小白月赛90 小A的数字
均与 n 对应数位不同,你需要保证你所输出的答案的位数小于 n 的位数时,即使在添加前导零至与 n 的位数相同后,也不应有。对于每组测试数据,一行一个不含前导零的整数 n(2≤n≤109)n (2 ≤ n ≤ 10^9) ,表示所给的数字。第三个样例是101 ---> 转换后010 去掉前导0是1。第二个样例是10 ---> 转换后是01 去掉前导0是1。此题分情况讨论,我们可以发现最好的情况就是0和1,小A给定一个数字 n ,请你帮她找出从低位对齐后。先去用字符串输入,然后把0转化1 大于1的转化0。
2024-04-11 22:53:11
374
原创 牛客小白月赛90 B题
现在他们进行了若干局游戏,比分记录着小A为 X 分,小B为 Y 分。由于持续的时间太长了,他们不确定记录的比分是否是正确的了,请你来判断一下此时的比分是否合法吧。游戏的胜者得到 3分,败者不得分,若打平则双方都得 1分。接下来 T行,每行两个整数 X 和 Y (0≤X,Y≤109) ,分别表示比分所记录的小A和小B的分数。对于每组测试,如果合法输出一行 "Yes" ,否则输出 "No"(均不包含引号)。设A赢得次数是a,B赢的次数是b,双方平局的次数是c。
2024-04-11 20:58:49
287
原创 acwing周赛第150场 题解(不包含第三题)
受重力影响,每个幸存的砖块要么位于地面上(最下面一行),要么位于另一块砖块的顶部,不会出现浮空而立的超自然情况。贝茜盖了一面长方形的墙,该墙恰好由 N×M 个边长为 1 的正方形砖块堆叠而成。给定墙面的现状,请你分析当前墙面中一共包含多少个由砖块构成的连通块。所有测试点满足 1≤n≤100,1≤ai,bi≤100。一个整数,表示当前墙面中包含的由砖块构成的连通块的数量。构成的字符矩阵,表示整面墙体的当前状况。前 3个测试点满足 1≤N,M≤10。所有测试点满足 1≤N,M≤100。
2024-04-10 19:47:46
490
原创 牛客小白月赛90 A题 (签到题)
在文化节中有 n 个项目,其中参加第 i个项目的欢乐度是 ai。虽然小A很想把全部项目都体验一遍,但是她的时间是有限的,因此她只能参加其中的 m 个项目。第二行 n 个正整数,其中第 iii 个数字 ai(1≤ai≤105) 表示参加第 iii 个项目得到的欢乐度。第一行两个正整数 nnn 和 m (1≤m≤n≤100) ,分别表示文化节总的项目数和小A参加的项目数。第三行 m 个正整数,其中第 iii 个数字 bi(1≤bi≤n) 表示小A参加了编号为 bi 的项目。数据保证 bi 各不相同。
2024-04-08 23:17:44
275
原创 第 9 场 小白入门赛 字典树考试
我们可以先抛开题目,想一下一个二进制数是 1 1 1 1 1 1 1 1 1 ---> 9个1,题目说(Ai & Aj)所以两个1一个组合, 我们用最笨的方式取枚举 -----> 是 8 + 7+ 6 + 5+ ....... + 1 是36。换到此题中,两个数相同的数位是1才能为答案做1个贡献,所以我们计算每个数位上1的总数,然后求出结果。是不是应该是 x * (x-1) / 2。两两一组,想想X个1如何算呢?
2024-04-08 20:27:58
849
原创 蓝桥杯 第 9 场 小白入门赛 盖印章
第二个方程 :3 * a + 2*b == count (字符1的个数)此题主要靠解方程组,但是枚举好像不太行,因为会有负数解,第一个方程:a + b = k;设A章需要a次,B章需要b次。
2024-04-07 23:04:38
546
原创 P1123 取数游戏(dfs算法)
一个 N×M 的由非负整数构成的数字矩阵,你需要在其中取出若干个数字,使得取出的任意两个数字不相邻(若一个数字在另外一个数字相邻 8个格子中的一个即认为这两个数字相邻),求取出数字和最大是多少。注意:此题我们不能使用bool类型去进行标记,我们可以用一个int类型的变量来记录,当这个数被访问时,该变量自增,当回溯时,该变量自减==>所以当该变量为零时,该数未被访问。对于每一组数据,第一行有两个正整数 N 和 M,表示了数字矩阵为 N 行 M 列。接下来 N 行,每行 M 个非负整数,描述了这个数字矩阵。
2024-04-07 21:18:11
895
空空如也
感觉自己最近A不掉题
2024-02-25
c++程序设计最大公约数continue
2022-12-13
c语言测试程序运行时间
2022-12-10
c语言双重for循环搬砖问题
2022-12-12
c语言do while循环 练习
2022-11-29
编程能力和思维逻辑问题
2022-11-23
c语言循环练习 while语句
2022-11-21
c语言 while循环练习
2022-11-08
c语言 while循环练习
2022-11-08
c语言 循环小游戏while
2022-11-08
c语言while的循环练习
2022-11-07
c语言程序设计switch应用
2022-11-02
c语言for循环练习
2022-11-08
c语言do while 练习题
2022-11-07
Java语法 空格的含义 求解答
2022-10-26
c语言程序设计switch应用
2022-11-01
c语言if条件判断 为什么不选d
2022-10-25
Java关于字符串拼接和加操作
2022-10-28
c语言 逗号运算法则 求解
2022-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅