自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面向对象三大特性之一——多态

那么就只能把父类看成子类,把子类看成父类,这种向下转型就能做到,通过向下转型又能使用到自己的东西,但必须要注意的是,,然后父类可以使用子类的东西,但是有一个缺点,就是有可能会转型失败,因为子类继承父类的东西,修饰符范围父类有可能比子类低,所以可能转型会失败。通过向上转型,被实例化的子类可以直接调用父类的东西,run()方法是在子类没有的,但可以直接使用父类的。,但如果子类重写过父类的东西,那么子类通过引用父类方法得到的结果确实子类方法的结果,什么意思呢?重写的好处就是,子类可以根据需要,重写父类的内容。

2024-07-07 00:56:21 212

原创 Java面向对象的三大特性之一——继承

这是一个很重要的问题,对于这个问题,在Java里面提供一种解决方法,那就是写一个派生类,里面写出它们的共有的方法和成员变量,而其他方法只需要继承这个这个类就行,这样就实现。我们前面讲到过this关键字的使用,this.属性名的方法指代的是当前对象的属性名,this()的方法是指代当前对象的构造对象,总的来说,this关键字就是用来指代当前对象,而。在Java种不支持多继承,还有一点注意的就是,对于继承之间的层次太复杂,一般我们不希望超出三层的继承关系,如果继承层次太多,就需要考虑对代码进行重构了。

2024-06-20 21:57:49 588

原创 String类知识

StringBuilder和StringBuffer的使用需要创建对象,不像String类那样可以直接//会报错打印出来结果是:那么它们有什么不同呢?方法说明在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、double、float、int、long、Object、String、StringBuff的变量获取index位置的字符获取字符串的长度获取底层保存字符串空间总的大小扩容将index位置的字符设置为ch返回str第一次出现的位置。

2024-06-06 22:10:06 843

原创 java面向对象三大特性之一——封装

自定义包方法:我们通过src new一个包然后输入名字就可以使用,包也是一个文件夹,也可以在文件夹中新建一个文件夹也是一个包。导入包之后我们在包里面写项目内容就会自动导入该包。

2024-05-29 22:22:20 795

原创 类和对象

类是用来对一个实体(对象)来进行描述的。主要描述该实体具有哪些属性,那些功能,好比我说一个学生类,一个学生有姓名、年龄、性别、学号,那么姓名、年龄、性别、学号这些就是类的属性,那么我们用Java语言如何去定义一个类呢?首先我们要了解定义类的格式this调用就是引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。简单来说,this就是调用成员方法的对象,而具体的this调用在上述代码中讲到,我们来讲一下this使用的注意事项。

2024-05-23 23:43:33 543 1

原创 运算符(下)

由于byte是有符号的数,所以第一位是符号位,而第一位为1的话,那么这个数是一个负数,补码10101010的原码是11010110,也就是-86。我们可以发现,俩个二进制数按位与,俩个为1结果为1,我们发现结果也是八十五的二进制;右移操作就是最右侧为不要了,最左侧补符号位,如果原先是正数,则补0,如果是负数,则补1;按位取反是直接讲原先的二进制0和1变成1和0,以代码为例。当表达式1的值为false时,整个表达式的值为表达式3的值;当表达式1的值为true时,整个表达式的值为表达式2的值;

2024-05-14 21:25:42 788 2

原创 运算符(上)

我们来分析一下,第一个--a是先--后使用,所以a=1-1就是为0,第二个++a就是先++后使用,所以a=0+1就是为1,第三个就是先使用后--,先使用,此时a为1,所以打印是1,然后--,a就为0,最好一个a++,也是先使用后++,因为上一次的a--为0,所以打印的是0,打印完之和a++,所以a又为1。会跟我们说不能除0,但是我们运行的时候可以继续运行,是因为我们执行了短路求值,a>b为假之后,那么整个表达式为假,所以不会再去执行第二个表达式,所以第二个表达式没被执行,也就没有报错。

2024-05-07 23:06:20 659

原创 Java基本数据数据类型

java数据类型主要分为俩大类,一类是基本数据类型,一类是引用数据类型(类class引用,接口interface引用和数组引用等),我们重点说一下Java基本数据类型。

2024-05-01 22:51:44 11

原创 自定义类型:结构体

对于char c1来说,默认对齐数是1,因为char只占一个字节,而对于int i来说,int占四个字节,和vs默认8来比更小,所以默认对齐数是四,所以i的偏移量必须是4的倍数,那么中间三个字节浪费了,c2也是一样,所以一共有六个字节浪费掉了,所以一共使用了十二个字节。4、如果嵌套了结构体的情况,嵌套的结构体成员对⻬到⾃⼰的成员中最⼤对⻬数的整数倍处,结构 体的整体⼤⼩就是所有最⼤对⻬数(含嵌套结构体中成员的对⻬数)的整数倍。打印的结果就是6,因为我们把默认对齐数变为1,那么i的偏移量为1的倍数就行。

