![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
我的Java
我的Java笔记
J.Y.765
这个作者很懒,什么都没留下…
展开
-
JAVA: 抽象类和接口
Java中可以可以定义不含方法体的方法,方法的方法体由其所在类的子类根据实际需求去实现,这样的方法称为抽象方法(Abstract Method),包含抽象方法的类必须是抽象类。原创 2024-06-02 22:09:53 · 1036 阅读 · 0 评论 -
灯塔:接口
public class 类名 extends 父类 implements 接口名1,接口名2{}实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口。public class 类名 implements 接口名1,接口名2{}继承关系,只能单继承,不能多继承,但是可以多层继承。*JDK8的新特性:接口中可以定义有方法体的方法。*如果实现类多个接口,多个接口中存在相同名字的默认方法,子类必须对该方法进行重写。:接口和类的实现关系,可以单实现,也可以多实现。原创 2024-02-17 10:11:34 · 382 阅读 · 0 评论 -
灯塔:权限修饰符
特点:需要通过static关键字修饰,随着类的加载而加载,并自动触发,只执行一次。③.执行时机:我们在创建本类对象的时候会先执行构造代码再执行其他构造方法。特例:如果方法中的代码是抽取其他方法中共性代码,这个方法一般也私有。使用场景:在类加载的时候,做一些数据初始化的时候用。②.作用:可以把多个构造方法中重复的代码抽取出来。*可以修饰成员变量,方法,构造方法,内部类。局部代码块,构造代码块,静态代码块。①.写在成员位置的代码块。2.局部代码块的作用。3.构造代码块的作用。4.静态代码块的作用。原创 2023-12-06 15:23:07 · 58 阅读 · 0 评论 -
灯塔:多态
定义方法的时候,使用父类型作为参数,可以接受所有子类对象,体现多态的扩展性与便利。*在多态形式下,右边对象可以实现解耦合,便于扩展和维护。*可以转换成真正的子类类型,从而调用子类的独有功能。同类型的对象,表现出不同的形态。*有父类引用指向子类对象。使用父类型作为参数,可以接收所有子类对象。3.引用数据类型的类型转换,有几种方式?*转换类型与真正对象类型不一致会报错。父类类型 对象名称=子类对象。编译看左边,运行也看左边。编译看左边,运行看右边。2.多态的弊端是什么?不能使用子类的特有功能。原创 2023-12-05 20:17:36 · 56 阅读 · 0 评论 -
灯塔:继承
子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据。在继承体系中,子类出现了和父类一模一样的方法声明时,我们就称子类这个方法是重写的。*子类构造方法的第一行语句默认都是:super(),不写也存在,且必须在第一行。*子类初始化之前,一定要调用父类构造方法先完成父类数据空间的初始化。*子类中所有的构造方法默认先访问父类中的无参构造,再执行自己。先在局部位置找,本类成员位置找,父类成员位置找,逐级往上。*子类可以在父类的基础上,增加其他功能,使子类更强大。原创 2023-12-03 09:45:48 · 43 阅读 · 0 评论 -
灯塔:字符串(练习3)
例如,若A='abcde',在调整若干次后,A能变成B,则返回true,如果不能返回成功,则返回false。JDK8出现的一个可变操作字符串的容器,可以高效,方便的拼接字符串。一个可变的操作字符串的容器。可以高效的拼接字符串,还可以将容器里的内容反转。*所有要拼接的内容都会往StringBuilder中放,不会创建很多无用的空间,节约内存。*如果没有常量参与,都是字符串直接相加,编译之后就是拼接之后的结果,会复用串池中的字符串。*如果没有变量参与,每一行拼接的代码,都会在内存中创建新的字符串,浪费内存。原创 2023-11-22 14:37:32 · 59 阅读 · 0 评论 -
灯塔:字符串(练习2)
当我们在调用一个方法的时候,不需要用变量接收他的结果,可以继续调用其他方法。只有返回值才是截取的小串。) 截取到末尾 即从该索引到最后都被截取。注意点: 只有返回值才是替换后的结果。可以看成是一个容器,创建之后里面的内容是可变的。即,依赖前一个方法的结果,再去调用后一个方法。为结束索引 索引从0开始。注意点:包头不包尾 , 包左不包右。*作用:提高字符串的操作效率。) 截取。原创 2023-11-18 17:19:45 · 53 阅读 · 0 评论 -
灯塔:字符串 (练习)
定义一个方法,把int数组中的数据按照指定格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。总共给3次机会,登录之后,给出相应的提示。用键盘输入一个字符串,调用该方法后,在控制台输出结果,例如:键盘输入 abc 输出 cba。键盘录入一个字符串,统计该字符串中大写字母,小写字母字符,数字字符,以及其他字符出现的次数。这里用nextLine() ,它可以接收空格,制表符\t,遇到回车才停止接收数据。执行方法后的输出结果为:[1,2,3]字符串的长度:字符串对象.length()原创 2023-11-17 15:53:30 · 44 阅读 · 0 评论 -
灯塔:随机函数rand
例2:将例1改为:每次猜数允许用户直到猜对为止,同时记录用户猜的次数,以此来反映用户“猜”数的水平。问题求解分析:由于猜多少次能猜对事先是未知的,即循环的次数未知,所以这是一个条件控制的循环, 控制循环的条件是“直到猜对为止”,由于必须由用户先猜,然后才能知道有没有猜对,因此这是一个典型的 直到型循环。随机函数rand()产生的是一个在0~RAND_MAX之间的整数,符号常量RAND_MAX是在头文件stdlib.h中定义的,因此,使用此函数要包含这个头文件。函数rand()所产生的随机数其实只是一个。原创 2023-11-15 16:13:35 · 79 阅读 · 4 评论 -
灯塔:字符串
定义在java.lang包中,所以使用的时候不需要导包。Java程序中的所有字符串文字(例如"好好学习")都被实为此类的对象。new出来的会在堆内存中开辟一个小空间,当字符串相同时不存在复用情况。*boolean equalslgnoreCase(要比较的字符串)字符串的内容是不会发生改变的,它的对象在创建后不能被更改。* boolean equals方法(要比较的字符串)字符串不可改变,它们的值在创建后不能被更改。Java的常用方法(比较)基本数据类型比较的是数据值。引用数据类型比较的是地址值。原创 2023-11-15 15:04:38 · 55 阅读 · 0 评论 -
灯塔:11.10的小栗子
要求2:统计年龄比平均值低的女朋友有几个?并把她们的所有信息打印出来。女朋友的属性:姓名,年龄,性别,爱好。要求1:计算出4个女朋友的平均年龄。定义数组储存4个女朋友的对象。原创 2023-11-10 18:00:57 · 39 阅读 · 0 评论 -
灯塔:10周 下
弊端:先用nextInt,再用nextLine会导致下面的nextLine接收不到数据。遇到空格,制表符\t,回车就停止接受。这些符号后面的 数据就不会接受了。可以接受空格,制表符\t,遇到回车才停止接收数据。nextLine();键盘录入的两套体系是不能混用的。nextInt();原创 2023-11-11 17:04:09 · 42 阅读 · 0 评论 -
灯塔:11.08//文字版格斗游戏
r1调用了r2,r1是方法的调用者,所以在上图的46行this.getName()是指r1。以上第40行括号内把新创建的类作为参数了,相当于C语言中的一个结构变量。同理可知r2是方法的调用者,this.getName()是指r2.方法的调用者去攻击参数 在对象那一部分的13行可以看到。成员变量:类中方法外的变量。局部变量:方法内的变量。原创 2023-11-08 15:11:09 · 53 阅读 · 0 评论 -
灯塔:标准的JavaBean类
提供每一个成员变量对应的setXxx()/getXxx()set给属性赋值,get获取属性的值。②成员变量使用private修饰。*如果还有其他行为,也需要写上。标准的JavaBean类。③提供至少两个构造方法。*带全部参数的构造方法。原创 2023-11-05 18:02:15 · 51 阅读 · 0 评论 -
灯塔:封装
对象代表什么,就的封装对应的数据,并提供数据对应的行为。*被private修饰的成员只能在本类中才能访问。封装:告诉我们,如何正确设计对象的属性和方法。*可以修饰成员(成员变量和成员方法)private关键字。原创 2023-11-04 20:24:46 · 50 阅读 · 1 评论 -
灯塔:11.4 设计对象并使用
像:girlfriend.Java girlfriend test.Java是测试类可以创建前者的对象,class只是代表这个文件里面写的是类,即class是写在Java文件里的内容。创建的时候选择class说明创建的是一个类文件,代表这个文件里面写的是和类有关的东西,除了class还有其他类型的,根据需求选择不同的。一个Java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。在以前,编写main方法的类,叫做测试类。原创 2023-11-04 12:47:43 · 74 阅读 · 1 评论 -
灯塔:二维数组
格式:数据类型[][]数组名= new 数据类型[][] {{元素1,元素2},{元素1,元素2}};范例:int[][] arr = new int[][]{{11,22},{33,44}};简化格式:数据类型[][]数组名={{元素1,元素2},{元素1,元素2}};范例:int[][] arr ={{11,22},{33,44}};范例:int arr[][]={{11,22},{33,44}};范例:int[][]arr= new int[2][3];二维数组的静态初始化。二维数组的动态初始化。原创 2023-11-03 22:08:14 · 35 阅读 · 0 评论 -
灯塔: 11.3的小栗子(双色球)
今天是个悲伤的日子,不要秃头😥😥😥。原创 2023-11-03 18:11:49 · 89 阅读 · 0 评论 -
灯塔:11.2的小栗子
eg1:int main()i原创 2023-11-02 21:53:20 · 37 阅读 · 0 评论 -
灯塔:11.1的小栗子
/6个评委打分,范围0-100之间的整数。选手最后得分:去掉最高分和最低分后的平均分,计算出选手的得分。System.out.println("请输入选手得分");今天也是,不能秃头😭😭😭(ง •̀_•́)ง加油。//将一组数组中的元素复制到另一组数组中去。原创 2023-11-01 22:18:38 · 38 阅读 · 1 评论 -
灯塔:10.31 的小栗子
/101-200之间有多少素数,并输出他们的值。101-200之间的素数,并输出他们的值。又是头秃的一天,😭😭😭。谁来拯救我的头发😔😔😔。原创 2023-10-31 21:08:11 · 39 阅读 · 1 评论 -
灯塔:10.30的小栗子
System.out.println("经济舱票价为:"+money1*0.85);System.out.println("经济舱票价为:"+money1*0.65);System.out.println("头等舱票价为:"+money1*0.9);System.out.println("请输入机票原价");System.out.println("请输入机票原价");System.out.println("请输入机票原价");System.out.println("请输入机票原价");原创 2023-10-30 16:16:30 · 72 阅读 · 1 评论 -
灯塔: 10.30 方法值的传递
基本数据类型:数据值是存储在自己的空间中。特点:赋值给其他变量,也是赋的真实的值。引用数据类型:数据值是存储在其他空间中,特点:赋值给其他变量,赋的地址值。引用:使用了其他空间中的数据。自己空间中存储的是地址值。变量中储存的是地址值。原创 2023-10-30 10:11:49 · 77 阅读 · 1 评论 -
灯塔:就近原则和this关键字 构造方法
带参构造方法,和无参数构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载。无论是否使用,都手动书写无参数构造方法,和带全部参数的构造方法。如果没有定义构造方法,系统将给出一个默认的无参数构造方法。作用:在创建对象的时候给成员变量进行赋值(初始化)的。3.没有具体的返回值(不能由return带回结果数据)1.创建对象的时候由虚拟机调用,不能手动调用构造方法。如果定义了构造方法,系统将不再提供默认的构造方法。2.每创建一次对象,就会调用一次构造方法。构造方法也叫构造器,构造函数。原创 2023-11-05 10:42:37 · 42 阅读 · 0 评论 -
灯塔: return和break
return: 其实跟循环没什么关系,跟方法有关的,表示1结束方法,2返回结果。如果方法执行到了return,那么整个方法全部结束,里面的循环也会随之结束。break : 其实跟方法没有什么关系,结束循环或者swit。break return 关键字的区别。今天水一波(˵¯͒〰¯͒˵)原创 2023-10-30 09:56:40 · 44 阅读 · 1 评论 -
灯塔: 10.28方法草稿例子
/设计一个方法用于数组遍历,要求遍历的结果是在一行上的。eg:[11,22,33,44,55]//设计一个方法求数组的最大值,并将最大值返回。原创 2023-10-28 22:09:05 · 69 阅读 · 1 评论 -
灯塔:10.28 方法的重载
d) 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写。e) return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。简单记:同一个类中,方法名相同,参数不同的方法。/*使用方法重载的思想,设计比较两个整数是否相同的方法,b) 方法与方法之间是平级关系,不能互相嵌套定义。参数不同,个数不同、类型不同,顺序不同。原创 2023-10-28 21:04:01 · 47 阅读 · 1 评论 -
灯塔: 方法 ①
public static void getsum(int num1,int num2) { //形参。单个参数: 方法名(参数);方法论调用:方法定义后并不能直接运行需要手动才能执行,该过称为方法调用。public static 返回值类型 方法名(参数){public static void 方法名 (参数){……多个参数: 方法名(参数1,参数2……public static 方法名(){方法体(即打包起来的代码);实参:全称实际参数,方法调用中的参数。调用:格式: 方法名();原创 2023-10-27 17:43:41 · 45 阅读 · 1 评论 -
灯塔:i++
中,首先 i 的当前值会被赋给 j,然后 i 才会被增加 1。中,首先 i 会被增加 1,然后这个值会被赋给 j。所以,在while (i++)这个循环中,i是先进行循环条件的判断,然后再自增1。// 先赋值,输出 i++ = 6,然后再自增。如果i的值为真,则执行循环体内的代码,然后i自增1(i++表示将i的值加1,并把加1后的值赋回i)。在C语言中,++i 和 i++ 都是对变量 i 进行自增操作,但它们的使用上有一些区别。// 输出 i = 6。i++ 操作后返回原始的 i 的值,然后再自增。原创 2023-10-26 23:35:49 · 39 阅读 · 1 评论 -
灯塔:例子
/ 若前面有8个字符,则从第16个位置结束,从第17个位置开始。// \t,跳过8个空格,从第8个位置结束,从第9个位置开始。// 若前面的字节原创 2023-10-25 22:44:02 · 53 阅读 · 0 评论