
JavaSE
文章平均质量分 87
手握风云-
[就读于河北科技大学]
[23级 软件工程专业]
[目标:拿到一个大厂offer]
展开
-
零基础Java第二十二期:异常(二)
Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我 们实际情况的异常结构。实际中,经常需要根据业务类型自定义异常。比如我们在进行登陆的时候,用户输错了密码出现的异常或者是网络不好出现的掉线异常。那我们如何自定义异常呢?异常本质是类,我们自己写一个类,让这个类继承Java标准库里面的异常(如Exception、RuntimeException)。下面我们来讲一下登录系统。首先我们先来设置登录系统//设置登录系统if (!原创 2024-11-19 22:00:27 · 4212 阅读 · 50 评论 -
零基础Java第二十一期:异常(一)
处在方法声明时参数列表之后,当方法中抛出编译时异常,用户不想处理该异常,此时就可以借助throws将异常抛 给方法的调用者来处理。throw与throws的区别:throw是真得抛出来一个异常对象,而throws只是声明了一下,真正抛没抛,不知道。这里还有一个小技巧,我们把鼠标光标放在被调用的方法上,然后alt加回车,直接出现要抛出的异常,很快就能生成。catch里面每一个独立的代码块,里面的e都是代码块里面的局部变量,所以不用担心e的命名不同。还有几种常见的异常,如数组的越界访问,空指针异常。原创 2024-11-18 21:41:33 · 2910 阅读 · 43 评论 -
零基础Java第二十期:认识String(二)
方法说明在尾部追加,相当于String的+=,可以追加获取index位置的字符获取底层保存字符串空间总的大小扩容将index位置的字符设置为ch返回最后一次出现str的位置从fromIndex位置开始查找str第一次出现的位置博主在这里只重点介绍一下append和capacity方法。原创 2024-11-17 21:46:43 · 2035 阅读 · 31 评论 -
零基础Java第十九期:认识String(一)
要想了解一个新的类型,我们首先要了解它的源码。在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字 符串应用又非常广泛,因此Java语言专门提供了String类。比如字符"|","*","+"都得加上转义字符,前面加上"\\",而如果是"\",那么就得写成"\\\\";这里需要注意的是,大小写转化的时候,str1和str2的值依然不变,这个过程产生新的对象。原创 2024-11-16 21:31:46 · 1489 阅读 · 33 评论 -
零基础Java第十八期:图书管理系统
今天博主来带大家实现一个图书管理系统。今天的这期博客我们需要用的知识点有:java的基础语法、类和对象、继承与多态、抽象类接口。在这个系统里面,我们需要创建的对象有书、书架、管理员、普通用户。这么多对象,我们就要使用包来进行分类。我们先创建三个包:book、user、operation。原创 2024-11-15 21:10:35 · 1889 阅读 · 44 评论 -
零基础Java第十七期:内部类
我们也可以对重写equals方法里面的代码返回值进行修改,来让代码达到我们想要的结果。我们把Main类里面的Object里的源码复制粘贴到Animal类里面,对返回值进行修改。Java里面除了Object类,所有的类都是存在继承关系的。即所有类的对象都可以使用Object的引用进行接收。看下面的代码,如果我们的Object实现了子类的方法,就去执行自己的方法,没有就去执行父类的。(1)我们知道每一个类都会生成一个字节码文件,而静态内部类的字节码文件名形式“外部类$外部类”。我们无法访问外部类的成员变量。原创 2024-11-14 17:19:57 · 610 阅读 · 15 评论 -
零基础Java第十六期:抽象类接口(二)
虽然说one所指向的对象被拷贝克隆了一份,但m所指向的money对象却没有被克隆,one和two所指向的是同一个money对象,这就会导致我们修改了money对象的值,两个变量都会被修改。我们在讲一维数组的时候,使用到冒泡排序来对数组里的元素进行从小到大或从大到小的排序。看下面一段代码,我们在上面的代码基础上新增了一个Money类,在Main,我们先访问并打印两个对象的成员变量Money,然后修改two对象中的money的值,然后再打印,可以看到我明明只修改了two对象的成员变量,但one对象也被修改了。原创 2024-11-13 19:56:18 · 3028 阅读 · 0 评论 -
零基础Java第十五期:抽象类接口(一)
综上所述,接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。就比如,Cat与Dog都属于Animal类,并且前两者与Animal都属于继承关系,但Animal不是一个具体的动物,也就无法实现.Bark()方法。在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被abstract 修饰的方法称为抽象方法,抽象方法不用给出具体的实现体。(4)接口当中的方法,要是没有具体的实现,就要写成public static修饰的抽象方法,默认也为public static。原创 2024-11-11 20:23:26 · 2547 阅读 · 39 评论 -
零基础Java第十四期:继承与多态(二)
final修饰的是array这个引用变量本身,也就是array在栈上的地址不能被修改,就不能再去修改array里面的元素,但我们可以通过array的下标来进行访问。在Dog这个子类,我们不满足于只用父类里的方法,我们就可以通过编译器自动生成一个Override的方法,点击eat,就可以实现重写了。参数也是一样可以接受Dog里面的形参,也可以接受Cat里面的形参。继承表示对象之间是is-a的关系,比如:狗是动物,猫是动物 组合表示对象之间是apart-of的关系,比如:轮胎是汽车的一部分。原创 2024-11-09 16:47:38 · 3150 阅读 · 0 评论 -
零基础Java第十三期:继承与多态(一)
父子父子,先有父再有子,即:子类对象构造时,需要先调用父类构造方法,然后执行子类的构造方法。在构造子类对象时候 ,先要调用父类的构造方法,将从父类继承下来的成员构造完整 ,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化完整。所以说,我们在访问成员变量b时,也可以在前面加上super关键字,这样就能提高代码的可读性,以至于不会搞混成员变量到底是父类的还是子类的。(2)如果父类构造方法是带有参数的,此时需要用户为子类显式定义构造方法,并在子类构造方法中选择合适的 父类构造方法调用,否则编译失败。原创 2024-11-04 22:06:57 · 3700 阅读 · 54 评论 -
零基础Java第十二期:类和对象(三)
而下面,博主将带大家进行更加直观的感受(接下来的代码可能会震碎你的三观):按常理推断我们给num赋值了一个null,按理说应该会抛出异常。打印的结果我们可以理解为地址,@的左边demo包底下的Student类,右边是地址。从这里可以看到,执行的顺序是先执行静态代码块,再执行实例代码块,最后是构造方法。如果我们在new一个stu2的对象,再次执行,结果如下:静态代码块只被执行了一次。如果我们在静态代码块里面,如果我们调用一个成员变量,则会产生报错。另一种是静态代码块初始化,接下来会讲到。原创 2024-11-03 19:56:35 · 901 阅读 · 30 评论 -
零基础Java第十一期:类和对象(二)
静态成员变量属性: 1. 不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中 2. 既可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问 3. 类变量存储在方法区当中 4. 生命周期伴随类的一生(即:随类的加载而创建,随类的卸载而销毁)当我们定义成员变量时,不会给成员变量初始化,那么成员变量就会有一个默认初始化的值,如year=0,month=0,day=0。static修饰的成员变量,称为静态成员变量,静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的。原创 2024-10-27 22:06:48 · 2020 阅读 · 37 评论 -
零基础Java第十期:类和对象(一)
在对象村里面,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。到底类和对象有什么不同呢?其实,类不是对象,却是用来创建它们的模型。类是对象的蓝图,它会告诉虚拟机如何创建某种类型的对象。根据某类创建出的对象都会有自己的实例变量。我们可以使用狗类创建出年龄、性别、姓名。语法规则:类名一般采用大驼峰,字段或成员属性定义在方法外部、类的内部。原创 2024-10-25 22:17:19 · 1382 阅读 · 12 评论 -
零基础Java第九期:一维数组(二)和二维数组
第二个for循环我要用画图的方式来描述:每比较完一个元素的次数会依次减小,怎么来体现这个减少呢?与C语言中唯一不同的是,Java中的二维数组可以省略列,但不能省略行(可以实现为不规则二维数组,后面会讲)。如下图所示,0下标与1下标存的就是两个一维数组的地址。二分查找需要建立在一个有序的情况下,数学上我们学过二分法找零点,这个思路相信不用多说。如果我们进行调试的话,可以看到,列数里面的默认值是null,null不能通过.length去访问,所以就会报错。二维数组与一维数组的本质是一样的。原创 2024-10-24 20:16:14 · 605 阅读 · 24 评论 -
零基础Java第八期:一维数组(1)
当我们需要存储多个类型相同的变量时,如果一个一个去创建会很麻烦 ,此时我们就可以使用数组去简化这类问题。数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间,地址是连续存放的。每个空间有自己的编号,第一个位置的编号为0,即数组的下标。原创 2024-10-20 17:11:52 · 1626 阅读 · 27 评论 -
零基础Java第七期:方法的使用
/方法的定义修饰符 返回值类型 方法名称([参数类型 形参]){方法体代码;return 返回值;修饰符:public static,现阶段的固定搭配。返回值类型:boolean。如果方法有返回值,返回值类型必须要与返回的实体类型一致;如果没有返回值,必须写成 void方法名称:isLeapYear,建议,方法名称的命名采用小驼峰,如Nextnum参数类型:int形式参数:year。如果有参数,需指定参数类型,多个参数之间使用逗号隔开;如果方法没有参数,()中什么都不写。原创 2024-10-19 15:33:30 · 1136 阅读 · 16 评论 -
零基础Java第六期:逻辑控制
在生活中,很多事情的过程大致可以分为三类,顺序、分支、循环。原创 2024-10-17 20:23:40 · 721 阅读 · 8 评论 -
零基础Java第五期:输入输出(补)与猜数字游戏
上一期中,博主漏掉了一些有关输入的知识点,我们在这一期中补上。原创 2024-10-14 15:45:00 · 508 阅读 · 12 评论 -
零基础Java第四期:输入与输出
我们都知道,在C语言中,输入用scanf,输出用printf。那在Java当中,我们又该如何实现输入与输出呢?接下来我们会讲到。原创 2024-10-13 16:22:08 · 476 阅读 · 8 评论 -
零基础Java第三期:运算符
各位小伙伴们,距离上一篇博客发布已经过去了10天。因为这几天学校的课比较多,一直没来得及更新。博主只能在周六周日写博客了。下面话不多说,开始今天的博客之旅。原创 2024-10-12 20:22:06 · 737 阅读 · 8 评论 -
零基础Java第二期:数据类型与变量
方式1:在定义时给出初始值方式2:定义时未初始化,但使用前初始化如果使用前未初始化,则会产生报错int型变量所能表示的范围:小伙伴们一定要注意,变量初始化时切记赋值不可超过数据类型的范围,就如同将一大碗米饭倒入一个小碗中,肯定会溢出。原创 2024-10-02 19:03:59 · 1099 阅读 · 12 评论 -
零基础Java第一期
各位小伙伴们,距离上一篇博客的发布过去了两个多月,本人也在暑假期间进行大量地思考,最终选择了学习Java方向。希望自己能在大学学习期间坚持写博客,把写博客这种习惯坚持下去。原创 2024-09-29 13:56:33 · 1372 阅读 · 14 评论