自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谁D了我的BUG

Fighting!

  • 博客(28)
  • 收藏
  • 关注

原创 JavaSE之三大特性:封装性

为什么要使用封装?问题:当创建了类的对象以后,如果直接通过“对象.属性”的方式对相应的对象属性赋值的话,可能会出现不满足实际情况的意外(比如:年龄为负数),我们考虑不让对象来直接作用属性,而是通过“对象.方法”的形式,来控制对象对属性的访问。实际情况中,对属性的要求就可以通过方法来体现。封装的定义隐藏类的内部信息,不允许外部程序直接访问,而是通过方法进行操作封装操作步骤第一步:将属性设置...

2019-01-28 17:45:15 140

原创 JavaSE之三大特性:多态性

多态多态:将多个对象调用同一个方法,得到不同结果多态的语法格式:父类类名 引用名称 = new 子类类名();当是多态时,该引用名称只能访问父类中的属性和方法,但是优先访问子类重写以后的方法满足多态的条件:子类必须继承父类子类重写父类方法父类类名 引用名称 = new 子类类名();多态好处减少代码的冗余性多态中的两种类型转换向上转型,也叫做自动类型转换,构成多态...

2019-01-28 17:31:51 236

原创 JavaSE之super关键字

supersuper:表示超类或父类,只能在子类中使用,可以访问父类中的实例变量、实例方法、还可以访问父类的构造方法当子类与父类中有同名的属性时,可以通过"super.此属性"显示的调用父类中声明的属性。若想调用子类的同名的属性"this.属性"如果访问实例变量时,默认前面添加this. ,但是当使用this.访问实例变量时,先在当前类中找该属性,如果没有找到该属性则再去父类中找,如果在子...

2019-01-27 16:50:20 139

原创 JavaSE之重载与重写

方法的重写重写(override):也叫做覆盖,覆写,前提是有子类继承父类,子类继承父类以后,若父类的方法对子类不适用,那么子类可以对父类的方法重写。重写的规则要求子类方法名称必须与父类方法名称一致参数列表一致返回类型一致或者是父类方法返回类型的子类类型(这种情况只存在于引用数据类型中,基本数据类型中不存在父类子类情况)//以下编译会出现错误,因为子类方法的返回值类型为int,父类...

2019-01-27 15:53:16 118

原创 JavaSE之三大特性:继承性

