- 博客(32)
- 收藏
- 关注
原创 接口的概念
接口的定义使用关键字interface。下面是一个简单的接口示例:javavoid eat();接口是Java中实现抽象的一个重要工具。它允许我们定义一组规范,强制实现类遵守这些规范,同时也提供了一种机制来实现多态和解耦。通过接口,我们可以设计出更加模块化和灵活的代码。
2024-04-24 22:37:02
919
原创 ArrayList的基本使用
我们知道,在java当中,当我们需要将一些相同数据放入一块时,需要使用数组,但是它有个弊端,数组在创建时必须声明长度,也就是数组长度不可变。但是,当我们使用ArrayList时,它相当于一个容器,实现了可变数组,接下来我来简单介绍一下ArrayList类。在使用ArrayList,我们先导入java中的util包。
2024-04-19 17:32:52
366
原创 StringBuilder和StringJoiner来实现字符串拼接
因为在上述代码中,计算机开辟了多个空间来实现字符串字符串的拼接,而使用StringBuilder和StringJoiner则避免了内存的浪费,提高了效率,它就像先声明了一块容器,然后我们将想放的字符依次放入从而进行拼接,避免了多次申请新空间的做法。让我们想想,什么是StringBuilder和StringJoiner,其实他们都相当于容器,用来装字符串。我们调用它的append方法来实现往容器里加字符串,从而实现拼接效果。我们调用它的append方法来实现往容器里加字符串,从而实现拼接效果。
2024-04-18 21:22:10
674
原创 字符串的比较
要知道,字符串属于引用数据类型,因此,在我们想要两个字符串里面的值是否相等时不能使用“==”,而是使用String里面的equal方法和equalsIgnoreCase方法。一般,像我们比较时,我们常用“==”来进行比较,当相等时输出true,反之false。其实,当我们比较基本数据类型时,比较的是实际值,而当比较引用数据类型时,比较的是地址值。1.先介绍equal方法,它比较时,区分大小写。}输出:false true。}输出:false true。}输出:false。
2024-04-17 19:32:16
910
原创 数据类型(基本数据类型和引用数据类型)
有哪些:byte,short,int,long,float,double,char,boolean。double:取值范围为-4.9000000e-324-1.797693e+308。基本数据类型定义的变量存储的实际的,实实在在的数据值,例如:int a=10;float:取值范围为3.401298e-38-3.4028231e+38。整数类型:byte,short,int,long。引用数据类型定义的变量存储的是地址值,例如:数组。byte:取值范围为【-128,127】int:取值范围约21亿。
2024-04-16 22:51:22
664
原创 匿名内部类
当方法的参数是接口或者类时,以接口为例,可以传递这个接口的实现对象,如果实现类只要使用一次,就可以用匿名内部类简化代码。包含了继承或实现,方法重写,创建对象。整体就是一个类的子类对象或者接口的实现类对象。顾名思义就是隐藏了名字的内部类。new类名或者接口名(){
2024-04-14 19:19:06
378
原创 接口新增方法
默认方法不是抽象方法,所以不强制被重写。但是如果被重写,重写时去掉default关键字。如果实现了多个接口,多个接口存在相同名字的默认方法,子类就一定要对该方法重写。JDK8的新特性:接口中可以定义有方法体的方法。允许在接口中定义默认方法,但需要使用关键字default来修饰。JDK9的新特性:接口中可以定义私有方法。public可以省略,default不能省略。JDK7以前:接口只能定义抽象方法。接口中默认方法的注意事项:关键字。JDK8开始接口新增的方法。
2024-04-07 22:33:58
526
原创 抽象类和抽象方法
抽象方法:将共性的行为(方法)抽取到父类后,由于每个子类的执行的内容不一样,,所以父类不能确定具体的方法体,该方法就叫做抽象方法。抽象类:如果一个类中存在抽象方法,那么这个类就叫做抽象类。2.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。要么重写抽象类的所有抽象方法。抽象方法和抽象类的定义格式。抽象类和抽象方法的注意事项。抽象类和抽象方法的意义。1.抽象类不能实例化。
2024-04-05 19:45:04
396
原创 多态的优劣
方法中,使用父类型作为参数,可以接收所有子类对象。可以转换成真正的子类类型,从而调用子类的独有公能。3.引用数据类型的类型转换,有几种方式?4.强制类型转换能解决什么问题?自动类型转换、强制类型转换。不能使用子类的特有功能。
2024-04-01 23:52:47
327
原创 重识main方法(java)
4.String []args:在jdk老版本中,这个则代表输入,但是现在我们使用Scanner进行输入。2.static: 表示main方法为静态的,在main方法中只能调用静态的变量和方法。想必大家都知道main方法是我们主函数的入口吧,在写代码时我们常常会写这么一句话。3.void:表示main方法没有返回值。1.public:表示访问权限为公共的。
2024-03-30 10:11:04
365
1
原创 static静态变量的简略解释及其练习
我们并未给stu2中的teachername赋值,按理说应该输出null,但我们确得到了“阿伟老师”这个结果,在static的修饰下,teachername是固定的,无论创造多少个对象,都只会输出一开始给它赋值的结果。1.当static修饰一个变量时,说白了,就是让该变量的值不能改变,即第二次调用我们不能改变它的值,它的值在第一次就已经确定下来了。张三,10,男,阿伟老师。李四,11,女,阿伟老师。
2024-03-28 20:30:10
428
原创 this关键字的作用与就近原则
那这就麻烦了,我们要是想调用成员变量作为输出结果该怎么办呢?因此就不得不提到this关键字了,我们只需要在age前面加上this关键字就能成功输出成员变量的age了。可以看到我们在类中的成员变量与局部变量重名了,因此最后打印得结果是10还是成员变量的默认值0呢?在java中,当成员变量和局部变量同名时,采取就近原则引用。,在方法中需要输出的age和局部变量最近,因此此时调用的是局部变量里的age。中,成员变量就是一个类中方法之外的变量,局部变量是方法内的变量。首先,我们应该理解什么是成员变量和局部变量。
2024-03-19 16:22:39
687
1
原创 Java中输入字符和字符串
next()方法相当于取出字符串进行输入,charAt(0)方法则是将该字符串的第一个字符进行输入,而我们字符本身也是也只有一个,因此它相当于长度为1的字符串,所以charAt(0)则是将字符串第一个字符输入,也就是实现了输入字符的操作。谈到字符串的输入,则分为带空格的字符串的输入和不带空格的字符串的输入。.首先,在Java中输入时,我们要先导入Scanner这个类。接下来我们在main中创建一个Scanner这个类的对象。在java中,字符都是当作字符串来输入的。这种则是直接将字符看做字符串来输入。
2024-03-15 15:34:12
1334
1
原创 第十三届蓝桥杯 c++ b组小白个人题解(c++)(待更新)
这个题目有点问题好像,012似乎也是个顺子,官方说两种解法都正确,我的代码是计算了012当做一个顺子的。
2024-03-10 12:05:24
314
1
原创 原码、反码、补码
正数的补码就是原码(也就是说正数的原码、反码和补码都是一样的,因此我们把重心放在负数上),负数的补码就是反码+1。:正数的反码就是原码,负数的反码就是符号位不变,其余位取反(取反:0,1转化):就是一个整数的二进制的表达(第一个数位为符号位,0为正,1为负)码其实就是二进制数,所以原码、反码和补码都是二进制数。
2024-03-08 20:57:11
478
1
原创 十四届蓝桥杯日期统计(暴力)
做法思路:要求得到的日期是yyyymmdd这样的格式,因为是填空题(可以直接暴力写),因此我们从第一个y遍历到最后那个d就行,也就是利用八个循环来呈现那个八个数位,然后判断这八个数位所构成的日期是否符合规范即可,符合的放入set中,最后输出set的大小即为所有可以构成的不重复的合法日期。小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。要求这个日期是 2023 年中的某一天的日期,例如 20230902,20231223。对于相同的日期你只需要统计一次即可。
2024-03-08 19:18:48
379
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