自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内部类——成员内部类、静态内部类、接口内部类、局部内部类、匿名内部类

作用域在这个方法里面。所以局部内部类的特点是外界方法以外不能访问该类。修饰(接口内部类不能用private修饰了,而静态内部类可以用private修饰)内部类 -- 创建对象的方式是一样的。不访问该类:局部内部类类似于方法里面。3.把匿名类的对象地址赋 值给。1.创建成员内部类对象之前,2.成员内部类可以调用外部类。1.创建静态内部类对象之前,2.接口内部类,系统默认使用。2.局部内部类使用到外部类的。A类,重写method方法。1.底层创建匿名子类,2.创建匿名子类的对象。1.接口内部类类似于。

2024-04-01 10:23:17 588

原创 对象转型——向上转型、向下转型

缺点:不可以调用子类自己的属性和方法(解决方案:再向下转型,就能调用子类自己的属性和方法)2.向下转型必须使用instanceof判断(eg:狗类不能转化为猫类)1.向下转型有风险(一定要先向上转型后,再把引用向下转型)知识点:对象转型 -- 向上转型(自动转型)知识点:对象转型 -- 向下转型(强制转型)可以调用父类非私有化的成员属性。可以调用父类非私有化的方法属性。可以调用子类重写父类的成员方法。不可以调用子类自己的属性和方法。含义:子类类型 转 父类类型。含义:父类类型 转 子类类型。

2024-04-01 09:56:07 255

原创 类的多态、接口的多态

指向接口的引用 接口的引用中存储的是实现类对象在堆中开辟的内存地址 前提:必须是。创建Plane类,继承Vehicles类,重写start、stop方法。父类引用中存储的是子类对象在堆中开辟的内存地址 ​。C - Close - 在项目迭代时,修改原有类是拒绝的。O - Open - 在项目迭代时,对于创建类是欢迎的。需求升级/迭代:自行车 -> 汽车 -> 飞机。设计原则:前人给我们总结的经验,告诉我们什么不能干。设计模式:前人给我们总结的经验,告诉我们怎么做。需求升级:鼠标-硬盘-键盘。

2024-03-23 10:04:42 315

原创 接口的使用及深入、创建匿名内部类对象的步骤

3.接口里面的方法不一定都是抽象的?是的 JDK1.8开始接口中允许有:静态常量、抽象方法、默认方法、静态方法。4.接口解决了类的单继承问题?是的(类 - 接口:多实现,一个类可以实现多个接口)不可以,创建的是匿名内部类的对象。2.一个接口可以实现多个接口?接口 - 接口:多继承,一个接口可以继承多个接口。类 - 接口:多实现,一个类可以实现多个接口。类 - 类:单继承,一个类可以继承一个类。类,实现I1接口中的i1Method方法。1.一个类可以实现多个接口?实现类:实现接口中的。

2024-03-23 09:57:56 858

原创 抽象类及抽象方法的使用及深入、创建匿名内部类的对象

1.抽象类中只能有抽象方法?不一定 抽象类中可以有:成员属性、静态属性;构造方法、成员方法、静态方法、抽象方法。2.抽象类中不可以没有抽象方法?可以,但是毫无意义(因为先考虑方法是否是抽象的,如果方法是抽象的,类也必须是抽象的)3.如果父类是抽象类,则子类必须实现父类的抽象方法?不一定,子类如果是抽象类,可以不实现父类的抽象方法。不可以,创建的是**匿名内部类对象。应用场景:该方法应该在该类中,但是该方法不好实现,是交给非抽象的子类去实现。注意:抽象方法必须在抽象类中。抽象方法:将方法交给。

2024-03-23 09:50:50 336

原创 Object、重写Object的equals()和toString()