2024-03-30 23:31:39 700 1

原创 整数和浮点数的存储

因为已经超出了范围,当c=255时,c的补码为11111111,而当c=256时,变为100000000,但char类型只能保存8个比特位,所以1就溢出,256就变成了00000000,257则变成了00000001,所以c=1;而对于无符号整形的存储方式其实和有符号整形的图是一样的,不同的是,无符号整形没有符号位,只有数值位,所以无符号整形没有负数,为了更好的说明,我们还是以unsigned char作为一个参照:(以图为例)(-1)^S表示符号位,当S=0,V为正数,当S=1,v为负数。

2024-03-29 17:38:58 784 1

原创 内存函数以及大小端存储问题

根据图我们可以知道,memcpy一共传了三个参数,第一个是目的参数,也就是被复制到的地方,第二个就是复制的值来源,而我们是不期望该值被修改的,所以在该值加上了const,第三个参数是拷贝的字节参数,这个是实现方法,但在vs里面memcpy和memover都是可以当作一样的,因为内部实现基本一样,但在其他的编译器不行。这个是使用办法和运行结果,而使用这个函数,只需要有一个目的参数,复制的参数和需要复制的大小即可,而我们也可以把它们实现出来,下面我们来说一下这个函数该如何使用吧。注意是字节,不是元素个数。

2024-03-25 21:35:37 858 1

原创 指针详细讲解(下)

如图,我们可以知道函数指针的调用方法,而且,函数指针有一点奇特的是,变量名可以不加解引用符号,就像图中pf3和(*pf3)效果是一样的,因为函数本身也是一个地址也可以是一个变量,所以我们使用的时候可以不加解引用符号。arr+1和&arr[0]+1所在的位置是第二行第一个元素的位置,因为arr+1和&arr[0]+1是跳过一行的地址,而&arr[0][0]+1只是跳过一个元素,而&arr+1还是老样子,直接跳过整一个数组。函数指针类型解析如图,定义也如图,而函数指针指向的也是地址,那如何使用呢?

2024-03-17 13:30:17 1776 1

原创 指针详细讲解(上)

另外对于代码来说,一个字节占八个比特位,代码我们都是以十六进制来编写,所以每一个数字占四个比特位,而0x12345678一共占了32个比特位,也就是4个字节,所以*p1能将n全部变为0,而*pc一个字节只有八个比特位,也就只能把8/32变成0;对于代码的严谨性,assert()宏的断言还是十分有必要的。每一个内存里面有许多的内存单元的比那好,也成为地址,在c语言中也叫指针,而一个内存单元大小取1个字节,不同的变量类型取不同的地址大小,例如:int类型取四个字节,char类型取一个字节,值得注意的是,

2024-03-11 21:15:34 923

原创 printf()和scanf()详细用法

而值得注意的是,除了%c,其他都会自动忽略棋手的空白字符;而占位符%s,规则是,从当前第一个非空白字符开始读起,直到遇到空白字符(即空格、换行符、制表符等)为止。其中 %d作为该语句的占位符可以在后面用符合该占位符的值替换 ,如果不符合,则会报错 ,而占位符也可以一句连用多个。和printf有点类似,都是需要占位符和参数,其中参数中要携带地址,而&符号就是取地址的意思 ,同时也可以一次读多个变量,例如。%[] :在方括号中指定一组匹配的字符(比如 %[0-9] ),遇到不在集合之中的字符,匹配将会。

2024-02-16 13:57:17 1917 1

原创 扫雷(如何实现加讲解)

目录:1、扫雷的游戏规则2、创建游戏菜单3、包含的头文件实现4、创建游戏过程:(1)、初始化扫雷页面(2)、打印扫雷页面(3)、布置雷过程(4)、计算附近雷个数(5)、排查雷个数。

2024-02-05 12:11:20 343

原创 分支循环语句操作符以及其用法

循环类型执行区别适用范围while先判断,后执行适用于大部分先判断条件的语句do while先执行后判断适用先执行语句的范围,比如需要先调用一次外部函数,再执行的语句for先判断,后执行和while一样,但个人觉得比while更方便。

2024-01-27 12:03:16 798

原创 初入编程之路,深入探究未来

首先,能够熟练的掌握编程语言的语法、结构等;除去上课以及看视频,最好能保持有十四小时学习时间,平均每天都有俩个小时动手时间,当然可以周末更长一点,工作日没这么多时间可以稍微减缓一点,但需要每天都有动手的时间,以防生疏。同时,我认为这条编程之路也会充满着趣味性,会指引着我不断探索研究它,从而一步一个脚印走下去。4、多点写代码,不断提升自己的能力,如果没有很好的办法看项目,可以去知乎和csdn看看能不能无偿接单,提升自己实力。而对于就业目标,我也由衷的喜欢我能够成为一名全栈工程师,我也会不断朝着这么目标前进。

2024-01-16 21:12:26 341

空空如也

空空如也

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

TA关注的人

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