自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 final关键字

final关键字由于继承中有一个方法重写的现象,而有时候我们不想让子类去重写父类的方法.这对这种情况java就给我们提供了一个关键字: finalfinal关键字是最终的意思,可以修饰类,变量,成员方法。final关键字修饰特点修饰类:被修饰类,此类不能被继承修饰方法:被修饰的方法不能被重写,但子类可以继承修饰变量:被修饰的变量不能被重新赋值,因为这个量会变成一个常量,值就不能再次被改变final关键字修饰局部变量基本类型,是值不能被改变引用类型,是地址值不能被改变...

2020-12-12 13:04:08 128

原创 方法重写

方法重写方法重写概述子类中出现了和父类中一模一样的方法声明(方法名,参数列表,返回值类型),也被称为方法覆盖,方法复写。实际运行时,运行的是子类重写过后的这个方法@Override //注解 @Override 这个注解的作用,是用来检测此方法是不是重写父类的方法方法重写的应用当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法。这样,即沿袭了父类的功能,又定义了子类特有的内容。方法重写的注意事项父类中私有方法不能被重写,因为子类不能继承父类的私有方法父类构造

2020-12-12 13:03:40 140

原创 继承

继承和super关键字继承的好处和弊端继承的好处提高了代码的复用性提高了代码的维护性让类与类之间产生了关系,是多态的前提继承的弊端类的耦合性增强了Java中类的继承特点Java只支持单继承(一个子类只能有一个父类,一个父类是可以有多个子类),不支持多继承。有些语言是支持多继承,格式:extends 类1,类2,…Java支持多层继承(继承体系)。Object 是我们Java继承体系当中的顶层父类,所有的类都是直接或间接继承自他。继承的注意事项和什么时候

2020-12-12 13:03:00 153

原创 代码块

