自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小白学JAVA之二十六——Java新特性

小白学JAVA之二十六——Java新特性一. Java8的新特性1.1 函数式接口函数式接口主要指只包含一个抽象方法的接口,如:java.lang.Runnable、java.util.Comparator接口等。Java8提供@FunctionalInterface注解来定义函数式接口,若定义的接口不符合函数式的规范便会报错。Java8中增加了java.util.function包,该包包含了常用的函数式接口,具体如下:1.2 Lambda 表达式Lambda 表达式是实例化函数式接

2021-04-19 20:46:40 105

原创 小白学JAVA之二十五——常用设计原则和设计模式

小白学JAVA之二十五——常用设计原则和设计模式一. 常用设计原则1.1 软件开发的一般流程需求分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级1.2 常用的设计原则开闭原则(Open Close Principle)对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。里氏代换原则(Liskov Substitution Principle)任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。依赖倒转原则(Dependence Inversion

2021-04-17 17:18:41 109

原创 小白学JAVA之二十四——反射机制

小白学JAVA之二十四——反射机制一. 基本概念通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递的参数来决定,该机制叫做动态编程技术,也就是反射机制。通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制。目前主流的框架底层都是采用反射机制实现的。如:Person p = new Person(); - 表示声明Person类型的引用指向Person类型的对象p.

2021-04-06 19:22:38 132

原创 小白学JAVA之二十三——网络编程

小白学JAVA之二十三——网络编程一. 计算机网络1.1 七层网络模型OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。OSI七层模型和TCP/IP五层模型的划分如下:当发送数据时,需要对发送的内容按照上述七层模型进行层层加包后发送出去。当接收数据时,需要对接收的内容按照上述七层模型相反的次序层层拆包并显示出来。1.2 相关的协议1.2.1 协议的概念计算机在网络中实现通信就必须有一些约定或者规

2021-04-05 14:47:22 93

原创 小白学JAVA之二十二——多线程

小白学JAVA之二十二——多线程一. 一些基本概念1.1 进程进程 :主要指运行在内存中的可执行文件。目前主流的操作系统都支持多进程,为了让操作系统同时可以执行多个任务,但进程是重量级的,也就是新建一个进程会消耗CPU和内存空间等系统资源,因此进程的数量比较局限。1.2 线程为了解决上述问题就提出线程的概念,线程就是进程内部的程序流,也就是说操作系统内部支持多进程的,而每个进程的内部又是支持多线程的,线程是轻量的,新建线程会共享所在进程的系统资源,因此目前主流的开发都是采用多线程。多线程

2021-04-02 20:24:52 84

原创 小白学JAVA之二十一——IO流

小白学JAVA之二十一——IO流一. 基本概念IO就是Input和Output的简写,也就是输入和输出的含义。数据从文件读入到内存中就是数据的输入,又称读操作。数据从内存中写入到文件中就是数据的输出,又称写操作。二. IO流的分类按照读写数据的基本单位不同,分为 字节流 和 字符流。其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。按照读写数据的方向不同,分为 输入流 和 输出流(站

2021-04-01 20:25:46 84

原创 小白学JAVA之二十——File类

小白学JAVA之二十——File类一. File类1.1 基本概念java.io.File类主要用于描述文件或目录路径的抽象表示信息,可以获取文件或目录的特征信息,如:大小等。1.2 常用方法案例一:打印该目录下文件(d:/a.txt)的基本信息,并删除该文件。如果文件不存在则创建该文件。 // 1.构造File类型的对象与d:/a.txt文件关联 File f1 = new File("d:/a.txt"); // 2.若文件存在则获取文件的相关特征信

2021-04-01 15:17:21 95

原创 小白学JAVA之十九——异常机制

小白学JAVA之十九——异常机制一. 基本概念异常就是"不正常"的含义,在Java语言中主要指程序执行中发生的不正常情况。java.lang.Throwable类是Java语言中错误(Error)和异常(Exception)的超类。其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了等。其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决,如:0作为除数等。二. 异常的分类java.lang.Excep

2021-04-01 14:29:04 72

原创 小白学JAVA之十八——泛型

小白学JAVA之十八——泛型一. 基本概念通常情况下集合中可以存放不同类型的对象,是因为将所有对象都看做Object类型放入的,因此从集合中取出元素时也是Object类型,为了表达该元素真实的数据类型,则需要强制类型转换,而强制类型转换可能会引发类型转换异常。为了避免上述错误的发生,从Java5开始增加泛型机制,也就是在集合名称的右侧使用<数据类型>的方式来明确要求该集合中可以存放的元素类型,若放入其它类型的元素则编译报错。泛型只在编译时期有效,在运行时期不区分是什么类型。二. 底

2021-03-24 20:16:09 117

原创 小白学JAVA之十七——集合类库

小白学JAVA之十七——集合类库一. 集合1.1 集合的由来当需要在Java程序中记录单个数据内容时,则声明一个变量。当需要在Java程序中记录多个类型相同的数据内容时,声明一个一维数组。当需要在Java程序中记录多个类型不同的数据内容时,则创建一个对象。当需要在Java程序中记录多个类型相同的对象数据时,创建一个对象数组。当需要在Java程序中记录多个类型不同的对象数据时,则准备一个集合。1.2 集合的架构Java中集合框架顶层框架是:java.util.Collection集合 和

2021-03-24 19:27:59 61

原创 小白学JAVA之十六——可变字符串类和日期相关类

小白学JAVA之十六——可变字符串类和日期相关类一. 可变字符串类1.1 基本概念由于String类描述的字符串内容是个常量不可改变,当需要在Java代码中描述大量类似的字符串时,只能单独申请和存储,此时会造成内存空间的浪费。为了解决上述问题,可以使用java.lang.StringBuilder类和java.lang.StringBuffer类来描述字符序列可以改变的字符串,如:“ab”。StringBuffer类是从jdk1.0开始存在,属于线程安全的类,因此效率比较低。StringBui

2021-03-24 14:48:42 75

原创 小白学JAVA之十三——控制台版简易五子棋游戏

小白学JAVA之十三——控制台版简易五子棋游戏一. 案例编程实现控制台版并支持两人对战的五子棋游戏。(1)绘制棋盘 - 写一个成员方法实现(2)提示黑方和白方分别下棋并重新绘制棋盘 - 写一个成员方法实现。(3)每当一方下棋后判断是否获胜 - 写一个成员方法实现。(4)提示: 采用二维数组来模拟并描述棋盘,棋盘如下:二. 完整代码import java.util.Scanner;public class WuziGame { /** * 编程实现控制台版并支持两人对战

2021-03-23 20:51:07 283

原创 小白学JAVA之十五——String类

小白学JAVA之十五——String类一. String类的概念java.lang.String类用于描述字符串,Java程序中所有的字符串字面值都可以使用该类的对象加以描述,如:“abc”。该类由final关键字修饰,表示该类不能被继承。从jdk1.9开始该类的底层不使用char[]来存储数据,而是改成 byte[]加上编码标记,从而节约了一些空间。该类描述的字符串内容是个常量不可更改,因此可以被共享使用。如:String str1 = “abc”; - 其中"abc"这个字符串是个常量不可

2021-03-23 20:44:42 163

原创 小白学JAVA之十四——常用类

小白学JAVA之十四——常用类一. 常用包java.lang包 - 该包是Java语言的核心包,并且该包中的所有内容由Java虚拟机自动导入。如:System类、String类、…java.util包 - 该包是Java语言的工具包,里面提供了大量工具类以及集合类等。如:Scanner类、Random类、List集合、…java.io包 - 该包是Java语言中的输入输出包,里面提供了大量读写文件相关的类等。如:FileInputStream类、FileOutputStream类、…jav

2021-03-23 20:06:52 123

原创 小白学JAVA之十二——注解

小白学JAVA之十二——注解一. 注解的语法格式访问修饰符@interface 注解名称{ 注解成员;}自定义注解自动继承java.lang.annotation.Annotation接口。通过@注解名称的方式可以修饰包、类、成员方法、成员变量、构造方法、参数、局部变量的声明等。二. 注解的使用方式注解体中只有成员变量没有成员方法,而注解的成员变量以“无形参的方法”形式来声明,其方法名定义了该成员变量的名字,其返回值定义了该成员变量的类型。如果注解只有一个参数成员,建议使用参数名为

2021-03-17 09:30:37 96

原创 小白学JAVA之十——枚举

小白学JAVA之十——枚举一. 枚举的定义使用public static final表示的常量描述较为繁琐,使用enum关键字来定义枚举类型取代常量,枚举类型是从Java5开始增加的一种引用数据类型。枚举值就是当前类的类型,也就是指向本类的对象,默认使用public static final关键字共同修饰,因此采用枚举类型.的方式调用。枚举类可以自定义构造方法,但是构造方法的修饰符必须是private,默认也是私有的。二. 案例分析编程实现所有方向的枚举,所有的方向:向上、向下、向左、向右。

2021-03-16 19:39:02 272

原创 小白学JAVA之九——內部类

小白学JAVA之九——內部类一. 內部类的分类普通内部类-直接将一个类的定义放在另外一个类的类体中。静态内部类-使用static关键字修饰的内部类,隶属于类层级。局部内部类-直接将一个类的定义放在方法体的内部时。匿名内部类-就是指没有名字的内部类。二. 普通內部类1.格式访问修饰符class 外部类的类名{ 访问修饰符class 内部类的类名{ 内部类的类体; }}2.使用方式普通内部类和普通类一样可以定义成员变量、成员方法以及构造方法等。普通内部类和普通类一样可以使

2021-03-16 17:14:14 105

原创 小白学JAVA之八——抽象类与接口

小白学JAVA之八——抽象类与接口一. 抽象类1.抽象方法抽象方法主要指不能具体实现的方法并且使用abstract关键字修饰,也就是没有方法体。具体格式如下:访问权限abstract 返回值类型方法名(形参列表);public abstract void cry();2.抽象类抽象类主要指不能具体实例化的类并且使用abstract关键字修饰,也就是不能创建对象。3.抽象类与抽象方法的关系抽象类中可以有成员变量、构造方法、成员方法;抽象类中可以没有抽象方法,也可以有抽象方法;

2021-03-16 16:37:40 150

原创 小白学JAVA之七——static关键字

小白学JAVA之七——static关键字一. 基本概念使用static关键字修饰成员变量表示静态的含义,此时成员变量由对象层级提升为类层级,也就是整个类只有一份并被所有对象共享,该成员变量随着类的加载准备就绪,与是否创建对象无关。例如:如图所示,创建的person对象中,country是固定不变的,被所有对象共享的。因此我们可以创建一个static方法来保存private成员变量。static关键字修饰的成员可以使用引用.的方式访问,但推荐类名.的方式。二. 使用方式在非静态

2021-03-16 15:03:10 73

原创 小白学JAVA之六——方法与封装

小白学JAVA之六——方法与封装一. 构造方法构造方法名与类名完全相同并且没有返回值类型,连void都不许有。默认构造方法:构造方法名与类名完全相同并且没有返回值类型,连void都不许有。若类中出现了构造方法,则编译器不再提供任何形式的构造方法。使用new关键字创建对象时会自动调用构造方法实现成员变量初始化工作。二. 方法重载方法重载的主要形式体现在:参数的个数不同、参数的类型不同、参数的顺序不同,与返回值类型和形参变量名无关,但建议返回值类型最好相同。方法重载的实际意义在于调

2021-03-16 14:37:48 88

原创 小白学JAVA之五——参数传递

小白学JAVA之五——参数传递一. 方法的传参过程自定义一个求两个数最大值的方法:int max(int ia, int ib) { … … … }通过main方法进行调用:int a = 5; int b=6; int res = m.max(a,b);整个代码的传参过程如下:为main方法中的变量a、b、res分配空间并初始化。调用max方法,为max方法的形参变量ia、ib分配空间。将实参变量的数值赋值到形参变量的内存空间中。max方法运行完毕后返回,形参变量空间释放。mai

2021-03-16 13:57:41 77

原创 小白学JAVA之四——数组

小白学JAVA之四——数组一. 一维数组1.声明方式数据类型[] 数组名称= new 数据类型[数组的长度];2.初始化方式基本类型的数组(数据元素为基本类型)创建后,其元素的初始值:byte、short、char、int、long为0;float和double为0.0;boolean为false。可以在数组声明的同时进行初始化,具体如下:数据类型[] 数组名称= {初始值1, 初始值2, …};3.数组的优缺点可以直接通过下标(或索引)的方式访问指定位置的元素,速度很快。数

2021-03-16 11:48:32 58

原创 小白学JAVA之三——利用循环结构逆序输出任意正整数

小白学JAVA之四——利用循环结构逆序输出任意正整数一. 原理分析以输入的正整数1234为例:因此,可以利用循环结构,每一次执行相同的取余和取整循环体,直至取整的结果为零。代码如下:public static void main(String[] args) { // 1.提示用户输入一个正整数并使用变量记录 System.out.println("请输入一个正整数:"); Scanner sc = new Scanner(System.in); int num = s

2021-03-16 11:19:06 2454

原创 小白学JAVA之二——变量与数据类型

小白学JAVA之二——变量与数据类型一. 标识符的命名法则由数字、字母、下划线以及$等组成,其中数字不能开头。不能使用Java语言的关键字,所谓关键字就是Java语言用于表示特殊含义的单词。区分大小写,长度没有限制但不宜过长。尽量做到见名知意,支持中文但不推荐使用。标识符可以给类/变量/属性/方法/包起名字。二. 数据类型的分类在Java语言中数据类型主要分为两大类:(1)基本数据类型byte、short、int、long、float、double、bool

2021-03-16 10:48:48 70

原创 小白学JAVA之一——开发环境

小白学JAVA之一——开发环境一. 相关概念JDK - 称为Java开发工具包( Java Development Kit)。Java开发人士需要下载和安装JDK,目前的主流版本为JDK11。JRE - 称之为Java SE运行时环境(Java SE Runtime Environment),提供了运行Java应用程序所必须的软件环境等。无论是开发还是运行Java应用都必须安装。javac.exe - 编译器,主要用于将高级Java源代码翻译成字节码文件。java.exe - 解释器,主要

2021-03-16 10:22:47 111

空空如也

空空如也

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

TA关注的人

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