- 博客(22)
- 收藏
- 关注
原创 Java反射机制
Java 反射机制(Reflection)是指在程序运行时能够动态地获取类的内部信息,并能直接操作类的属性和方法。它允许我们在运行时而不是编译时访问类的元数据(比如类的成员变量、方法、构造器等),以及动态地调用它们。反射机制主要依赖于包中的类,如ClassFieldMethod和等。
2024-11-12 19:35:17
627
原创 JavaWeb技术JDBC
我们在刚刚的入门案例中并没有注册驱动,也成功了,是因为我们使用了Class.forName:Class.forName(“com.mysql.jdbc.Driver”)//execute执行,query:查询,resultset:结果集。INSERT INTO student VALUES (NULL,'张三',23,'1999-09-23'),(NULL,'李四',24,'1998-08-10'//这是com.mysql.jdbc.Driver的静态代码块,只要使用这个类,就会执行这段代码。
2024-11-11 20:33:42
834
原创 数据结构与算法01 链表(单向链表与双向链表)
/把被删除节点的后继结点的前驱结点,指向被删除节点的前驱结点。//如果链表是空的,那么新节点既是头结点又是尾节点。//如果链表不为空,则新节点应该添加到尾节点的后面。//有尾结点可以在添加新节点的时候直接挂到尾节点的后面,提高效率。//创建节点对象,用来存储数据,然后把节点对象放到链表里。//把被删除节点的前驱结点,指向被删除节点的后继结点。//要找到被删除节点前面的节点,所以要循环i-1次。//删除指定位置的数据,并返回被删除数据的值。//断开被删除节点的指向。//用来记录链表里的数据的数量。
2024-10-31 19:10:18
1032
1
原创 Java入门探索者之异常及异常处理
在Java中,确实可以自定义异常。自定义异常允许开发人员定义特定的错误或异常情况,以便在程序中轻松处理和识别。首先,需要定义一个新的类,这个类应该继承自Throwable类的某个子类,通常是Exception或。如果希望自定义的异常是编译时异常(即受检查异常),则应该继承Exception类。如果希望自定义的异常是运行时异常(即非受检查异常),则应该继承类。自定义异常定义完成后,就可以在程序中使用它了。抛出自定义异常:在需要抛出异常的地方,使用throw关键字后面跟自定义异常类的实例。
2024-10-09 20:33:52
629
原创 JavaWeb前端开发:HTML+CSS
rgb表示法:红绿蓝三原色,每项取值范围:0~255 rgb(红,绿,蓝) , rgb(0,0,0) , rgb(255,255,255) , rgb(255,0,0)
2024-09-04 18:25:24
784
原创 Java 数组算法题
另外,程序在读取分数时进行了范围检查,以确保输入的分数在0到100之间(包括0和100)。如果输入的分数不在这个范围内,程序将输出一个错误消息,并忽略该分数。编写一个程序,读入数目确定得考试分数,并且判断有多少个分数高于或等于平均分,有多少个分数低于平均分, 输入一个负数标志输入结束,假设最高分为100.//定义一个数组{1,3,4,2,6,2,6,2,8,2,6},要求输出结果是不重复的数。//在数组{4,5,6,2,3,1,9,8,7,10,12,14,15}中查找元素。// 没有找到则提示没有找到)
2024-08-13 19:10:37
450
原创 Java 入门探索者15(接口,抽象类,实现类,集合,多态)
接口使用interface关键字来定义,接口中的方法默认是的,即公开的且抽象的,因此接口中的方法不需要(也不能)有方法体。接口中还可以包含常量,这些常量默认是的。java复制代码// 常量定义// 方法声明,默认是public abstract// 另一个方法声明抽象类接口定义抽象类是一个特殊的类,不能被实例化,但可以被其他类继承。它主要用于定义一组通用的属性和方法,其中可以包含抽象方法(无具体实现的方法)和具体方法(有具体实现的方法)。
2024-08-13 19:05:48
1015
原创 Java 入门探索者14(异常,抛出异常)
如果在try代码块中抛出了异常,程序会立即跳转到catch代码块中,并且根据抛出的异常类型选择执行相应的处理逻辑。finally代码块是可选的,不管try代码块中是否发生异常,finally代码块中的语句都会被执行。2. Unchecked异常(非受检异常):Unchecked异常是在运行时检测的异常,继承自RuntimeException类。1. IndexError(索引错误):当访问序列(如列表、字符串)时使用了不存在的索引,或者索引超出了序列的范围,就会抛出该异常。
2024-08-12 14:33:32
453
原创 Java 入门探索者13(接口,抽象类和抽象方法)
抽象方法是一个没有具体实现的方法,只有方法的声明,没有方法体。2. 实现接口:一个类实现接口时,需要使用`implements`关键字,并且需要实现接口中所有的抽象方法。默认方法可以在接口中给出默认的实现,实现类可以选择是否重写。8. 接口的应用:接口是一种重要的设计模式,通过接口可以实现代码的解耦和模块化,提高代码的可维护性和可扩展性。//抽象类可以继承,但是包含抽象方法的抽象类,在继承的时候会报错,因为类中有抽象方法,- 抽象类可以包含抽象方法和非抽象方法,提供一组共同的特征和行为,供子类继承和实现。
2024-08-12 14:24:20
472
原创 Java 入门探索者12(多态,向上转型,向下转型)
运行时多态是指通过继承和虚函数实现的多态,编译器在编译阶段无法确定对象的具体类型,只能确定类型为父类,而在运行阶段根据对象的实际类型调用相应的函数。总结起来,多态是面向对象编程中的一种重要机制,通过将相同类型的对象以不同的形式表现出来,实现了代码的复用和灵活性,提高了代码的可扩展性和可维护性。在多态中,通过将父类对象赋值给子类对象,可以实现在不改变原有代码的情况下,根据不同的对象类型调用相应的方法。多态是面向对象编程中的一个重要概念,指的是同一类型的对象在不同的情况下可以呈现出不同的行为。
2024-08-11 13:32:35
418
原创 Java 入门探索者11(final,super关键字,构造方法,方法重写,继承)
在 `Main` 类中,我们创建了一个 `Cat` 对象,并调用了继承自父类的方法 `eat()`,以及子类自己的方法 `meow()`。接着,我们调用`setNumber`方法将`number`属性的值设置为20,并再次通过`getNumber`方法获取`number`属性的值,并将其打印输出。在继承中,子类可以重写父类的方法,实现自己特定的功能。在`main`函数中,我们实例化了`Example`类的一个对象`example`,然后调用`add`方法,传入参数3和5,将返回结果打印输出。
2024-08-11 11:33:47
501
原创 Java 入门探索者10(StringBuffer类,包,toString方法,字符串方法,包装类)
1. 基本数据类型的包装类(Byte、Short、Integer、Long、Float、Double、Boolean、Character):这些类将基本数据类型封装成了对象,使得可以在对象上进行各种操作。默认情况下,Object类的toString方法返回一个由类的名称和对象的哈希码组成的字符串。2. 数值类型的包装类(Byte、Short、Integer、Long、Float、Double):这些类继承自Number类,提供了各种与数值相关的方法,如计算平方根、绝对值、取整等。
2024-08-11 10:28:48
422
原创 Java 入门探索者09(数组)
需要注意的是,如果要对基本数据类型的数组进行降序排序,需要将数组类型声明为对应的包装类,比如Integer[]、Double[]等。我们可以通过索引来访问数组中的元素,例如数组中的第一个元素是1,第二个元素是2,以此类推。例如,在游戏开发中,我们可以使用二维数组来表示游戏地图,每个元素表示地图上的一个位置,可以存储该位置的属性和状态。例如,假设有一个长度为5的数组arr,那么arr[4]是最后一个元素,arr[5]就是越界访问。数组越界指的是在访问数组元素时,指定的索引超出了数组的有效范围。
2024-08-10 21:53:31
573
原创 Java 入门探索者08(static关键字,静态方法,静态块)
在静态方法中,不能直接使用类中的非静态属性和方法,因为非静态属性和方法是与类的实例相关的。static块在类加载时被执行的主要目的是对静态变量进行初始化或执行一些静态块中的代码,例如加载数据库驱动、初始化静态资源等。7. 静态方法不能访问非静态属性和调用非静态方法,因为非静态属性和方法是与类的实例相关的,而静态方法不依赖于类的实例。//静态方法中不能直接调用非静态的属性和非静态的方法,但是可以直接调用静态属性和静态方法。3. 静态块中可以访问静态的成员变量和方法,但不能访问非静态的成员变量和方法。
2024-08-10 21:37:16
454
原创 Java 入门探索者07(this关键字,方法重载,重写,构造方法)
在Java中,每个类的方法都有一个隐含的this参数,指向调用该方法的对象。1. 用来区分实例变量和方法参数:在方法中,可以使用this关键字来引用当前对象的实例变量,以区分方法的参数和实例变量的同名问题。总之,this关键字是Java中用来引用当前对象的特殊关键字,可以在类的方法中访问类的成员变量和方法,以及调用当前对象的其他方法。2. 用来调用当前对象的其他方法:在方法中,可以使用this关键字来调用当前对象的其他方法。- 在运行时,如果子类对象调用了父类和子类都存在的方法,则会执行子类中的重写方法。
2024-08-09 16:23:03
618
原创 Java 入门探索者06(权限修饰符,实参形参,调用方法,值传递,引用传递,全局变量,引用变量)
全局变量在类的所有实例中都是共享的,即同一个类的不同对象中的全局变量是相同的。当一个方法被调用时,实参的值会被传递给方法中对应的形参,方法会使用这些实参的值进行相应的操作。实参的作用是为方法的形参提供具体的值,实际上是方法的调用者根据方法定义者的要求给出的值。总结起来,形参是方法定义中声明的变量,用于接收方法调用时传递过来的值,而实参是方法调用时传递给方法的具体值。需要注意的是,虽然在引用传递中可以修改原始数据的值,但是如果在函数内部修改了参数的引用,即将参数指向了新的内存地址,则不会影响原始数据。
2024-08-09 11:50:09
879
原创 Java 入门探索者05(类,属性,方法,封装类)
/方法有参数就叫做有参方法,没有参数的叫做无参方法,有参数时,多个参数用逗号分隔开。//void修饰的方法表示此方法没有返回值,但是可以使用return修饰,//int表示方法有返回值,需要使用return返回,而且在后面必须写值,//对象类型又称为引用类型:除了八种基本数据类型以外的其他所有类型统称为对象类型。//封装性:属性私有化,为外部提供获取属性值的get方法和设置属性值的set方法。//public修饰的类,类的名字必须要跟类文件的相同,包括大小写。//属性称为成员变量,方法称为成员方法。
2024-08-08 11:08:48
689
原创 Java 入门探索者04(循环,语句)
if-else语句:当条件为真时执行一组语句,否则执行另一组语句。- do-while循环:先执行一组语句,然后在给定条件为真时重复执行。在执行while循环时,首先会判断条件是否满足,如果满足则执行循环体,然后再次判断条件是否满足,以此类推,直到条件不满足时循环结束。do-while循环也用于在条件满足时重复执行一组语句,与while循环的区别是,do-while循环至少会执行一次循环体。//if后面跟的是boolean类型的表达式,if else语句在执行的时候一定会执行其中一条语句。
2024-08-08 10:07:18
467
原创 Java 入门探索者03(运算符,前序后序)
/答:相同点:都可以作为逻辑运算符进行逻辑运算,左右两侧都是boolean类型的值,* 答:上述第三行代码报错,原因是1是int类型的数据,在进行计算的时候会将a+1。//不同点:作为逻辑运算符时,&&为短路与,左侧为false的时候,右侧代码不运行,//x为boolean类型的表达式,如果x为true,则输出y的值,否则输出z的值。//取余的结果,看的是被除数的符号,被除数是正结果为正,被除数是负结果为负。//当左右两侧都为真的时候,结果为真,否则结果为假。//等价于b = b + a;
2024-08-08 09:37:47
375
原创 Java 入门探索者02(常量变量,基本数据类型,导包)
/用int类型的数据给double赋值,如果超过了int范围使用d或者D。//使用L或者l告诉编译器这是一个long类型的数据。//自动类型转换:小的数据类型转换为大的数据类型,隐式转换,默认转换。//Java认为所有输入到程序中的小数全部为double类型;//强制类型转换:大的数据类型转换为小的数据类型,显式转换。// 1 2 4 8 字节。//声明的同时初始化。//在赋值的时候,浮点类型没有编译器优化。//解决方案F或者f。//数据类型 变量名。//声明的同时初始化。
2024-08-07 15:31:54
557
1
原创 Java 入门探索者01(超基础)
/ 材料.class文件和java api的.class文件 工具:jvm(java虚拟机)//运行期:是将.class文件和java API文件一起放到虚拟机中运行成机器识别的指令,操作硬件。// 材料.java文件 工具:java编译器 结果:产生.class文件。//HelloWorLd的名字必须跟文件的名字样,包括大小写。//编译期:将.java文件编译成.class文件。//java的运行机制包括编译期和运行期。//注释的快捷键是ctrl+/
2024-08-07 15:24:30
150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