代码块代码块概述在Java中,使用{}括起来的代码被称为代码块。代码块分类​ 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。常见代码块的应用局部代码块在方法中出现;限定变量生命周期,及早释放,提高内存利用率构造代码块在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行静态代码块在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。(.cl

2020-12-12 13:02:14 250

原创 Math类的随机数功能

Math类的随机数功能Math类Math类包含用于执行基本数学运算的方法Math类特点由于Math类在java.lang包下,所以不需要导包。成员变量和成员方法,全部被static所修饰,并且他的空参构造被私有了,因此可以直接使用类名调用。获取随机数的方法public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。猜数字小游戏案例需求:猜数字小游戏(数据在1-100之间)获取一个1-100之间的随机数:int nu

2020-12-12 13:01:43 991

原创 static关键字

static关键字static关键字的特点static静态的,可以修饰成员变量,也可以修饰成员方法。修饰成员变量,此变量为共享变量,被这个类的所有对象所共享。如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。被静态所修饰的成员,是随着类的加载而加载,优先于对象存在。被静态所修饰的成员属于类,推荐使用类名调用。当然你可以使用对象名,但是不推荐。静态修饰的内容一般我们称其为:与类相关的,类成员static的内存图解static的注意事项在静态方法中是没有this关键字的静态是

2020-12-04 18:30:27 71

原创 创建一个对象的步骤

创建一个对象的步骤步骤 (1):加载Student.class文件进内存 (2):在栈内存为s开辟空间 (3):在堆内存为学生对象开辟空间 (4):对学生对象的成员变量进行默认初始化 (5):对学生对象的成员变量进行显示初始化 (6):通过构造方法对学生对象的成员变量赋值 (7):学生对象初始化完毕,把对象地址赋值给s变量画图演示画图说明一个对象的创建过程做了哪些事情?Student s = new Student();...

2020-12-04 18:16:54 226

原创 构造方法

构造方法构造方法概述和作用创建对象,给对象中的成员进行初始化构造方法格式特点方法名与类名相同没有返回值类型,连void都没有没有具体的返回值构造方法的重载public class Student { private String name; private int age; public Student(){ System.out.println("空参构造执行了"); } public Student(String name)

2020-12-04 18:16:13 168

原创 this关键字

this关键字为什么要有this当我们的局部变量和成员变量相同的时候,如果我们不使用this关键字,就会导致一个问题:局部变量隐藏了成员变量的问题this关键字特点是当前类的对象引用。简单的记,它就代表当前类的一个对象。谁调用这个方法,那么该方法的内部的this就代表谁this的应用场景解决局部变量隐藏成员变量的问题案例演示public class MyTest { public static void main(String[] args) { Animal a

2020-12-03 23:19:43 108

原创 封装和private关键字

封装封装概述是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装好处隐藏实现细节,提供公共的访问方式提高了代码的复用性提高安全性封装原则将不需要对外提供的内容都隐藏起来。把属性隐藏,提供公共方法对其访问。private关键字private关键字特点是一个权限修饰符可以修饰成员变量和成员方法被其修饰的成员只能在本类中被访问private最常见的应用成员变量用private修饰提供对应的getXxx()和setXxx()方法案例演示public class T

2020-12-03 23:19:11 132

原创 匿名对象

匿名对象什么是匿名对象​ 就是没有名字的对象匿名对象应用场景调用方法,仅仅只调用一次的时候。匿名对象可以作为实际参数传递案例演示public class Dog { String name; int age; public void eat(){ System.out.println("狗吃骨头"); }}public class MyTest { public static void main(String[] args) {

2020-12-03 23:18:38 69

原创 方法的形式参数是类名的时候如何调用

方法的形式参数是类名的时候如何调用Java中参数传递问题基本类型:形式参数的改变不影响实际参数引用类型:形式参数的改变直接影响实际参数方法的参数是类名如果你看到了一个方法的形式参数是一个类 类型(引用类型),这里其实需要的是该类的对象。public class MyTest { public static void main(String[] args) { Teacher teacher = new Teacher(); show(200,

2020-12-03 23:18:07 316

原创 类与对象

类与对象类属性:一个事物的描述信息行为:该事物能做什么定义类其实就是定义类的成员(成员变量和成员方法)成员变量:和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。成员方法:和以前定义方法是一样的,只不过把static去掉。事物类属性成员变量行为成员方法类和对象的概念类:是一组相关的属性和行为的集合对象:是该类事物的具体体现类的使用文件名问题在一个java文件中写两个类:一个基本的类,一个测试类。建议:文件名称和测试类名称一致。

2020-12-03 23:16:43 93

原创 面向对象

面向对象面向对象的思想当需求单一时我们可以一步一步去操作,可当需求的更改、功能的增多, 面对每一个步骤就很麻烦,我们就把这些步骤和功能进行封装,封装时根据不同的功能,把功能相似的封装在一起,进行不同的封装。当我们要用的时候找到对应的类就可以了。面向对象思想的特点是一种更符合我们思想习惯的思想 懒人思想可以将复杂的事情简单化将我们从执行者变成了指挥者 角色发生了转换举例洗衣服:换下脏衣服—盛水—浸泡—手搓—漂清—晾干全自动洗衣机----------- 一键洗衣—烘干面向对象的特征封装

2020-12-03 22:36:15 72

原创 兔子问题(斐波那契数列)

兔子问题(斐波那契数列)有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?public class Tu { public static void main(String[] args) { int[] arr=new int[20]; arr[0]=1; arr[1]=1; for (int i = 2; i < arr.length; i++) {

2020-11-26 16:30:23 143

原创 递归

递归递归即在方法定义中调用方法本身的现象注意事项:要有出口,不然就是死递归。次数不能太多,不然会内存溢出。求5的阶乘循环实现public class Test3 { public static void main(String[] args) { int num=1; for (int i = 1; i <= 5; i++) { num*=i; } System.out.println(num

2020-11-26 16:29:54 84

原创 二维数组

二维数组二维数组其实就是每一个元素为一维数组的数组。格式1数据类型[][] 变量名 = new 数据类型[m][n];m表示这个二维数组有多少个一维数组 必须写上n表示每一个一维数组的元素个数 可以不写举例:int[][] arr = new int[3][2];定义了一个二维数组arr这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2]每个一维数组有2个元素,可以通过arr[m][n]来获取表示获取第m+1个一维数组的第n+1个元素其他格式数据类型 数组

2020-11-26 16:26:24 170

原创 数组

数组​ 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。​ 数组既可以存储基本数据类型,也可以存储引用数据类型。数组格式​ 格式1: 数据类型[] 数组名;​ 格式2: 数据类型 数组名[];举例:int[] a;定义了一个int类型的数组a;int a[];定义了一个int类型的a数组;一般使用第一种定义方式。数组初始化​ Java中的数组必须先初始化,然后才能使用。​ 初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。初始化的分类动态初始化

2020-11-25 23:23:21 103

原创 Java中的内存分配以及栈和堆的区别

Java中的内存分配以及栈和堆的区别Java虚拟机在执行Java程序的过程中会把它管理的内存划分成若干个不同的数据区域栈​ 存放的是局部变量​ 局部变量:在方法定义中或者方法声明上的变量都是局部变量。堆存放的是所有new出来的东西每一个new出来的东西都会为其分配一个地址值。每一个变量都有一个默认的值数据类型值byte,short,int,long0float,double0.0char‘\u0000’booleanfalse引

2020-11-25 23:18:32 81

原创 Java面向对象--package,import

包(package关键字)包的概述:就是文件夹包的作用用来解决同一个路径下不能存在同名文件的问题(分类管理)定义包的格式​ package 包名;​ 多级包用.分开即可定义包的注意事项package语句必须是程序的第一条可执行的代码package语句在一个java文件中只能有一个如果没有package,默认表示无包名导包(import关键字)导包的概述​ 不同包下的...

2019-10-24 00:11:39 357

原创 Java面向对象--参数传递与返回值

参数传递类名作为形式参数如果你以后看到一个方法的形参要一个类 类型你就传一个该类对象抽象类名作为形式参数如果你以后看到一个方法的形参要一个 抽象类 类型,你就传一个该类的子类对象接口名作为形式参数如果你以后看到一个方法的形参要一个 接口 类型 你就传一个该接口的子类对象类名作为返回值类型如果你以后看到一个方法的返回值类型要一个类 类型,你返回一个该类对象抽象类名作为返回值...

2019-10-24 00:11:03 715

原创 Java面向对象--this,super,方法重写,final

this和super的区别和应用this和super的区别this 代表的是本类对象的引用super代表的是父类存储空间的标识(可以理解成父类的引用,可以操作父类的成员)this和super的使用调用成员变量this.成员变量 调用本类的成员变量super.成员变量 调用父类的成员变量调用构造方法this(…) 调用本类的构造方法super(…) 调用父类的构造方法调用成...

2019-10-24 00:09:59 118

原创 Java面向对象--多态,抽象类,接口

多态多态的概述某一个事物,在不同时刻表现出的不同状态。多态前提要有继承关系。要有方法重写。其实没有也是可以的,但是如果没有这个就没有意义。要有父类引用指向子类对象。父 f= new 子();例:class a { public static void main(String[] args) { //旧方法 Cat cat ...

2019-10-24 00:09:13 149

原创 Java面向对象--代码块,继承

代码块代码块概述在Java中,使用{}括起来的代码被称为代码块。代码块分类根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。常见代码块的应用局部代码块在方法中出现;限定变量生命周期,及早释放,提高内存利用率构造代码块在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行静态代码块在类中方法...

2019-10-24 00:08:36 114

原创 Java面向对象--构造方法,成员变量,static

构造方法概述和作用​ 创建对象,给对象中的成员进行初始化构造方法格式特点​ 方法名与类名相同​ b:没有返回值类型,连void都没有​ c:没有具体的返回值构造方法注意事项​ a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。​ b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。​ 注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己...

2019-10-17 23:04:23 154

原创 Java面向对象---private,this

封装封装概述​ 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装好处​ 隐藏实现细节,提供公共的访问方式​ 提高了代码的复用性​ 提高安全性。封装原则​ 将不需要对外提供的内容都隐藏起来。​ 把属性隐藏,提供公共方法对其访问。private关键字特点是一个权限修饰符可以修饰成员变量和成员方法被其修饰的成员只能在本类中被访问private最常见的应用:把...

2019-10-17 23:00:19 176

原创 Java面向对象---类,对象

面向对象面向过程思想概述​ 我们来回想一下,这几天我们完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现。​ 一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。​ 在上面的每一个具体步骤中我们都是参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。​ 那么什么是面向过程开发呢? 面向过程开发,...

2019-10-17 22:52:21 252

原创 Java---方法

方法为什么要有方法假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程...

2019-10-17 22:50:23 105

原创 Java_递归

递归递归概述:方法定义中调用方法本身的现象递归注意事项​ 要有出口,否则就是死递归​ 次数不能太多,否则就内存溢出案例演示求5的阶乘循环实现递归实现递归解决(5!)问题的图解及思想递归实现求5的阶乘的内存图兔子问题(斐波那契数列)​ 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多...

2019-10-10 17:31:20 107

原创 数组---二维数组

二维数组二维数组其实就是每一个元素为一维数组的数组。二维数组格式1数据类型[][] 变量名 = new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 必须写上 n表示每一个一维数组的元素个数 可选 举例: int[][] arr = new int[3][2]; 定义了一个二维数组arr 这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2...

2019-10-10 17:29:38 631

原创 数组---一维数组

数组数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型一维数组格式:​ 格式1: 数据类型[] 数组名;​ 格式2: 数据类型 数组名[];举例:​ int[] a; 定义了一个int类型的数组a;​ int a[]; 定义了一个int类型的a数组;​ 一般使用第一种定义方式。数组的初始化​ 初始化就是为数组中...

2019-10-10 17:29:12 400

原创 选择结构语句—if,switch

流程控制语句流程控制语句的分类顺序结构选择结构循环结构顺序结构语句是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在后面的后执行执行流程:​ 从上往下,依次执行。选择结构语句选择结构的分类if语句switch语句选择结构if语句if语句的格式1 if(比较表达式...

2019-10-10 17:28:37 245

原创 循环结构语句—for,while,do while,死循环

循环结构语句for语句循环结构for语句的格式:​ for(初始化表达式语句;判断条件语句;控制条件语句) {​ 循环体语句;​ }执行流程:​ a:执行初始化表达式语句​ b:执行判断条件语句,看其返回值是true还是false​ 如果是true,就继续执行​ 如果是false,就结束循环​ c:执行循环体语句;​ d:执行控制条件语句​ e:回到B继续。初始化...

2019-10-10 01:56:22 1203

原创 控制跳转语句—break,continue,return

控制跳转语句控制跳转语句break语句break的使用场景​ (1):在选择结构switch语句中​ (2):在循环语句中​ 注意:离开使用场景的存在是没有意义的作用​ a:退出单层循环​ b:退出多层循环(几乎不使用)​ 要想实现这个效果,就必须知道一个东西;带标签的语句;​ 格式:标签名:语句控制跳转语句continue语句continue的使用场景​ (1):在...

2019-10-10 01:55:26 175

原创 逻辑运算符及基本用法

逻辑运算符有​ &(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)注意事项:逻辑运算符一般用于连接boolean类型的表达式或者值。在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,应该写成 x>3 & x<6 。表达式:就是用运算符把常量或者变量连接起来的符...

2019-10-10 01:54:01 1517

原创 Java中如何实现键盘录入—scanner

实现键盘录入格式导包​ 格式:​ import java.util.Scanner;​ 位置:​ 在class上面。创建键盘录入对象​ 格式:​ Scanner sc = new Scanner(System.in);通过对象获取数据​ 格式:​ int x = sc.nextInt();例:使用三元运算符比较两个数是否相等(数据来自于键盘录入)...

2019-10-10 01:52:39 237

原创 Java语言基础02

常量变量与进制常量的概述和使用什么是常量就是在程序的执行过程中其值不发生改变的量。Java中常量的分类字面值常量自定义常量(面向对象部分讲解)字面值常量的分类字符串常量 用双引号括起来的内容 “HelloWorld” ,“Hello”整数常量 所有整数 12,23小数常量 所有小数 12....

2019-09-26 00:25:37 122

原创 Java语言基础01

DOS如何打开DOS控制台1. xp下如何打开DOS控制台? a:开始--程序--附件--命令提示符 b:开始--运行--cmd--回车 c:win+r--cmd--回车 d win+r---cmd---regedit 打开注册表2. win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--c...

2019-09-26 00:24:26 112

空空如也

空空如也

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

TA关注的人

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