自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Java——面试题

所谓反射,是java在运行时进行自我观察的能力,通过class、constructor、field、method四个方法获取一个类的各个组成部分。在Java运行时环境中,对任意一个类,可以知道类有哪些属性和方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于反射机制。序列化就是一种用来处理对象流的机制。将对象的内容流化,将流化后的对象传输于网络之间。

2024-07-08 12:00:03 720

原创 Mysql——子查询

子查询Where子查询 单行单列 多行单列Form子查询 多行多列查询比SMITH工资高的人select * from emp where sal > (select sal from emp where ename = 'SMITH');查询比平均工资高的人select * from emp where sal > (select avg(sal) from emp);查询和经理工资相同的员工信息select * from emp where sal in (select sal from emp

2024-07-05 17:09:03 420

原创 AI是在帮助开发者还是取代他们?

研究表明,ChatGPT、GitHub Copilot 和 Amazon CodeWhisperer 等工具提供的代码,在约 90%的情况下能“有效”运行,但只有 30%至 65%的代码能通过单元测试,“安全”运行的概率约为 60%。AI 就像陪伴成长的小伙伴。在这个由机器和人类共同塑造的时代,我们需保持开放和积极的心态,学习与 AI 合作,利用其能力增强工作效率和创新能力,共同创造更美好的未来。在最佳情况下,AI 编写的代码只有约 50%的机会能正确执行预期功能,AI 不擅长编写代码,其优势在于速度。

2024-07-05 11:55:46 770

原创 Mysql——数据库约束和加简单查询

Mysql的约束和简单查询

2024-07-05 11:43:10 971 2

原创 JAVA——异常

如果内层的try语句没有为特定的异常提供catch处理程序,执行流程就会跳出该try语句,检查外层try语句的catch处理程序,查看异常是否匹配。l unchecked异常(非检查异常),也称运行时异常(RuntimeException),比如常见的NullPointerException、IndexOutOfBoundsException。l checked异常(检查异常),也称非运行时异常(运行时异常以外的异常就是非运行时异常)。catch块来捕获该异常,然后在对应的块中修复该异常。

2024-07-03 10:17:13 1218

原创 JAVA——数据结构

如果想要让两个不同的Person对象视为相等的,就必须覆盖Object继下来的hashCode方法和equals方法,因为Object hashCode方法返回的是该对象的内存地址,所以必须重写hashCode方法,才能保证两个不同的对象具有相同的hashCode,同时也需要两个不同对象比较equals方法会返回true。3、堆满足任意结点的值都大于其子树中结点的值,也就是所有根节点 > 其左右孩子结点,叫做大堆,或者大根堆、最大堆,反之则是小堆,或者小根堆、最小堆。最常用的实现类是LinkedList。

2024-07-01 14:58:06 330

原创 JAVA——Date类

Calendar类的getInstance()方法通常会返回一个使用默认地区和时区下的当前时间初始化的GregorianCalendar对象。void setTime(long time)//将日期和时间设置为time所指定的值,time是自从1970年1月1日午夜开始已经流逝的时间。Calendar是抽象类,提供了一套方法将毫秒数形式的时间转换成大量有用的组分,例如年、月、日、小时、分和秒。public Date(Long date) //参数date为自从1970年1月1日子时经历的毫秒数。

2024-06-26 10:22:47 319

原创 JAVA——基础知识总结(四千字)

JAVA基础部分总结

2024-06-24 18:48:18 917 1

原创 JAVA——自动装箱与自动拆箱

自动装箱是这样一个过程,只需要基本类型的对象,就自动将基本类型自动封装(装箱)进与等价的类型包装器中,而不需要明确的构造对象。自动拆箱是当需要时自动抽取(拆箱)已装箱对象数值过程。自动装箱和自动拆箱特性极大的简化了一些算法的编码,移除了单调乏味的手动装箱和拆箱数值操作。最常见的编程杂务之一是将数值的字符串表示形式转换成数值。数值类型的包装器类为此提供了相应的方法。为了将数值转换成字符串形式,可以调用相应包装类的toString()方法。各包装器类以静态方法的形式提供了许多很有用的辅助功能,请查阅帮助文档。

2024-06-24 15:43:18 219

原创 JAVA——包装类

最常用类型的包装器是那些表示数值的包装器。为了在类中存储基本类型,需要将基本类型包装到一个类中,本质上这些类将基本数据类型包装到一个类中,因此通常将它们称为类型包装器包装器类位于JAVA.lang包中。在第二个版本中,如果boolString包含字符串“true”(大写或小写形式都可以),则新的Boolean对象将为真,否则,将为假。一方面出于性能方面的考虑,JAVA为数值使用基本类型,为不是对象。Character是char类型的包装器。其中,ch指定了将由即将创建的Character对象包装的字符。

2024-06-24 11:43:22 484

原创 JAVA——接口和抽象类的区别

接口可以通过关键字extends继承另一个接口,其语法和类继承相同。如果类实现的接口继承自另外一个接口,则该类必须实现在接口继承链中定义的所有方法。(3)抽象类中可以没有抽象方法,但是有抽象方法的类必须是抽象类。(1)抽象类有构造方法,接口没有构造方法。(2)类只能单继承,接口可以多重继承接口。

2024-06-21 16:28:11 300 1

原创 JAVA——接口的概念与定义

一旦定义了一个接口,一个或多个类就可以实现该接口。接口可以理解为抽象到不能在抽象的类,可以认为类是一套体系,接口是另外一套体系,只不过类可以实现接口。接口定义了一组抽象方法,实现接口的类需要实现这些方法,从而实现接口的类就具备了接口所规定的行为(功能)(1)实现接口的类,必须实现接口的所有抽象方法,如果只实现了部分抽象方法,该类必须声明为抽象类。(2)一个类可以实现多个接口,实现多个接口用“,”隔开。一个具体的类,实现接口,必须实现接口的所有的抽象方法。接口中的方法全部都是抽象方法,不能存在实现的方法。

2024-06-21 16:22:17 282 1

原创 JAVA——简单图书管理系统

一个简单的图书管理系统,用数组做的

2024-06-21 11:58:54 114

原创 JAVA——抽象类和抽象方法

当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为,那么这些方法都有具体的方法体。但在某些情况下,某个父类只知道其子类应该包含哪些方法,但无法准确地知道这些子类如何实现这些方法。例如Shape类的area()方法,因为Shape类的不同子类对面积的计算方法不同,即Shape类无法准确地知道其子类计算面积的方法,因此area()方法只能留给子类实现。例如,Animal类的eat()方法、Shape类的area()方法,无法给出有实际意义的实现,对于这类方法可以声明为抽象方法。

2024-06-21 11:34:33 115

原创 JAVA——内部类和外部类

如果在类Outer的内部在定义一个类Inner此时类Inner就称为内部类,而Outer则称为外部类。外部类.内部类 内部类名称 = new 外部类类名().new 内部类类名()访问外部类中的成员变量 外部类类名.this.变量 Outer.this.age。外部类.内部类 内部类名称 = new 外部类类名.内部类类名();语法: 外部类.内部类 内部类名称 = 外部类实例.内部类实例。如果内部类出现在方法的位置,那么就叫做方法内部类。外部类想要访问内部类成员,需要创建内部类对象。

2024-06-21 10:22:15 339

原创 JAVA——动态方法调度与运行时多态

当通过父类引用调用重写方法时,在运行时会调用子类中的重写版本。动态方法调用要以方法重写为前提。//运行时多态:方法名相同,得到的结果不同。在自己的类中定义的toString()方法就是重写方法。

2024-06-20 17:21:42 247

原创 面向对象————多态

因此如果子类中的方法与父类中的方法同名、并且参数类型也相同,那么子类中的方法就重写了父类中的同名方法。当子类从父类中继承来的方法不能满足需求时,子类可以重写该方法,重写方法要求方法民与参数列表都相同。只有当两个方法名称和形参列表都相同时才会发生重写。如果不是都相同那么这两个方法就只是简单的重载关系。为什么不直接定义另外一个方法?因为重写方法可以实现运行时多态的效果。同一个方法名称,执行不同的操作。方法重载就是一种多态的一种形式。

2024-06-20 17:19:24 203

原创 JAVA————this关键字(笔记分享)

局部变量,包括方法的形参,可以和类的实例变量重名。当局部变量和实例变量具有相同的名称时,局部变量隐藏了实例变量。使用this关键字解决在实例变量和局部变量之间可能发生的任何名称冲突。在类的内部,可以在任何方法中使用this引用当前对象。

2024-06-20 16:03:00 257

原创 JAVA————对象的转型(笔记分享)

可以将子类的对象赋给父类的引用变量,但是这时使用父类的引用变量只能访问父类中定义的那些成员变量。换句话说,可以访问哪些成员是由引用变量的类型决定的,而不是由所引用的对象类型决定的。//语法没错,可以编译,但运行时会抛出异常。//语法错误,这时通过a只能使用父类中定义的成员变量。//创建一个新的子类对象,赋给超类引用变量。d = (Dog)a;

2024-06-20 16:01:56 293

原创 JAVA————super关键字(笔记分享)

父类的属性被子类继承,如果子类又提案加了名称相同的属性,则子类有两个名称相同的属性,如果父类型对象调用属性,就是父类的,如果是子类型对象调用就子类的属性。第一种用于调用超类的构造方法,第二种用于访问超类 中子类的某个成员隐藏的成员。在本类中可以使用this()调用重载的构造方法,也必须是第一条语句。关键字super用于调用\访问从父类中继承来的实例变量和方法。在子类中使用super()调用父类的构造方法,必须是第一条语句。使用super访问父类中被子类隐藏的成员变量。使用super()调用父类的构造方法。

2024-06-20 16:00:25 107

原创 JAVA————Object类(笔记分享)

此外,因为数组也是作为类的实现,所以Object类型的变量也可以引用所有对象都可以使用这些方法。object类中的equals()方法实现等价于==运算符,比较相等,如果实现独享内容相等比较,自己类必须重写equals方法。当我们重写equals()方法,判断两个对象相等时,最好也同时重写hascode()方法,让相同对象的哈希码值也相同。当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。克隆对象的方法 被克隆的对象的类必须实现Cloneable接口。

2024-06-20 15:58:48 394

原创 JAVA————final关键字(笔记分享)

如果final修饰类,类就不能在被扩展,不能在有子类。JAVA类库中的String、Math就是final类。如果常量是引用类型,不能再将其它对象赋给该引用,但可以使用该引用改变独享内部的属性。如果final 修饰变量,变量就是常量,常量不可以修改,定义时必须初始化。如果final 修饰方法,方法就不能被子类重写。如果常量是基本数据类型,不可以再修改。final修饰变量、方法、类。

2024-06-20 15:57:40 340

原创 面向对象————继承

即不能继承那些不能访问的方法。理论上子类会继承父类的全部成员变量,但是子类不能访问父类的私有成员变量,如果子类与父类在不同包中,子类也不能访问父类中具有默认访问权限的成员变量。(3)子类的每个构造方法都会隐式的调用父类的无参数构造方法,如果想调用父类的其他构造方法,必须使用super(参数列表)来显式调用。在子类的构造方法中,先调用父类的构造方法完成从父类继承来的那些成员变量,然后初始化子类中特有的成员变量。(3)子类中可以定义与父类中同名的成员变量,这时子类的成员变量会隐藏\覆盖父类中的同名成员变量。

2024-06-20 12:00:06 396

原创 JAVA——static关键字

(1)被声明为静态的变量本质上是全局变量,类的所有实例共享相同的静态变量。因此,通过一个对象修改静态变量的值后,通过该类的其他对象访问到的静态变量是修改后的值。3、对于使用static修饰的成员,既可以通过类来调用也可以通过类的实例调用,但是建议使用类调用静态成员。2、通常把使用static修饰的变量和方法称为类变量和类方法,有时也称为静态变量和静态方法,把不使用static修饰的变量和方法称为实例变量和实例方法。静态变量:当类被虚拟机加载,静态变量就初始化,既不需要创建类的对象就可以使用静态变量。

2024-06-19 16:55:16 125

原创 JAVA-数组的概念

通过new分配的数组,其元素会被自动初始化为0(对于数值类型)、false(对于boolean类型)或null(对于引用类型)。//初始化为{}中指定的值,静态初始化。//初始化为{}中指定的值,静态初始化。//声明数组,并没有创建数组,没有开辟堆内存。数组的声明和使用,在语法上与C语言类似,但是在内部实现机制上有本质的区别。1、创建数组时必须知道数组的长度,否则new不知道要开辟多大的内存。3、创建数组之后,数组的长度不能再改变。

2024-06-19 11:43:00 118

原创 JAVA-面向对象的概念

(1)类是一种逻辑结构,对具有公共属性特征和行为(功能)的一个群体进行描述。例如可以定义Student类描述学生的公共属性和行为,定义一个Teacher类,描述老师的公共属性和行为。类是对象的模板(template),对象是类的实例(instance)。类的每个实例(即,类的每个对象)都包含这些变量的副本,因此在类中定义的变量又被称为实例变量。方法是对象行为特征的抽象,类具有的共性的功能操作,称之为方法。对象就是根据类定义的变量。形参可以为空,可以有多个,形参的类型可以是基本类型也可以是引用类型。

2024-06-19 11:41:15 281

原创 JAVA-对象的声明与创建

(6)对引用变量进行相等性比较,例如b1==b2,是比较两个引用变量是否引用同一个对象,所以b1==b2的结果为true。有时直接使用对象引用代指对象,例如对于上面的例子,有时会直接将b1引用的对象称为“对象b1”或“”b1对象。(3)对于上图,我们通常说b1引用(有时也称为指向)图中的那个Box对象。(5)将一个对象引用赋值给另一个对象引用,则两个引用变量指向同一个对象。因为封装,不能直接访问其他对象的成员变量,通常是调用其他对象的方法。(1)对象引用,有时也称为对象引用变量,或称为引用变量。

2024-06-19 11:40:41 258

原创 JAVA构造方法

1、如果没有明确提供构造方法,则系统会提供一个默认的构造方法,默认构造方法(也成为缺省构造方法)没有参数。3、如果我们提供了一个有参数的构造方法,同时又需要无参构造方法的话,则必须同时提供一个无参的构造方法。2、如果我们提供了一个构造方法,则系统不再提供无参数的默认构造方法。构造方法的作用:开辟内存空间,创建实例,初始化属性值。(3) 不能使用return语句返回值。(4) 通常为Public。(1)方法名与类名相同。(2)不能声明返回类型。

2024-06-19 11:40:03 311

原创 JAVA面向对象三大特征————封装

需要指出的是,包名与文件目录结构一致是针对.class文件而言的,对于源代码文件没有这一要求,但是通常也将源代码文件放到与包名一致的目录结构中。(3)类的全部或部分方法的访问权限为public,类的公有方法是类对外开放的接口,供外部代码使用类的功能。类的私有方法通常是辅助方法实现部分功能,供类的公有方法调用。(1)将类的属性的访问权限设置为private,提供访问权限为public的set和get方法。如果在类的外部可以随意访问类的成员,那将属性和方法放到类中就没有意义了。封装是面向对象的三大特征之一。

2024-06-19 11:33:59 692

原创 java二分查找(对半查找)

/当左边界开始大于右边界的时候就停止循环,left代表左边界,arr.length-1代表右边界。//向左查找,待查关键字(num)小于中间值。这时候左边界是不需要动的。//向右查找,待查关键字(num)大于中间值。这时候右边界是不需要动的。//如果左边小于等于右边那中间位置就是左边+右边除以2。// 右边界应是中间位置的上一位,即 mid - 1。// 左边界应是中间位置的下一位,即 mid + 1。//如果没有查到则返回-1。//mid为中间值变量。

2024-06-18 09:56:58 486

原创 JAVA冒泡排序

每次两两相比(例如1和2比2在和3比3在和4比...),如果长度是6那就要比较5次内层for循环length需要再次减1是因为,第一次比较之后已经将最大的数确定放在了最后一位,所以下次比较的时候就需要减1(不和最后一位比较)以此类推

2024-06-14 15:30:03 265

原创 JAVA修饰符以及运算符

protected - 受保护的 - 同包内的所有子类可见。+ final 变量 - 变量一但被赋值不可被修改。+ default - 什么都不写。+ private - 同一类可见,修饰变量。+ public - 所有类都可见。+ static 变量、方法。

2024-06-13 11:37:27 632

原创 JAVA双色球案例

先摇6个红球,因为摇的红球有重复的,所以需要去重,最后摇篮球

2024-06-12 19:57:27 228 2

原创 JAVA的数据类型

(1)char是16位,Java在内部使用16位的整数表示字符(Unicode编码),char类型的范围0~65536。(2)char也可以用作整数类型,可以将整型字面值赋给char类型的变量,可以在char类型上执行算术运算。(2)将字面值赋给byte或short变量时,如果字面值位于目标类型的范围之内,就不产生错误。(3)26个小写字母、26个大写字母、以及10个数字0-9,其编码是连续的。JAVA不支持无符号的,只是正值的整数。(4)十进制、八进制(0)、十六进制(0X/0x)、二进制(0B/0b)

2024-06-12 19:27:00 337 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除