自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA基础——访问修饰符(public,protected,default,private)

Java中存在很多修饰符,包括访问修饰符和非访问修饰符。我们在这里重点讲一下访问修饰符。访问修饰符包括public,protected,default,private。public:: 对所有类可见。使用对象:类、接口、变量(成员变量)、方法。protected:对同一包内的类和子类可见。使用对象:变量(成员变量),方法。(不能够修饰类和接口)。default(默认,什么都不写):对同一包内的类可见,不使用任何修饰符时默认为default。使用对象:类,接口,方法。...

2020-09-18 18:03:05 580

原创 JAVA基础——static和final关键字详解

文章目录staticfinalstatic final在Java语言中有两个非常重要的关键字,static和final。staticstatic可以修饰:属性,方法,代码段,内部类(静态内部类)。static不能修饰类。static修饰的属性的初始化在编译期(类加载的时候),初始化后能改变。static修饰的属性在方法区当中,会先于栈内存和堆内存加载。static修饰的属性所有对象都只有一个值。static修饰的属性强调它们只有一个。static修饰的属性、方法、代码段跟该类的具体对象无关,

2020-09-17 22:11:18 1230

原创 JAVA基础——向上转型和向下转型

文章目录向上转型向下转型Java中,存在向上转型和向下转型。向上转型子类转换为父类称为向上转型。子类转换为父类属于小范围转换成大范围,属于自动类型转换。例:public class Test{ public static void main(String[] args) { Animal cat = new Cat(); //Cat类转换为Animal类,向上转型 Animal dog = new Dog(); //Dog类转换为Animal类,向上转

2020-09-17 21:23:01 703

原创 JAVA基础——this和super关键字详解

文章目录thissuperthis和super的异同以及注意事项在Java中,类继承时会经常用到this和super关键字,在这里做一下简单的总结,如果有错误希望大家指正。thisthis是自身的一个对象,代表对象本身,可以看作:指向对象本身的一个指针。一般来讲,this有三种用法。1.引用当前对象这个没什么好说的,this本身就可以看作对象本身的一个指针。放在类里表示类的本身的对象,可以使用类中的属性和方法。2.当方法的形参和成员名字相同时加以区分在Java中,如果一个方法的形参和方法里面

2020-09-16 23:57:43 512

原创 JAVA基础——多态是如何实现的(类的继承和接口的实现,方法的重载和重写,父类引用子类对象,静态多态和动态多态)

众所周知,多态是面向对象语言中非常重要的一部分,多态在Java中究竟是如何实现的呢?什么是多态多态顾名思义,就是同一操作作用于不同对象,有不同的解释,实现不同的效果,产生不同的执行结果。多态的必要条件要想实现多态,必须要满足三个必要条件1.有类的继承关系或者实现接口2.子类要重写父类的方法3.父类的引用指向子类的对象类的继承个接口的实现类的继承...

2020-09-12 01:17:20 1927

原创 JAVA问题分析——深入理解内部类(内部类为什么能够直接访问外部类的属性和方法)

我们知道,写在类里面的类叫做内部类,内部类为什么能够直接访问外部类的属性和方法呢?内部类的基础知识可以参见我的上一篇博客:特殊的方法和类先看一下代码:public class Test { private int a; public class OutClass{ //定义一个成员内部类 private int b; }}经过编译之后,我们发现生成了两个class文件。内部类OutClass也单独生成了一个字节码文件。内部类会单独生成一个字节码文件

2020-09-05 22:22:25 717

原创 JAVA基础——代码块详解(普通代码块,构造代码块,静态代码块,同步代码块)

文章目录普通代码块构造代码块静态代码块同步代码块四者之间的作用和区别Java语言中,代码块一般可分为四类:普通代码块,构造代码块,静态代码块,同步代码块。普通代码块普通代码块就是我们平常所说的方法中的方法体。构造代码块构造代码块是由来个大括号包裹起来的代码块,其语法结构如下:{……………………}静态代码块静态代码块是由static{}包裹起来的代码片段,其语法结构如法:staic{……………………}同步代码块同步代码块是由synchronized(){}包裹起来的代码块

2020-09-05 21:05:50 1191

原创 JAVA基础——特殊的类和方法(抽象类,抽象方法,内部类 )

文章目录抽象类抽象方法内部类成员内部类局部内部类匿名内部类静态内部类Java中,有一些特殊的方法和类。抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。类和类之间有共同的特征,将这些特征进一步提取出来,就形成了抽象类。在Java语言中使用abstract class来定义抽象类。其语法结构为:修饰符 abstract class 类名{…………}抽象类不能实例化对象,

2020-09-04 00:38:53 574

原创 JAVA基础——类的基本结构

文章目录类的基本结构属性方法构造方法Java中类是一个抽象的模板,它描述一类对象的行为和状态。类的基本结构属性:对象数据的描述方法:对象的行为构造方法:用于实例化对象内部类:在类中声明的类(inner class)块:分静态代码块与实例语句块属性属性可理解为对象的数据。类中的属性又称为成员变量。声明方式:(修饰符)数据类型 属性名(=初值)如:private int a = 1;定义一个属性名为a的,初值为1的,私有化成员变量。修饰符和初值可以省略,如果省略,默认的修饰符为de

2020-09-03 21:35:38 1136

原创 JAVA基础——面向对象与面向过程

文章目录面向对象面向过程优劣对比面向对象三大基本特征继承封装多态面向对象的五大基本原则单一职责原则(Single-Responsibility Principle)开放封闭原则(Open-Closed principle)Liskov替换原则(Liskov-Substitution Principle)依赖倒置原则(Dependecy-Inversion Principle)接口隔离原则(Interface-Segregation Principle)Java是完全面向对象的语言,要想学习好Java,我们

2020-09-02 13:19:20 289

原创 JAVA基础——break,continue,return详解

Java中break,continue,return都可以作用于循环体,下面来比较一下它们3个的不同之处:breakbreak: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。例:public class Test { public static void main(String[] args) { for (int i = 0;i < 10;

2020-08-31 02:13:06 760

原创 JAVA基础——循环语句详解(for,foreach,while,do while)

文章目录forJava中循环语句包括:for,foreach,while,do while。forfor使用的场景是:知道循环次数的情况下使用for循环。for循环的格式为:for(初始化表达式;条件表达式;更新表达式){循环体}初始化表达式最先执行,并且在整个循环中只执行一次。条件表达式的结果必须是一个布尔类型。当条件表达式返回结果为false时,循环结束。例:...

2020-08-31 01:55:52 1166

原创 JAVA基础——条件语句详解(if,switch case)

文章目录ifswitch caseJava中的条件语句包括if语句和switch case语句。ifif作为条件语句,其语法为:if(表达式1){表达式2;}其中表达式1必须返回布尔类型,如果为true就执行表达式2。if后面可以跟else或者if else。else if表示多条件判断,跟在if后面:else if(表达式1){表达式2;}和if一样,表达式1必须返回布尔类型,如果为true就执行表达式2。else跟在if或者else if的后面表示不成立的情况,如果表达式1的

2020-08-31 00:53:13 1870

原创 JAVA问题分析——i = i++

在Java中,++属于自加运算符,如果++放在变量后面,先进行赋值或输出操作,再进行自加。根据以上结论,我们来分析一下以下代码的返回结果:public class Test { public static void main(String[] args) { int i = 1; i = i++; System.out.println(i); }}很多人认为输出结果应该为2,但是最后的输出结果为1:想直到这是为什么,首先我们应该来了

2020-08-30 21:06:22 453

原创 JAVA基础——Java运算符详解

文章目录算术运算符关系运算符逻辑运算符赋值运算符条件运算符(三目运算符)在Java中,常见的运算符可以分为一下5种:算术运算符,关系运算符,逻辑运算符,赋值运算符,条件运算符(三目运算符)。算术运算符算术运算符包括:+,-,*,/,% ,++, –基本的+,-,*,/用来做基本的加减乘除运算。%取余运算符用来计算余数,如5%2=1(5除以2的余数位1)。++,–为自加运算符和自减运算符。自加和自减运算符分为两种,一种在变量前面,一种在变量后面。在变量前面先做自加(自减),后赋值或输出,在

2020-08-29 16:19:44 542

原创 JAVA基础——基本数据类型间的转换及运算

文章目录自动类型转换强制类型转换byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算多种数据类型混合运算,各自先转换成容量最大的那一种再做运算在Java中,基本数据类型包括byte,short,int,long,float,double,char,boolean。除了boolean类型不能参与运算外,其它的基本数据类型之间可以相互转换及运算。自动类型转换小容量向大容量转换称为自动类型转换,系统会自动进行转换,比如:long a = 12345;系统自动将int类型转

2020-08-29 14:16:53 541

原创 JAVA基础——BigDecimal基本用法

我们都知道,float和double在计算过程中会存在误差,如何避免使用浮点数失去精度?这里可以使用Java的Java.math包中提供的API类——BigDecimal。BigDecimal是一个类,BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。如何创建BigDecimal对象创建BigDecimal有以下两种方式:import java.math.BigDecim

2020-08-29 13:28:14 1099

原创 JAVA问题分析——浮点型为什么会存在误差

文章目录小数位用二进制表示二进制科学计数法表示浮点型的内存结构浮点型取值范围和精度总结在编程中,浮点型(float,double)通常用来表示小数,我们经常被警告,浮点型存在精度问题,不能用来比较大小,不能用来表示金额,为什么会存在误差呢?首先,我们来了解一下浮点型在计算机内存中是如何存储的。小数位用二进制表示要表示浮点型,首先要让小数位也用二进制表示。我们知道二进制表示整数时,最低位代表2的0次方,往高位依次是2的1次方,2次方,3次方……那么对应的,二进制数小数点后面,最高位则是2的-1次方,-2

2020-08-29 12:23:01 1250

原创 JAVA问题分析——byte取值范围为何为-128——127

文章目录机器数和真值原码、反码、补码原码反码补码为什么要使用反码和补码总结在Java中,byte数据类型在内存中占1个字节,取值范围-128——127,为什么会是这个值?首先,我们需要了解一下计算机中数据是如何存储的。机器数和真值在计算机,数据是以二进制的方式存储的,一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。如:十进制+8,计算机字长为8位,转换为机器数就是00001000,十进制-8,转换为机器数就是100

2020-08-29 10:12:34 1133 9

原创 JAVA基础——JAVA数据类型

Java数

2020-08-23 09:50:47 273

原创 JAVA基础——JDK,JRE,JVM

JAVA基础——JDK,JRE,JVM什么是JDKJDK(Java Development Toolkit):Java开发工具包,它包含了Java的运行环境和Java开发工具,如javac.exe编译工具,java.exe运行工具等等。JDK里面也包含了Java的基础类库,如rt.jar。JDK目前有三个版本:J2SE(标准版),J2EE(企业版),J2ME(嵌入式,移动设备开发)。什么是JREJRE(Java Runtime Environment):Java运行环境,所有的Java文件必须在J

2020-08-22 22:20:51 221

空空如也

空空如也

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

TA关注的人

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