JVM会将该类的class文件加载到方法区,在堆中创建该类的class文件的对象(简称class对象),Object - toString():获取对象的字符串表示,不同的子类有着。4、toString():返回对象的字符串表现形式(将对象转换为字符串)Object - equals():比较两个对象是否相同,不同的子类有着。hashCode():获取该对象的hash码(注意:hash码是。toString():返回对象的字符串表现形式(将对象转换为。3、hashCode():获取该对象的hash码。

2024-03-23 09:41:06 513

原创 类加载机制

什么是使用到类:1、创建该类的对象算是使用,2、然后调用这个类的静态方法也算是使用- 包名加类名:这叫做类的权限定名- 输入流Input stream:把硬盘中的class文件读取到内存中- .class 这些都是一个一个的文件,它会把硬盘里面的。

2024-03-22 10:18:34 698

原创 初识类加载过程、深入类加载过程

1. 符号引用:以一组符号来描述所引用的目标,可以是任何形式的字面量,只要是能无歧义的定位到目标就好,就好比在班级中,老师可以用张三来代表你,也可以用你的学号来代表你,但无论任何方式这些都只是一个代号(符号),这个代号指向你(符号引用)4. 注意: 相对于类加载过程的其他阶段而言,加载阶段是可控性最强的阶段,因为程序员可以使用系统的类加载器加载,还可以使用自己的类加载器加载,在这里我们只需要知道类加载器的作用就是上面虚拟机需要完成的三件事。主要是对类自身以外 (常量池中的各种符号引用) 的信息进行校验。

2024-03-22 10:08:19 1171

原创 继承、super——父类的、重写、访问修饰符、final-- 最终的

实际上子类可以**继承父类所有的属性和方法,包括私有化的,但是不能直接调用, 可以将父类私有的属性和方法放在公有的方法里,再调用公有的方法去操作私有的属性和方法。Oracle官方解释:子类不能继承父类的私有化属性和方法,这是站在使用的角度上去解释的。- 应用场景:父类方法不满足子类需求,且父类方法不能被改动时,就在子类中使用重写。构造方法 (因为在子类的无参构造方法中,会默认调用父类的无参构造方法)构造方法 (因为在子类的无参构造方法中,会默认调用父类的无参构造方法)- 3.访问修饰符不能比父类更严格。

2024-03-22 10:03:03 425

原创 static静态代码块

1、静态代码块:class文件加载到方法区时调用。2、代码块:new对象时优先于构造方法调用。注意:构造方法可以初始化成员属性和静态属性。注意:代码块可以初始化成员属性和静态属性。注意:静态代码块只能初始化静态属性。3、构造方法:new对象时调用。

2024-03-21 12:54:25 113

原创 面向对象版五子棋

这个代码暂时只判断左右连续为5颗棋子赢了,斜方向连续为5颗的情况这里未判断。

2024-03-21 11:49:12 134

原创 构造方法、private - 私有化、this - 本对象、封装 -set、get方法、分包

1.私有化属性(目的:让外界不能直接调用属性) 2.添加该属性的get-获取/set-设置的方法(目的:外界是通过set、get方法去操作属性)含义: 私有化属性,再添加get/set方法,让属性不直接暴露在外界,通过get/set去获取和设置。项目中运用分包:项目中会由很多类,类与类的功能有相同的也有不同的,所以要分包归类管理。项目中的命名规范:com.公司名.项目名.功能名(具体参照公司的命名规范)1.this.属性:在方法中调用本对象的成员属性。2.this.方法:在方法中调用本对象的成员方法。

2024-03-21 11:38:13 618

原创 班上有3个学生,每个学生都参加了三门功课的考试,其中第二个学生是特长生,上级要求给他每门功课都+5

班上有3个学生,每个学生都参加了三门功课的考试,其中第二个学生是特长生,上级要求给他每门功课都+5 * 【要求:使用二维数组做,并且分别使用for循环和增强for循环遍历二维数组】

2024-03-21 10:59:49 101

原创 初识面相对象

现实生活:类:是一种概念,把具有相同特征和操作的事物归为一类现实生活中:事物先出现,然后出现类——事物-->类神学中:——即程序的世界中类:相当于一个模板,刻画出具有相同特征和操作的事物神学中:类先出现,然后出现事物—— 事物-->类。

2024-03-20 09:52:20 183

原创 五子棋,判断输赢

【代码】五子棋,判断输赢。

2024-03-20 09:40:29 93

原创 二维数组静态、动态初始化;for循环、foreach遍历数组

二维数组:二维数组中包含了一维数组声明:数据类型[][] 数组名;初始化:1、静态初始化:由程序员指定元素,长度由系统分配2、动态初始化:由程序员指定长度,元素由系统分配整数类型默认值:0浮点类型默认值:0.0字符类型默认值:' '(空格)布尔类型默认值:false引用类型默认值:null(空)

2024-03-20 09:35:46 180

原创 提取一个方法,将指定数组中的数组元素进行反转

例如:{10,23,2,45,6}--->{6,45,2,23,10}提取一个方法,将指定数组中的数组元素进行反转。

2024-03-19 23:14:37 81

原创 B哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分?

【代码】B哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分?

2024-03-19 23:13:00 444

原创 Arrays工具类

Arrays是Java给我们提供的专门操作数组的工具类。工具类里的方法都是静态的,直接使用类名调用即可。

2024-03-19 23:11:42 128

原创 数组作为方法的参数和返回值

2.方法想要返回多个值,就将多个值放在一个数组中,返回数组即可。需求:设计一个方法,传入int类型的数组,返回最大值和最小值。1.数组可以作为参数传入到方法内部。需求:设计一个方法,传入n个int值,返回最大值。

2024-03-19 23:10:18 175

原创 一维数组的排序,查找,复制、扩容、删除

缺点:这种删除会让数组的空间越变越小,没有考虑到以后可能会添加元素。这种删除不会让数组的空间越变越小,考虑到以后可能会添加元素。优点:修改源数组,新数组的数据也不会发生改变。缺点:修改源数组,新数组的数据也会发生改变。(1)一维数组的复制1 -- 浅表复制。(2)一维数组的复制2 -- 深表复制。

2024-03-19 22:57:59 214

原创 一维数组静态、动态初始化;for循环、foreach遍历数组

一维数组 含义:一组数据的容器概念:1.数组是引用数据类型2.数组中的数据叫做元素3.元素都是编号叫做下标/索引4.下标从0开始5.数组一旦初始化后,长度不可变6.容器除了存储数据以外,还要管理数据(增删改查)7.数组初始化后长度不可变,数组作为容器去管理数据只有修改、查询功能数组的声明:数据类型[] 数组名;-- 推荐使用//比如:String[] names;数据类型 数组名[];

2024-03-19 22:48:14 309

原创 输出某个范围内的所有素数,比如100-200之间

素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数.例如:2,3,5,7,11,13,17,19,23.....b)输出某个范围内的所有素数,比如100-200之间。a)写一个方法判断该数是否为素数(设计成一个方法)经验:使用方法区封装功能会让代码的可读性提高。