什么是继承?如果多个类中有相同的属性和方法,能否单独编写一个类?–能解决办法将多个类中相同的属性和方法编写在单独一个类中,该类称为父类在子类继承父类,然后在子类中编写独有的属性和方法继承好处好处:减少代码的冗余性(重复性)编写继承代码的步骤第一步:编写父类[修饰符] class 类名{//属性和方法}第二步:编写子类[修饰符] class 子类类名 extends 父...

2019-01-27 14:44:47 219

原创 JavaSE之static关键字

static关键字static关键字可以修饰属性称为静态属性也叫做类的变量在方法区(共享区)中存储,并且所有对象都可以访问与类同生死,也就是说类存在时static修饰的属性就存在,在类加载时初始化。可以使用类名.属性名称,也可以使用引用名称.属性名称注意:当引用名称的值为null时,也可以访问静态属性,不会出现空指针异常类优先于对象,也就是说类的生命周期比较长...

2019-01-26 15:49:07 168

原创 JavaSE之this关键字

this关键字this表示当前这个对象,也就是说当前谁调用这个方法,则这个对象就是谁this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存的java对象内部this关键字可以访问本类中的实例变量当局部变量和成员变量没有同名时,则编写属性名等价于this.属性名,如:id 等价于 this.id当局部变量和成员变量同名时,并且访问成...

2019-01-26 15:14:12 179 1

原创 算法与数据结构之循环队列

为什么静态队列必须是循环队列?静态队列也就是用数组实现的队列,在非空队列中,头指针指向队头元素,尾指针指向队列尾元素的下一个位置,对于非循环队列来说,假设为队列分配的最大空间为6,当尾指针指向第7个元素的位置时,不可再继续插入新的队尾元素,否则会因数组越界而导致程序代码被破坏,而此时又不宜如顺序栈那样,进行存储再分配扩大数组空间。因为队列的实际可用空间并未占满,一个巧妙的方法是将顺序队列臆造为一...

2019-01-25 19:38:18 457

原创 算法与数据结构之链式队列

队列和栈相反,队列是一种先进先出的线性表,简称FIFO结构,它只允许在表的一端进行删除元素,另一端进行插入元素,允许插入的一端称为队尾,允许删除的一端称为队头链式队列的实现#include<stdio.h>#include<malloc.h>#include<stdlib.h>//队列的链式存储结构typedef struct Node{

2019-01-25 18:42:01 173

原创 JavaSE之构造方法

构造方法又被称为构造函数/构造器/Constructor构造方法的语法结构:[修饰符列表] 构造方法名(形式参数列表){构造方法体;}构造方法是一个特殊的方法,构造方法名字必须与类名一致,构造方法必须没有返回类型,也就是不编写返回类型,并且也不能写void,只要写上void,那么这个方法就成为普通方法了。构造方法的作用:创建对象并给实例变量(对象中的属性)赋值,实例变...

2019-01-24 20:09:20 173

原创 算法与数据结构之链式栈

顺序栈和链式栈比较由于栈只在表的一端进行插入和删除的操作,采用顺序存储结构,在入栈和出栈时也不需要移动栈中元素。故顺序栈比链栈的效率要高一些链式栈栈也是线性表,是操作受限的线性表。栈的操作是线性表操作的子集。因此,也可以将线性表的结构作为栈的结构。可把带头结点的线性单链表结构作为链栈的结构,链式结构的实现如下所示#include<stdio.h>#include<ma...

2019-01-24 16:08:43 358

原创 算法与数据结构之顺序栈

栈栈:限定仅在表尾进行插入或删除操作的线性表,表尾称为栈顶,表头称为栈底,不含元素的空表称为空栈。栈又被称为后进先出的线性表(简称LIFO结构)顺序栈栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置。下面为顺序栈的实现,包括操作:初始化栈、销毁栈、置空栈、判断栈空、栈元素个数、获取栈顶元素、入栈、出栈、遍历栈中元素...

2019-01-24 15:58:13 615

原创 JavaSE之成员变量vs局部变量

成员变量 vs 局部变量相同点:1.遵循变量声明的格式:数据类型 变量名=初始化值2.都有作用域不同点:声明的位置不同成员变量:声明在类里,方法外局部变量:声明在方法内,方法的形参部分,代码块内修饰符不同成员变量的修饰符有四个:public private protected 缺省局部变量没有修饰符,与所在方法修饰符相同初始值不同**成员变量:**如果在声明的时候,不显示的...

2019-01-23 19:19:56 149

原创 JavaSE之循环结构

循环概念循环:在java中做重复事情,并且重复的只编写一次循环好处:减少代码的冗余性常用的循环:for循环、while循环、do while循环循环特点:循环条件、循环操作(循环体)for循环语法格式:for(表达式1;表达式2;表达式3){循环体}在for循环中,表达式1,完成变量的初始值,如:int i = 1;在for循环中,表达式2完成循环条件判断,如果条件满足为...

2019-01-20 22:07:23 116 1

原创 JavaSE之选择结构

程序流程控制的三大结构顺序结构:按顺序从main方法开始逐行进行执行选择结构:循环结构:选择结构if选择结构语法格式:if(条件){ 代码块}注意:在Java中,当代码块只有一条语句时,则大括号可以省略,建议初学者编写大括号if else 选择结构语法格式:if(条件){ 代码块1}else{ 代码块2}多重if选择结构当做两种或两种以上的情况时,则可以使...

2019-01-20 14:00:50 132

原创 JavaSE之键盘接收用户输入

第一步:导入包,必须位于java源文件中的第一行import java.util.Scanner;第二步:创建Scanner对象Scanner input = new Scanner(System.in);第三步:友好提示(可省略)System.out.print("请输入:");第四步:键盘输入//接收intint num = input.nextInt(); //注意:...

2019-01-19 11:04:40 384

原创 算法与数据结构之双向循环链表

双向循环链表双向链表每结点有两个指针,一个指向结点的前驱,另一个指向结点的后继,所以从链表的每一个结点出发,都可到达任意一个结点,有利于链表的查找,单链表的找前驱函数,除了有指向当前结点的指针外,还有一个紧跟其,一直指向其前驱的指针。在双向链表中。不需要这个指向前驱的指针。双向循环链表的实现#include<stdio.h>#include<malloc.h>#i...

2019-01-19 09:07:09 144

原创 JavaSE之运算符

算术运算符常见的算数运算符有:+    -    *    /   %(求余数,取模)   ++   –+:当加号两边的操作数都是数值型(注意:字符也是数值型,因为它有对应的ASCLL码值),

2019-01-18 11:22:27 163

原创 JavaSE之类型之间转换

类型转换的分类自动类型转换也叫做隐式类型转换,当取值范围小的类型赋给取值范围大的类型强制类型转换也叫做显式类型转换,当取值范围大的类型赋给取值范围小的类型时,则必须进行强制类型转换,但是进行强制类型转换时可能存在精度丢失,当把一个小数强制转换成一个整数时,此时会丢弃小数后面的位数,不会按照四舍五入取值类型转换6条规则基本数据类型中除了boolean类型以外,剩余7种类型可以进行相互转换...

2019-01-17 13:53:41 121

原创 JavaSE之基本数据类型和引用数据类型

变量变量按声明位置(作用范围)分为:局部变量:在方法中声明的成员变量:在类中声明的变量按数据类型分为:基本数据类型变量:在内存中存放真正的值,比如:int double char…引用数据类型变量:在内存中存放地址(引用),如String基本数据类型又分为四大类,共计8种整数类型:byte short int long整数类型中默认为int整数类型各自取值范围s...

2019-01-17 12:22:36 251

原创 算法与数据结构之单循环链表

单循环链表单链的循环链表结点的存储结构和单链表的存储结构一样,所不同的是:最后一个结点的 next 域指向头结点,而不是“空”。这样,由表尾很容易找到表头。但若链表较长,则由表头找到表尾较费时,因而,单循环链表往往设立尾指针而不是头指针,这在两个链表首尾相连合并成一个链表时非常方便。单循环链表的基本操作实现#include<stdio.h>#include<malloc....

2019-01-16 21:26:41 1008

原创 JavaSE之public class与class区别、注释、输出语句、标识符、关键字、常见转义序列符

public class和class区别一个类前面的public是可有可无的如果一个类使用public修饰,则文件名必须与类名一致如果一个类前面没有使用public修饰,则文件名可以与类名不一致,当编译成功后会生成对应类名的字节码文件一个类中的main方法是可有可无的,如果没有编写main方法,编译成功,但是不能运行在一个源文件中编写任意多个类,当编译成功后会自动生成对应类的个数的字节...

2019-01-15 22:16:45 325

原创 JavaSE之classpath配置

classpath是什么?classpath:字节码文件路径为什么要配置classpath?在DOS窗口下,当在默认情况下(不设置calsspath时),运行某个字节码文件时在当前目录下找,如果找到运行的字节码文件则执行,否则报错,如果想要在任意的路径,任意的盘符下都可以运行字节码文件,就像可以在DOS下的任何地方使用java和javac命令一样,应该怎么办呢?此时就需要我们配置classp...

2019-01-15 11:59:56 746 2

原创 JavaSE之程序的加载、执行和环境变量配置

Java语言包含三大块JavaSE(J2SE):平台标准版,可以做桌面程序开发,它是整个Java技术的基础和核心JavaEE(J2EE):平台企业版,可以做网站Java(J2ME):平台微型版,可以做移动端程序开发Java程序的加载和执行注意:在编译的时候用的javac命令格式如下:javac 源文件名.java在运行的时候用的是java命令格式如下:java 含main函数...

2019-01-06 22:56:13 369

原创 算法与数据结构之静态链表

静态链表结构体的一个成员存放数据,另一个成员(“游标”)存放下一个数的位置(下标),这称为静态链表。输出链表不是按数组的下标顺序输出的,而是由一个指定的位置开始根据游标依次输出的。将所有空闲结点链接形成一个备用链表,数组下标为 0 的单元为备用链表的头结点(这时,链表的头结点就不能再是数组下标为 0 的单元了,需要另外定义)。静态数组实际有 2 个链表,一个链表上链接的是线性表的结点,另一个...

2019-01-05 18:54:55 296

原创 算法与数据结构之不带头结点的单链表

不带头结点的单链表和带头结点的单链表和带有头结点的单链表相比,不带头结点的单链表显得更直观。但不带头结点的单链表在插入和删除第 1 个元素时与插入和删除其它元素时的操作不一样,在创建链表时也不一样,要改变链表头指针的值。而带有头点的单链表无论插入和删除第几个元素,其操作都是统一的。对插入和删除参数传递存在问题,以及对程序运行后出现的乱码存在问题带头结点和不带头结点单链表存在的问题不带头结点...

2019-01-03 15:40:54 1161

原创 算法与数据结构之带头结点和不带头结点单链表存在的问题

带头结点和不带头结点单链表注意的小细节在写不带头结点的单链表中发现了一个问题,这个问题在带头结点的单链表中也存在,那就是值传递的问题。首先来看一下#include<stdio.h>#include<malloc.h>#include<stdlib.h>#def

2019-01-03 15:13:49 3952 1

原创 算法与数据结构之带头结点的单链表

单链表的定义#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct Node{ int data; //数据域 struct

2019-01-01 20:28:15 2737

空空如也

空空如也

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

TA关注的人

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