Java SE
文章平均质量分 87
一只小月亮
努力学习的每一天
展开
-
【Java SE】11.认识异常
Java中虽然已经内置了丰富的异常类,但是不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我们实际情况的异常结构。例如,我们实现一个用户登录功能。if (!if (!System.out.println("登陆成功");自定义异常类,然后继承自Exception或者RunTimeException实现一个带有String类型参数的构造方法,参数含义:出现异常的原因。此时我们的login代码可以改成if (!原创 2024-04-13 09:00:00 · 1071 阅读 · 0 评论 -
【Java SE】9.抽象类和接口
包含抽象方法的类我们称为。原创 2024-04-10 17:02:18 · 1413 阅读 · 0 评论 -
【Java SE】8.2多态
“用尽量简单的方式时对象进入可工作状态”,尽量不要在构造器中调用方法(如果这个方法被子类重写,就会触发动态绑定,但是此时子类对象还没构造完成),可能会出现一些隐藏的但是又极难发现的问题。将一个子类对象经过向上转型之后当成父类方法调用,在无法调用子类的方法,但有时候可能需要调用子类特有的方法,此时:将父类引用在还原为子类对象即可,即向下转换。在上述代码中,分隔线上方的代码是类的实现者编写的,分隔线下方的代码是类的调用者编写的。当父类和子类都有同名属性的时候,通过父类引用,只能引用父类自己的成员属性。原创 2024-04-09 17:50:47 · 1075 阅读 · 0 评论 -
【Java SE】3运算符
int a =10;int b = 20;a+b;a<b;上述+和<等就是运算符,即:对操作数进行操作时的符合,不同运算符操作的含义不同。作为一门计算机语言,java也提供了一套丰富的运算符来操作变量。java中的运算符可以分成:算术运算符(+,-,*,/),关系运算符(<,>==)、逻辑运算符、移位运算符以及条件运算符等。原创 2024-03-27 09:00:00 · 816 阅读 · 0 评论 -
【Java SE】4.程序逻辑控制
系统自动生成一个随机整数(1-100),然后由用户输入一个猜测的数字,如果输入的数字比该随机数小,提示“低了”,如果输入的数字比该随机数大,提示“高了”,如果输入的数字和随机数相等,则提示“猜对了”。此时,为 while 的语句体(这是一个空语句),实际的{ }部分和循环无关,此时循环条件 num <=10,导致代码死循环了。执行到continue 语句的时候,就会立刻进入下次循环(判定循环条件),从而不会执行到下方的打印语句。表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3。原创 2024-03-29 09:00:00 · 1089 阅读 · 1 评论 -
【Java SE】8.1继承和多态
Dog和Cat都继承了Animal类,其中,Animal类称为父类/基类或超类,Dog和Cat可以称为Animal的子类/派生类,继承之后,子类可以复用父类中的成员,子类在实现时只需关心自己新加的成员即可。Java中使用类对现实世界进行描述,类经过实例化之后的产物对象,则可以通过用来表示现实中的实体,但是现实世界错综复杂,事物之间会有一些关联,那在设计程序就需要考虑。总结:成员方法没有同名时,在子类方法中或者通过子类对象访问时,则优先访问自己的,自己没有时,再到父类中找,如果父类中也没有则报错。原创 2024-04-08 21:31:22 · 1205 阅读 · 0 评论 -
【Java SE】7.3类和对象
在文件的最上方加上一个package语句指定该代码在那个包中。包名需要尽量指定成唯一的名字,通常会是域名的颠倒形式。包名要和代码路径相匹配,例如创建com.bit.demo1的包,那么会存在一个对应的路径com/bit/demo1来存储代码。如果一个类没有package语句,则该类被放到一个默认包中。在IDEA中先创建一个包:右键src->新建->包在弹出的对话框中输入包名,例如com.bit.demo1在包中创建类,右键包名->新建->类,然后输入类名即可。原创 2024-04-06 23:58:26 · 609 阅读 · 1 评论 -
【Java SE】方法的使用
方法就是一个代码片段,类似于C语言中的“函数”。是能够模块化的组织代码(当代码规模比较复杂的时候)。做到代码被重复使用,一份代码可以在多个位置使用。让代码更好理解更简单直接调用现有的方法进行开发,不必重复造轮子。System.out.println(year+"年是闰年");}else{System.out.println(year+"年不是闰年");// 方法定义修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];示例1。原创 2024-04-01 09:00:00 · 730 阅读 · 0 评论 -
Volatile 关键字
volatile和synchronized有着本质的区别。synchronized 能够保证原子性,volatile 保证的是内存可见性。当t2对flag变量进行修改,此时t1感知不到flag的变化。此时可以看到,最终count的值仍然无法保证是100000.volatile修饰的变量,能保证“内存可见性”。代码在写入volatile修饰的变量的时候,代码在读取volatile修饰的变量的时候,如果给flag加上volatile。t1读的是自己工作内存中的内容。这个是最初的演示线程安全的代码。原创 2024-03-30 23:37:04 · 491 阅读 · 0 评论 -
【JavaSE】1初识java
1.java语言简介java是一个具有一系列计算机软件和规范形成的计算机技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统,移动终端、企业服务器、大型机等各种场合。1.1java语言的重要性1.语言广泛的使用程度。2.工作领域(1)企业级系统比如大型复杂的企业级软件系统,java的安全机制以及跨平台性的优势,其在分布式系统领域开发中有广泛应用,涉及到金融、电信、交通、电子商务、ERP系统等。(2)Web开发系统java语言在设计初期原创 2024-03-24 09:00:00 · 1022 阅读 · 1 评论 -
【Java SE】2.数据类型与变量
结论:byte和byte都是想同类型,但是出现编译报错,原因是:虽然a和b都是byte,但是计算a+b会先将a和b都提生成int,在进行计算,得到的结果也是int,这时赋给c就会出现上述错误。4.double类型的内存布局遵守IEEE 754标准,尝试使用有限的内存空间表示可能无限的小数,势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如说:人的年龄、身高、成绩分数、数学函数的计算结果,特点:数据范围大的到数据范围小的。原创 2024-03-25 09:00:00 · 1220 阅读 · 0 评论