2024-03-19 15:54:49 241

原创 键盘录入一个数据n(1<=n<=9),输出对应的nn乘法表

【代码】键盘录入一个数据n(1<=n<=9),输出对应的nn乘法表。

2024-03-19 15:53:30 88

原创 方法版本的万年历

2.仔细分析main方法里的执行顺序,不懂哪个方法就去细看哪个方法。知道这些方法大概是怎么实现的。需求:输入一个年份,再输入一个月份,把那个月的日历打印出来。1.考虑方法名 -- 见名知意。线索:1900年1月1日是星期一。1.整体粗略的从上往下看。

2024-03-19 15:52:35 189

原创 方法的重载、方法的递归

1).找规律:知道方法何时调用方法自身 ​ 2).找出口:知道方法何时结束。4.与返回值无关(方法是否有返回值、返回什么值跟方法的重载关系是无关的)需求3:设计一个方法,传入两个double值,返回最大值。需求4:设计一个方法,传入三个double值,返回最大值。需求1:设计一个方法,传入两个int值,返回最大值。需求2:设计一个方法,传入三个int值,返回最大值。需求:设计一个方法,传入int类的值n,求n的阶乘。1.含义:方法调用方法自身。2.经验:找规律、找出口。含义:方法与方法之间的。

2024-03-19 15:51:23 147

原创 Java静态方法:无参数无返回值的方法,带参数的方法,带返回值的方法

静态方法理解:特定功能的代码块 好处:解决代码的冗余(减少重复性的代码)静态方法分类:1、无参数无返回值的方法—— public static void 方法名(){...}2、带参数的方法(形参和实参)——public static void getMax(int a,int b){...}3、带返回值的方法(返回值类型和返回数据)——public static 返回值类型 方法名([参数列表]){}参数:执行某个功能之前,要传入某个数据返回值:某个功能执行之后,要返回的数据。

2024-03-19 15:43:47 331

原创 灵活运用所学if,for,while,break,continue 等知识,共六道练习题

6.要求循环录入2个班的学员成绩,假设每个班都有3个学员, 依次录入,统计超过90分的学员人数,以及这批超过90分的学员平均分。5.模拟ATM取款机的三次密码校验,当天达到3次输入密码错误,则提示“账号被冻结”,其他情况则提示还有多少次输入机会。3.3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?2. 计算从1到100个值以内所有能被3或者17整除的数的和并输出。4.求2~100之内的素数。【素数 : 只能被1或本身整除的数】1. 求出1-100之间偶数和。

2024-03-19 15:29:04 134

原创 万年历:输入一个年份,再输入一个月份,把那个月的日历打印出来

需求:输入一个年份,再输入一个月份,把那个月的日历打印出来。线索:1900年1月1日是星期一。

2024-03-19 15:09:46 189

原创 特殊的流程控制语句:break,continue ,return,label

break:作用于循环中,表示跳出当前循环案例:循环录入张三同学5门课的成绩并计算平均分, 如果某分数录入为负,停止录入并提示。

2024-03-19 15:07:03 243

原创 while循环,do-while循环,for vs while vs do-while三者比较

