01 2021 档案

摘要:本文介绍数据字节流DataInputStream、DataOutputStream和标准字节输出流PrintStream 1.数据字节流 数据字节流可以存储数据包括其数据类型,数据字节流的文件无法用记事本打开。 DataOutputStream写数据: package com.dh.io; impo 阅读全文
posted @ 2021-01-28 21:38 deng-hui 阅读(183) 评论(0) 推荐(0)
摘要:本文简要介绍带缓冲的字符流BufferedReader、BufferedWrite和转换流InputStreamReader、OutputStreamWriter。 1.BufferedReader 带缓冲的字符输入流。继承Reader。 其构造方法中的参数是一个Reader,但是Reader是一个 阅读全文
posted @ 2021-01-28 17:24 deng-hui 阅读(163) 评论(0) 推荐(0)
摘要:前面说了文件字节输入流,现在来看看文件字符输入流。 1.FileReader FileReader是文件字符输入流,用于读取硬盘数据到内存,只能处理简单的文本文件。 (1)如何new对象? package com.dh.io; import java.io.FileNotFoundException 阅读全文
posted @ 2021-01-27 23:10 deng-hui 阅读(346) 评论(0) 推荐(0)
摘要:在电脑中实现文件的复制是很简单的,cv操作即可。 但是如何使用Java代码实现一个文件的复制呢?这就需要借助内存了。 有了这张图我们就能很清晰的知道我们需要如何操作了。 创建一个FileInputStream对象 读取源文件数据 创建一个FileOutputStream对象 创建一个目标文件,并写入 阅读全文
posted @ 2021-01-27 17:37 deng-hui 阅读(314) 评论(0) 推荐(0)
摘要:上篇文章中我们介绍了需要掌握的16个流,先来介绍其中最常用的文件流。 1.FileInputStream FileInputStream是文件字节输入流,从硬盘中读数据(read)到内存,并且是万能流,可传输任何类型的数据。 (1)怎么new对象? 一个类可以怎么new对象,取决于它的构造方法,所以 阅读全文
posted @ 2021-01-27 16:39 deng-hui 阅读(907) 评论(0) 推荐(0)
摘要:我们知道数据会在内存和硬盘之间交互,先来看一个图: 对于数据的输入和输出,是参照内存而言的。内存中的数据写入硬盘,即相对于内存是输出(Output),为写(write),而硬盘写入内存,则为输入(Input),为读(read)。因为在数据在管道中传输,相当于发生了数据的流动,即有了对应的输出流(Ou 阅读全文
posted @ 2021-01-27 10:08 deng-hui 阅读(3767) 评论(0) 推荐(0)
摘要:虽然Java中已经有很多已经定义好的异常类了,但是有时候可能不能很好的满足我们的需求,这个时候我们就可以自己书写一个异常类,在程序中抛出了。 自定义一个输入名字异常,当名字为空,或者<5个字符,>20个字符时,则认为是输入异常: 首先我们需要先定义一个异常类:继承Exception类或者Runtim 阅读全文
posted @ 2021-01-25 21:06 deng-hui 阅读(1260) 评论(0) 推荐(0)
摘要:1.什么是异常? 异常很好理解,就是程序运行中出现的不正常的情况。 我们知道除数是不能为0的,现在来模拟一个除数为0的异常: package com.dh.exception; public class Exception01 { public static void main(String[] a 阅读全文
posted @ 2021-01-25 20:37 deng-hui 阅读(237) 评论(0) 推荐(0)
摘要:我们之前说到String是不可变的,并且垃圾回收也不会回收常量池中的数据,所以如果在实际开发中,涉及到频繁的字符串操作的话,会十分的占用方法区的内存。所以,我们有了长度可变的另外两个字符串类:StringBuffer和StringBuilder,它们都是可变的。 原因分析: StringBuffer 阅读全文
posted @ 2021-01-25 16:53 deng-hui 阅读(81) 评论(0) 推荐(0)
摘要:1.构造方法 String类有特别多个构造方法,下述两个我们已经使用过了: new String(); new String("字符串内容"); String类还支持使用byte和char类型的数组来实例化对象: (1)byte [] String(byte[] bytes) byte [] byt 阅读全文
posted @ 2021-01-24 15:32 deng-hui 阅读(146) 评论(0) 推荐(0)
摘要:我们使用Java语言写的第一个程序,就是向世界发出呐喊,在控制台输出了一个“Hello World!”。今天就来聊聊这个用""包裹的字符串。 1.String是什么? String是Java中内置的一个类(java.lang.String),用“”包裹内容,表示字符串。 例:String name 阅读全文
posted @ 2021-01-24 13:31 deng-hui 阅读(279) 评论(0) 推荐(0)
摘要:1.System System类定义了一些和系统相关的属性和方法。 public final class System extends Object System为final修饰的类,不能被继承。 System类中有三个静态变量: static PrintStream err "标准"错误输出流 s 阅读全文
posted @ 2021-01-23 16:04 deng-hui 阅读(465) 评论(0) 推荐(0)
摘要:1.与数学相关的类 (1)Math //Math类不可再被继承 public final class Math extends Object Math类中有两个静态常量:e和pi //自然对数的基数 public static final double E = 2.71828182845904523 阅读全文
posted @ 2021-01-23 11:18 deng-hui 阅读(151) 评论(0) 推荐(0)
摘要:有一些复杂的数据操作使用八种基本数据类型是没有办法做到的,像查看取值范围等。所以为了实现一些复杂的数据操作,Java在8种基本数据类型的基础上,为它们每一个都定义了一个对应的类,称为包装类。 基本数据类型所对应的包装类如下: 基本数据类型 对应的包装类 byte Byte short Short i 阅读全文
posted @ 2021-01-23 09:18 deng-hui 阅读(290) 评论(0) 推荐(0)
摘要:在一个类或者一个方法中定义的类,叫内部类。 1.成员内部类 package com.dh.innerclass; public class OuterClass { //外部类可任意定义属性和方法(无限制) public String name = "outer"; public static in 阅读全文
posted @ 2021-01-22 17:52 deng-hui 阅读(266) 评论(0) 推荐(0)
摘要:1.什么是向下转型? 多态的一种表现,子类引用指向父类对象,称为向下转型。向下转型是强制转换,因为子类可能有自定义的属性和方法,所以父类对象向子类类型转换的时候,需要借助外力,即强制转换。 我们在向上转型的时候,举了一个打印机的例子,因为是同一台打印机,只是打印的条件不同,调用的都是打印方法。但是我 阅读全文
posted @ 2021-01-22 15:53 deng-hui 阅读(8632) 评论(0) 推荐(1)
摘要:instanceof用于判断某个对象是否属于某个类或者接口,若是的话就返回true,不是的话就返回false。 例: Person类: package com.dh.polymorphic; public class Person { } Student类:继承Person类 package com 阅读全文
posted @ 2021-01-22 14:23 deng-hui 阅读(858) 评论(0) 推荐(0)
摘要:1.什么是多态? 可以先举个生活中的例子:打印机,根据条件的不同可以打印出黑白纸张和彩色纸张。 Java中的多态就类似于生活中的打印机的例子,即同一事物,条件不同,产生不同的结果。 那什么叫同一事物呢?在Java中就是同一个对象,一个对象的实际类型是确定的。 如: new Father(); new 阅读全文
posted @ 2021-01-22 13:55 deng-hui 阅读(990) 评论(0) 推荐(1)
摘要:我们的普通类里,只能写具体的方法实现; 抽象类里,可以书写方法的具体实现和没有具体实现的抽象方法(规范); 那有没有什么东西,只有规范呢? 1.什么是接口? 接口是静态常量和抽象方法的集合(都为公有的),接口的本质就是一种规范。 拿生活中的防盗门举例子理解一下接口的作用,门有开门关门,锁有上锁开锁, 阅读全文
posted @ 2021-01-21 23:15 deng-hui 阅读(156) 评论(0) 推荐(0)
摘要:有些类并不能真正的去描述一个对象,只是将子类相似的特点抽象出来,形成了一个类的模板,这种类称为抽象类。用abstract修饰。 1.什么是abstract? abstract的意思是抽象的,用于修饰方法、类。 2.abstract的用法 (1)abstract修饰类 被abstract修饰的类称为抽 阅读全文
posted @ 2021-01-21 23:14 deng-hui 阅读(2619) 评论(0) 推荐(0)
摘要:相信有一双善于观察的眼睛的你一定发现了,我们每次使用对象去.的时候,总是会有很多我们自己没有写过的方法。 就像这些: 我们明明没有写这些,为什么会有呢?这就必须得提到我们的类的鼻祖:Object类了。 1.Object是什么? **所有的类都直接或者间接的继承了Object类。**如果该类继承了除O 阅读全文
posted @ 2021-01-21 15:35 deng-hui 阅读(298) 评论(0) 推荐(0)
摘要:我们知道this的四种用法之一就是代表当前对象的引用,那么在子类继承了父类之后,在子类中使用this代表当前子类对象的引用,那怎么表示父类对象呢?在子类中又如何去使用父类的属性和方法呢? 1.super用来干什么? super用于在子类对象中访问可继承的父类的属性和方法(包含构造方法)。 (1)访问 阅读全文
posted @ 2021-01-21 11:00 deng-hui 阅读(191) 评论(0) 推荐(0)
摘要:final的意思为:最终的,不可变的,是一个状态修饰符。可以用于修饰变量、方法和类。 1.final修饰变量 final修饰的变量为常量。 成员变量:必须在首次声明的时候就赋初始值,赋值有两种办法,第一种是直接=赋值,第二种是通过构造方法赋值,并且不能二次改变其值。 局部变量:可以声明的时候直接=赋 阅读全文
posted @ 2021-01-21 09:52 deng-hui 阅读(843) 评论(0) 推荐(0)
摘要:1.什么是方法的重写? 子类继承父类之后,就拥有了符合权限的父类的属性和方法,但是当父类的方法不符合子类的要求的时候,子类也可以重新的书写自己想要的方法。 所以,方法的重写,也叫方法的覆盖,即子类继承父类的方法后,由于父类的方法不满足子类的需求,子类重新书写该方法。 2.方法重写的条件 前提条件:必 阅读全文
posted @ 2021-01-21 09:51 deng-hui 阅读(4003) 评论(0) 推荐(0)
摘要:现在我们要写一个狗类,也要写一个猫类: package oop1; public class Dog { public String name; public int age; public String color; public void eat(){ System.out.println("吃 阅读全文
posted @ 2021-01-20 15:57 deng-hui 阅读(134) 评论(0) 推荐(0)
摘要:static,意为静态的,是一个状态修饰符。 1.修饰变量 static修饰的变量称为静态变量,可以使用类名.变量名直接调用,并且该变量只存在一份,被所有的实例共享。 (1)类名.变量名调用静态变量: 例: package com.dh.oop; public class StaticField { 阅读全文
posted @ 2021-01-20 11:21 deng-hui 阅读(1291) 评论(0) 推荐(0)
摘要:我们之前都只写了一个类,现在我们写两个类试试看:(Java中一个项目支持书写任意个类) 书写一个Teacher类,在该类中定义属性和方法,并且书写一个Application类,在该类中书写main方法进行测试。 Teacher: package com.dh.oop; public class Te 阅读全文
posted @ 2021-01-20 09:24 deng-hui 阅读(294) 评论(0) 推荐(0)
摘要:1.代表成员变量 我们如何区分开:同名的成员变量和在构造方法中的局部变量呢? 用this。 package com.dh.oop; public class ThisDemo { public String name; public ThisDemo(String name){ //将构造方法的参数 阅读全文
posted @ 2021-01-19 09:24 deng-hui 阅读(1562) 评论(0) 推荐(0)
摘要:1.构造方法是什么? 你有没有想过,为什么我们实例化对象的时候要new 类名()呢? 类中除了main方法和我们自定义的方法,还有一种特殊的方法:构造方法,也被称为构造器,它就是那个类名()。 构造方法是类中一种特殊的方法,它是一个与类同名的方法,并且没有返回值,参数可有可无。 语法:[4个权限修饰 阅读全文
posted @ 2021-01-19 08:22 deng-hui 阅读(4590) 评论(0) 推荐(0)
摘要:你听过这个笑话吗?你有对象吗?没有的话就new一个吧! 但是此对象非彼对象哦~ 1.什么是对象? Java是一门面向对象的语言(OOP),在Java中,有一句话叫:万事万物皆为对象。 我们生活中的每一件东西都可以看作是一个对象,包括我们本身都是一个对象。 这是一种抽象的思想,我们将一件事物提取出特征 阅读全文
posted @ 2021-01-18 22:11 deng-hui 阅读(6386) 评论(1) 推荐(1)
摘要:方法的重载,即在同一个类中,存在方法名相同,但是参数不同的方法。 参数不同的定义: (1)个数不同; (2)类型不同; (3)顺序不同。此处要注意:必须存在不同类型的参数才可以,如果两个都为int的话,就算改变变量的位置,也不叫顺序不同,因为都为int类型。(int a,int b)和(int b, 阅读全文
posted @ 2021-01-18 10:57 deng-hui 阅读(754) 评论(0) 推荐(0)
摘要:在一个方法中可以调用其它的方法:如在A方法中调用B方法: package com.dh.method; public class Method03 { public static void main(String[] args) { a(); } public static void a(){ Sy 阅读全文
posted @ 2021-01-18 09:52 deng-hui 阅读(325) 评论(0) 推荐(0)
摘要:如果后续我们写的代码越来越多,全部都放在main方法中的话,可读性会很不好,有一些代码也要重重复复的写,造成代码量很大... 所以我们可以将一些代码抽取出来,放在自定义的方法中,在main方法中直接或间接的调用它们。 1.什么是方法? 方法是具有一定功能的代码片段。 2.如何定义一个方法? 我们首先 阅读全文
posted @ 2021-01-18 08:46 deng-hui 阅读(1303) 评论(0) 推荐(0)
摘要:假设现在有一个如下的八行八列的二维数组: 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 先 阅读全文
posted @ 2021-01-16 21:56 deng-hui 阅读(112) 评论(0) 推荐(0)
摘要:需求:假设有一组数据:10,11,36,51,98,38,57我们要将其排序。 此篇文章介绍众多排序算法中其中简单经典的一个:冒泡排序。 冒泡排序 冒泡排序的算法思想为:(以下来自百度百科) 重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过 阅读全文
posted @ 2021-01-16 18:38 deng-hui 阅读(164) 评论(0) 推荐(0)
摘要:二维数组 有些时候数据并不是线性的,而是区分行和列的,像围棋盘,当你要保存数据的时候,就需要按照行和列标准的去保存数据,这个时候用一维的数组就不方便了,所以这个时候就可以使用二维数组。 现在又提出一个需求:我要存储一组数据, 1 2 3 4 5 6 7 8 9,然后把它遍历输出数据,然后把5改成10 阅读全文
posted @ 2021-01-16 11:13 deng-hui 阅读(208) 评论(0) 推荐(0)
摘要:如果我们的数据有很多,要一个一个的去定义就很麻烦,Java提供了数组来定义一组的数据。 一维数组 数组是把相同数据类型的数据按照一定的顺序组织起来的一组长度固定的数据。 上述有几个注意点: 相同数据类型、有顺序、长度固定。 数组的使用: 1.声明数组(确定数据类型(支持任意数据类型)和数组名称); 阅读全文
posted @ 2021-01-15 23:05 deng-hui 阅读(160) 评论(0) 推荐(0)
摘要:1.九九乘法表 for循环中是可以再使用for循环的,即双重for循环。 代码如下: package com.dh.control; public class MultiplicationTable { //使用双重for循环打印九九乘法表 public static void main(Strin 阅读全文
posted @ 2021-01-14 15:47 deng-hui 阅读(373) 评论(0) 推荐(0)
摘要:现在有一个需求:打印1-100的数字,每10个换一行。 如果我们直接使用输出语句的话,会打印到崩溃。。。 Java中除了有顺序结构、选择结构,也有循环结构,可以用循环结构来解决这个问题:从定义一个变量一开始为1,每输出一个数,变量就+1,直到变量等于100,就结束。 Java中有三种循环:while 阅读全文
posted @ 2021-01-14 15:19 deng-hui 阅读(1274) 评论(0) 推荐(0)
摘要:我们有时会面临人生的分岔路口,生活中也会有许多大大小小的选择。 程序也是为了提高人们生活质量的,不可能脱离实际生活,所以Java程序中也必须得实现选择结构。 当我们的代码按照书写顺序一句一句执行的时候,此时则为顺序结构。像我们书写的多条输出语句,会一句一句从上到下的按照顺序执行。 选择结构是在具备某 阅读全文
posted @ 2021-01-14 12:29 deng-hui 阅读(670) 评论(0) 推荐(0)
摘要:1.为什么需要包机制? 当我们写的类越来越多的时候,看过去就很会眼花缭乱,而且找一个类的时候也不方便,并且类也不可以重名了。 就像把所有的书都放在一个柜子里,想要去找某本书的时候就会很难找,参考图书馆,就会把图书按照分类放在不同的柜子里,这样不仅更整齐,找书也更快。 Java也有类似的操作 包机制。 阅读全文
posted @ 2021-01-14 10:01 deng-hui 阅读(310) 评论(0) 推荐(0)
摘要:运算符 Java支持的运算符如下: 1.算数运算符 简单的+,-,*,/,%(模运算,取余数)和数学中的意义是一样的 public class OperatorDemo { public static void main(String[] args) { int num1 = 10; int num 阅读全文
posted @ 2021-01-12 15:29 deng-hui 阅读(123) 评论(0) 推荐(0)
摘要:1.数据类型转换 long的数据是要加上后缀L或者l的,但是如果粗心大意忘记了呢? 可以看到是不会报错的,这是因为Java支持数据类型的转换。 那如果将一个long类型的数据赋值给int类型的数据,又会怎么样呢? 可以看到,现在是报错了的。 可以思考一下,long类型的精度是比int类型的要高的,一 阅读全文
posted @ 2021-01-12 12:30 deng-hui 阅读(427) 评论(0) 推荐(0)
摘要:我们书写了一个类之后,就要继续的在类中书写其它的内容(数据)。 我们从小学习语文、数学,也会学习明辨是非等等,Java程序里面的数据也是包含这些类型的。 Java中的数据类型主要分为两种:基本数据类型和引用数据类型。 1.基本数据类型(8种) 整数:默认为int类型 byte 占1个字节 -27 ~ 阅读全文
posted @ 2021-01-11 23:05 deng-hui 阅读(137) 评论(0) 推荐(0)
摘要:1.Java程序结构 Java是面向对象的程序设计语言,主要是以类的形式存在,类是Java程序的最小单位,即所有的执行语句都在类里编写。 在IDEA里new一个名为Hello的Java class,会自动生成如下内容: //最简单的Java程序 //public是一个权限修饰符 public cla 阅读全文
posted @ 2021-01-11 15:11 deng-hui 阅读(135) 评论(0) 推荐(0)
摘要:使用像记事本和notepad++等文本编辑器来编写java代码的话会非常的痛苦!你得一个一个字母的敲,还只能在运行的时候才能发现你程序的错误,极易让你从入门到放弃。。。 还是那句,需求推动发展。 所以Java也就有了诸多的IDE(集成开发环境)工具,像Eclipse,IDEA...... 工欲善其事 阅读全文
posted @ 2021-01-10 12:14 deng-hui 阅读(347) 评论(0) 推荐(0)
摘要:1.JDK是什么? JDK是Java Development Kit的缩写,即Java开发工具包,顾名思义的话不难理解它的意思,我们要做一件事情,首先需要有工具,所以我们需要让Java替我们干活,就得先创造它干活的环境,安装JDK。 JDK是整个Java开发的核心,它包含了Java的运行环境(JVM 阅读全文
posted @ 2021-01-09 20:30 deng-hui 阅读(557) 评论(0) 推荐(0)
摘要:在接触或者学习一个新事物的时候,往往呢,都绕不开几个问题: 它是什么?为什么要有它?它能干什么? 就像人思考自己的生之来源,死之彼岸,以及存在于这世间的意义。 所以,Java是什么呢? 遇事别慌,先问度娘: Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指 阅读全文
posted @ 2021-01-09 14:43 deng-hui 阅读(3205) 评论(0) 推荐(0)
摘要:一、标题 标题的语法格式为:#+空格 几个#为几级标题,支持六级标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 效果如下: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 二、字体 *斜体* **加粗** ***斜体 阅读全文
posted @ 2021-01-07 20:44 deng-hui 阅读(562) 评论(0) 推荐(0)