语法结构:while(表达式){...代码块/循环体...理解:表达式的结果必须是booleantrue - 执行循环体false- 跳出循环死循环:System.out.println("死循环");需求:使用while循环实现输出5遍"中国"注意:while循环可以实现for循环的功能案例:我有个梦想,每月存3000,每年递增1000元,多少个月后存满20万。

2024-03-19 14:57:31 478

原创 运用for循环嵌套打印九九乘法表

【代码】运用for循环嵌套打印九九乘法表。

2024-03-16 16:21:19 344 1

原创 for循环,for循环嵌套

好处:解决代码的冗余语法结构:for(表达式1;表达式2;表达式3){...代码块/循环体...理解:表达式1 -- 初始化变量表达式2 -- 判断条件表达式3 -- 更新变量执行步骤:1.初始化变量2.判断条件(结果必须是boolean类型)true - 执行代码块,更新变量,重复第2个步骤false - 跳出整个循环语句小结:1.初始化变量不一定从0开始,设置为1或者10都是可以的,需要根据需求灵活变换。

2024-03-16 16:20:19 335 1

原创 switch分支,switch的深入,if 与switch的区别

1).switch是将byte、short、char、枚举(JDK1.5)、String(JDK1.7)转换为int类型。int、byte、short、char、枚举(JDK1.5)、String(JDK1.7)default代码块类似于if分支中的else//注意:default代码块根据需求可写可不写。switch的表达式支持byte、short、int、char、枚举、String类型的数据。表达式分别跟值1、值2、值n比较,那个相同就执行对应的代码块。short --> int 自动转型。

2024-03-16 16:08:12 826 1

原创 if分支和if...else...

案例二:张三Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;(健康值算法为:体重(Kg) / 身高(米)的平方)案例:如果张三的Java考试成绩大于98分,张三就能获得一辆法拉利作为奖励。从上往下判断表达式,哪个表达式先成立(true),就执行对应的代码块。(健康值算法为:体重(Kg) / 身高(米)的平方)案例:如果张三Java考试成绩大于98分,老师就奖励他一个劳斯莱斯,否则老师就罚他进行编码。false- 跳出if分支,执行if以外的代码。如果都不成立,就执行else代码块。

2024-03-16 16:00:26 844 1

原创 命名规范分类

(g_ 全局变量/c_ 常量/m_ 局部变量/s_ 静态变量)基本原则是:单词与单词之间用下划线隔开,UNIX/LIUNX环境下普遍使用。基本原则是: 第一个单词以小写字母开始,后续单词首字母都采用大写字母。总结:不管使用什么命名法,命名最好有意义,起到见名知意的作用。ps: String file_name = “张三”;基本原则是: 每个单词首字母都采用大写字母。基本原则是:变量名=属性+类型+对象描述。帕斯卡命名法(大驼峰命名法)驼峰命名法(小驼峰命名法)

2024-03-16 15:41:35 320 1

原创 转义字符、常量3种、Java执行语句

注意:i是变量,但是100是常量。ps:System.out.println("用良心做教育");注意:常量的命名规范 - 所有字母大写,单词之间使用下划线隔开。3.循环语句(满足条件就重复执行某个功能)3.使用final(最终的)修饰的变量——是常量。1.顺序语句(方法里的代码从上往下运行)2.分支语句(根据条件选择执行某个功能)3.3 do-while循环。2.字面值常量:使用双引号括起来的内容。1.数字字面量:程序中出现的数字。\t 表示水平制表——自动对齐。\" 表示一个双引号字符。

2024-03-16 15:37:41 367 1

原创 位运算符: & 、 |、 ^ 、 <<、 >>、 >>>底层运算

>右移:整体向右移动n位,就用n个最高位补位(补到最高位,负数用1补位,正数用0补位)&、|、^前后两侧都是布尔值,此符号为逻辑运算符。注意:右移和无符号位右移在处理正数的情况下都是一样的,因为正数用0补位。&、|、^前后两侧都是数值,此符号为位运算符。>>>无符号位右移:整体向右移动n位,就用n个0补位(补到最高位)<<左移:整体向左移动n位,就用n个0补位(补到最低位)^异或:同位比较,两者相同为0,不同为1。&与:同位比较,两者为1,结果才为1。|或:同位比较,两者有1,结果就为1。

2024-03-16 15:28:56 352 1

原创 三目运算符/三元运算符及其运用

语法结构:变量 = (表达式)?值1:值2;理解:表达式的结果必须是boolean类型true - 将值1赋值给变量false- 将值2赋值给变量。

2024-03-14 20:21:26 396 2

原创 逻辑运算符:&、&&、| 、||、!、^

(与)、&&(短路与)、|(或) 、||(短路或)、!规则:置反,false变成true , true变成false。&&短路与:判断前者为flase后,不会判断后者,效率更高。& 和 && 规则:两个有一侧为false,结果为false。2. &、&&、|、||、^ 两侧都是boolean类型数据。| 和 || 规则 :两侧有一侧为true,结果为true。||短路或:判断前者为true后,不会判断后者,效率更高。&与:判断前者为false后,还会判断后者。|或:判断前者为true后,还会判断后者。

2024-03-14 20:10:20 352

空空如也

空空如也

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

TA关注的人

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