自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用缓冲流实现复制视频、图片

使用缓冲流实现复制视频public class CopyVido { public static void main(String[] args) throws IOException { long begin = System.currentTimeMillis(); //byteArrayCopy();//3306 buffStreamCopy();//1167 long end = System.currentTimeMil

2021-01-14 15:46:29 430

原创 字节缓冲流(处理流)

BufferedInputStream 内部有一个缓冲区数组当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次有多个字节BufferedOutputStream 提供输出效率//创建一个输出缓冲流 此处采用匿名对象创建一个OutputStream对象作为缓冲流的参数BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("buff.txt"));// 默认的缓冲区大小8192

2021-01-14 15:44:40 240

原创 IO流

IO流的分类:流向:输入流 输出流单位: 字节流 字符流字节输入流 字节输出流 字符输入流 字符输出流InputStream OutputStream使用字节输出流来实现写出数据;FileOutputStream换行写 追加写 异常处理使用字节输入流来读数据:FileInputStream实现文件的复制/* 将D:\\IO\os\\窗里窗外.txt文档复制到当前module中 */public class FileCopy { pub

2021-01-14 15:42:34 114 1

原创 IO流 字节流读写 使用字节输入流读数据

IO流IO :输入输出流(input/output)流: 是文件数据在计算机中传输的一种形式常见的操作:文件的上传 下载 文件的复制IO流中的输入输出 是相对于程序而言:将外部存储设备中的文件读入到程序中,则为输入 ;将程序中的数据 输入出到外部存储设备 称为输出IO流的分类:按照数据的流向: 输入流(读) 输出流(写)按照数据的单位: 字节流(bit) 字符流(char)IO流的基本:字节输入流 字节输出流 字符输入流 字符输出流字节流和字符流的使用场景:字符

2021-01-13 13:09:21 251

原创 file 创建file对象 路径分隔符 File的常用方法

1.创建file对象File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。File(String parent, String child)从父路径名字符串和子路径名字符串创建新的 File实例。File(File parent, String child)从父抽象路径名和子路径名字符串创建新的 File实例。public static void main(String[] args) { //File(String pathna

2021-01-13 13:04:26 964 3

原创 Map接口的常见实现HashMap LinkedHashMap TreeMap HashTable

MapMap的体系结构Map 的典型实现:HashMap LinkedHashMap TreeMap HashTable (Properties)Map的特点:1 与Collection并列的集合2 用于保存具有映射关系的对象 (映射对象以键值对的形式存在 key–value)3 不能包含重复的键; 每个键可以映射到最多一个值4 键不能重复 值可重复5 元素的存取是无序的数学中的映射 一个x对应一个y 一个y 可以被多个x映射Map接口的常用方法添加 删除

2021-01-07 22:54:16 201

原创 Map集合的遍历

Map集合的遍历方式一 :获取Map集合中的键集 在使用map所提供的通过键获取值的方式来进行遍历所有的元素public static void main(String[] args) { //创建Map集合 Map<String,String> map = new HashMap<>(); map.put("郭靖","黄蓉"); map.put("杨过","小龙女"); map.put("张无忌","赵敏"); //遍历方式一:获取

2021-01-07 22:54:00 121 1

原创 泛型 泛型类 泛型方法 泛型接口 泛型通配符

泛型是 jdk1.5引入的一个新特性,提供编译期类型安全检测机制。该机制允许在编译时检测。检测存入集合中的类是是否合法,通过参数化类型,将数据类型作为一个参数来引入。当提到参数的时候,需要想到参数有形参和实参泛型:参数化类型 将类型由原来的具体的类型参数化,在使用是传入具体的类型。泛型可以用在类上(泛型类),接口(泛型接口),方法(泛型方法)上泛型的定义格式:<类型>:指定类型的格式<类型1,类型2,…> 多类型的格式泛型的使用:在使用时传入具体的类型 此处需要注意

2021-01-07 22:42:24 164

原创 Set接口的常见实现:HashSet TreeSet LinkedHashSet

Set特点:元素是不能重复的 (只能有一个null 判断元素是否重复的标准 equals)元素是无序的Set接口的常用方法:使用同CollectionSet接口的常见实现:HashSet TreeSet LinkedHashSetpublic static void main(String[] args) { //创建一个Set集合 Set set = new HashSet(); //存入元素 set.add("java"); set.ad

2021-01-04 22:34:19 207 2

原创 List接口的常见实现ArrayList Vector LinkedList

List接口的典型实现ArrayList可调整大小的数组的实现List接口。 实现所有可选列表操作,并允许所有元素,包括null 。 除了实现List 接口之外,该类还提供了一些方法来操纵内部使用的存储列表的数组的大小。 (这个类是大致相当于Vector,不同之处在于它是不同步的)。VectorVector类实现了可扩展的对象数组 他是同步的LinkedList双链表实现 并允许所有元素(包括null ) 此实现不同步数据结构:指的是数据在计算机中存储的结构及存储的方式.结构1 :

2020-12-30 11:10:56 83

原创 集合collection、list

集合集合的作用:就是用来存储数据。变量 数组数组的优缺点:优点:1 可以存储多个同类型的元素2 存储地址连续缺点:1 初始化之后长度不可变2 只能存储同种类型的元素3 数组存储的元素是有限的从操作的角度来说:数组的 添加 和删除效率低 查找的效率比较高。12 23 34 45 30 25 面向对象思想编程的核心是什么?1 类的设计2 对象的创建以及对象的相互调用集合的特点:1 长度不限2 只可以存储对象3 元素可以是有序或无序4 元素可以是单列也可是有映射关系

2020-12-29 16:05:45 145 1

原创 throw和throws的区别

throw和throws的区别1 位置:throws用在方法的声明上 throw在方法体2 抛出类型:throws抛出的是 异常的类型 throw抛出的是异常对象3 数量:throws可以抛出多个异常 throw只能抛出 一个异常对象什么时候抓是么时候抛?捕获异常一般都在我们可以自己处理 并且处理之后不会再次产生新的异常时 才捕获处理。如果 不能完全处理 异常 则将异常抛出给下一个方法的调用者 让其来做出相应的处理,直到最后抛给jvm...

2020-12-24 16:29:09 165 1

原创 异常--定义、体系结构、处理、自定义异常

异常的定义异常就是程序在编译或运行期间 所产生的一种不正常的结果。异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。在 Java 的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。所谓异常处理,就是指程序在出现问题时依然可以正确的执行完。Java中的 异常的体系结构ThrowableError(错误) 一个Error是的子类Throwable表示严重的问题,合理的应

2020-12-24 16:27:12 221 1

原创 Calendar

Calendarpublic abstract class Calendar extends Objectimplements Serializable, Cloneable, Comparable所述Calendar类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法calendar fields如YEAR , MONTH , DAY_OF_MONTH , HOUR ,等等,以及用于操纵该日历字段,如获取的日期下个星期。 时间上的瞬间可以用毫秒值表示,该值是从1970年1月1日00:00 0

2020-12-24 16:18:58 128 3

原创 时间日期类

时间日期类Date类(应用)Date 代表了一个特定的时间,精确到毫秒对于Date类 使用的是java.util包下的 Date表示特定的时间。在JDK 1.1之前, Date有两个附加功能。 它允许将日期解释为年,月,日,小时,分钟和第二个值。 它还允许格式化和解析日期字符串。 不幸的是,这些功能的API不适合国际化。 从JDK 1.1开始, Calendar类应该用于在日期和时间字段之间进行转换,并且DateFormat类应用于格式化和解析日期字符串。 在相应的方法Date被弃用。时间

2020-12-24 16:18:02 107 1

原创 内部类

成员内部类:1 在类的声明上可以使用访问权限修饰符2可以在内部类中直接 使用外部类的成员3在其他类中如果要使用成员内部类 需要创建内部类的对象内部类 引用名称 = new 外部类.new 内部类4 在成员内部类中不能使用static局部内部类在成员方法的内部 创建一个类在创建局部内部类的时候 不能使用访问修饰符对于局部内部类 只能在所在的方法内部去使用 在方法中使用的时候 也需要创建局部内部类的 对象在局部内部类中也可以使用外部类的成员内部类在开发过程中 使用一般以匿名内部

2020-12-24 16:17:17 880 3

原创 内部类、时间日期类、Calendar

内部类成员内部类:1 在类的声明上可以使用访问权限修饰符2可以在内部类中直接 使用外部类的成员3在其他类中如果要使用成员内部类 需要创建内部类的对象内部类 引用名称 = new 外部类.new 内部类4 在成员内部类中不能使用static局部内部类在成员方法的内部 创建一个类在创建局部内部类的时候 不能使用访问修饰符对于局部内部类 只能在所在的方法内部去使用 在方法中使用的时候 也需要创建局部内部类的 对象在局部内部类中也可以使用外部类的成员内部类在开发过程中 使用一般以

2020-12-24 16:16:18 93 1

原创 字符串中数据排序

需求:有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91”思路:1 将字符串按照空格分割成一个字符串数组2 将其中的每一个元素转换为数字3 将转换后的数字保存到一个整型数组中4 使用Arrays提供的 排序方法或者使用我们自己写的排序方法对数组进行排序public class StrChangInt { public static void main(String[] args) { String str = "9

2020-12-22 12:10:01 338

原创 int和String类型的相互转换

int和String类型的相互转换将一个int类型转化为String类型方式一:将一个基本类型的数据和字符串拼接 就可以实现将基本类型转换为StringString s = 3 + "";System.out.println(s + 1);//31方式二:使用包装类提供的toString方法package cn.lanqiao.wrapper;public class IntegerDemo { public static void main(String[] args) {

2020-12-22 12:09:01 8304 4

原创 包装类

1基本类型包装类(记忆)Java 是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到 Object[ ]数组或集合中的操作等等。为了解决这个不足,Java 在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。针对八种基本数据类型定义相应的引用类型—包装类(封装类)有了类的特点,就可以调用类中的方法,

2020-12-22 12:07:16 89

原创 Math、Random、System

Math1、Math类概述Math 包含执行基本数字运算的方法2、Math中方法的调用方式Math类中无构造方法,但内部的方法都是静态的,则可以通过 类名.进行调用3、Math类的常用方法2.Random 类Math 类中虽然为我们提供了产生随机数的方法 Math.random(),但是通常我们需要的随机数范围并不是[0, 1)之间的 double 类型的数据,这就需要对其进行一些复杂的运算。如果使用 Math.random()计算过于复杂的话,我们可以使用例外一种方式得到随机数,即Ran.

2020-12-22 12:03:14 69

原创 抽象类、接口、内部类、匿名内部类

抽象类抽象类本质就是一种特殊的类抽象类和普通类的 区别:1 将普通类使用abstract修饰 之后的 类就是抽象类2抽象类不能被实例化3 抽象类是 用来被继承的4 抽象类中可以存在抽象方法5 抽象类不一定存在抽象方法 但是存在抽象方法 的类 一定是抽象类抽象方法:就是使用abstract修饰 没有方法体的方法接口接口是一种规范接口又是一种特殊的抽象类接口的修饰符 interface 接口是用来被实现(implements)的接口中只有 类常量(全局常量)和抽象方法接口特点

2020-12-22 12:02:01 390

原创 多态、抽象类、接口、方法的重载重写

多态什么是多态 同一个对象,在不同时刻表现出来的不同形态. 我们可以说猫是猫:猫 cat = new 猫(); 我们也可以说猫是动物:动物 animal = new 猫(); 这里猫在不同的时刻表现出来了不同的形态,这就是多态多态的前提 要有继承/实现关系 要有方法的重写 要有父类引用指向子类对象多态的特点: 需要有继承关系 方法重写 父类引用执行子类对象 public static void main(String[] args) {//

2020-12-20 22:00:41 348

原创 面向对象3之静态导入、权限修饰符、状态修饰符、fianl、static

静态导入(static import)是在 JDK1.5 新增加的功能,其作用是用于导入指定类的静态属性和静态方法,这样我们可以直接使用静态属性和静态方法。示例代码(静态导入的使用)import static java.lang.Math.PI;import static java.util.Arrays.sort;import java.util.Scanner;权限修饰符状态修饰符 final StaticFinal 最终的Final可以修饰类 变量 方法Fina

2020-12-19 15:52:23 143 3

原创

包指的就是磁盘上的目录主要作用:对类的分类管理包的命名:1 所有的字母都采用小写2一般采用公司域名的逆序baidu.com---->对应的包名就是com.baidu会在后边加上项目或者模块名称当将一个类放在包中的时候package cn.lanqiao;public class Animal { }在探讨类名的时候 此时将有两种称谓:简单类名:Animal全类名:包名+类名 cn.lanqiao.Animal带包编译第二种情况运行:java 包名

2020-12-19 15:48:02 60 1

原创 Object之hashCode和tostring方法

public int hashCode()返回对象的哈希码值 只要在执行Java应用程序时多次在同一个对象上调用该方法, hashCode方法必须始终返回相同的整数如果根据equals(Object)方法两个对象相等,则在两个对象中的每个对象上调用hashCode方法必须产生相同的整数结果。toString重写toString@Overridepublic String toString() { return "Student{" + "name='" + n

2020-12-19 15:44:21 119 1

原创 Oject类之equals方法

equals 是用来比较两个对象是否想等实现原理String因为所有的 类都直接或间接的 继承了Object 因此所有的类都有Object类中提供的方法。Equals方法 的本质就是比较两个对象的地址 是否相同,而在String类中 之所以比较的是两个字符串的内容,原因就在于String类重写了Object的equals方法在以后的类中,我们 一般都要重写 equals方法 自行定义比较规则 //重写继承自Object的 equals @Override pub

2020-12-19 15:41:40 273 1

原创 面向对象2之Object

ObjectObject是所有类的父类 所有的类都直接或间接的继承了ObjectObject的常用方法:Object的常用方法:boolean equals(Object obj) 指示一些其他对象是否等于此。int hashCode() 返回对象的哈希码值。String toString() 返回对象的字符串表示形式。...

2020-12-19 15:39:28 77 1

原创 面向对象1之继承

继承的实现继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法继承的格式格式:public class 子类名 extends 父类名 { }范例:public class Zi extends Fu { }Fu:是父类,也被称为基类、超类Zi:是子类,也被称为派生类继承中子类的特点:• 子类可以有父类的内容• 子类还可以有自己特有的内容继承的代码:public class Person { private String name

2020-12-19 15:33:38 76 1

原创 使用ArrayList的简单学生管理系统

学生管理系统1.1.项目需求针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:添加学生:通过键盘录入学生信息,添加到集合中删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改查看学生:将集合中的学生对象信息进行展示退出系统:结束程序1.2学生管理系统实现思路【理解】①定义学生类②主界面的代码编写③添加学生的代码编写④查看学生的代码编写⑤删除学生的代码编写修改学生的代码编写

2020-12-17 15:16:19 511

原创 ArrayList

ArrayList:集合类的子类是一个长度可变的容器。public static void main(String[] args) { ArrayList list = new ArrayList(); // 添加元素 list.add(1); list.add(true); list.add("hello"); // 获取list的元素的 个数 System.out.println(list.size()); //移除元素

2020-12-17 15:14:33 129

原创 字符串-String及常用方法2

字符串的比较字符串的对象的创建方式:1 通过 字符数组来构建 一个字符串2. 通过字节数组来构建字符串3. 通过new的方式来创建一个字符串 位于堆内存4 通过使用字面常量来创建一个 字符串对象 位于字符串常量池字符串拼接方式创建:如果是通过字符串的字面常量进行拼接 则 得到 的字符串位于常量池如果 是通过变量(在拼接过程中,只要有一个是 字符串变量)则都将位于堆区intern() 该方法的 作用:1 如果调用该方法的字符串对象在字符串常量池中存在 则返回 该字符串在常量池中的 地址

2020-12-17 15:09:19 128

原创 字符串-String及常用方法1

• String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。• 字符串不变; 它们的值在创建后不能被更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,它们可以被共享。String类包括用于检查序列的各个字符的方法,用于比较字符串,搜索字符串,提取子字符串以及创建将所有字符翻译为大写或小写的字符串的副本public String() 创建一个空白字符串对象,不含有任何内容public String(char[] chs) 根据字符数组的.

2020-12-13 22:48:51 190 1

原创 面向对象--类、对象、属性、行为

类和对象类:具有共同属性和行为的一类事物的抽象表示对象:是类的具体化(实实在在事物)属性:成员变量行为:成员方法类的定义:public class Phone { // 属性: // 成员变量 :位于类的内部 方法的外部 其他的使用方式和之前变量的 定义一致 String brand; double price; //行为: // 成员方法 : 去掉之前方法 中的static即可 //打电话 public void

2020-12-13 22:46:41 2445

原创 解读方法--方法的定义、分类、返回值、参数、重载、参数传递

解读方法方法:是一个具有特定功能的代码块/代码片段的一个集合方法的注意事项:方法必须先定义 后使用我们可以使用的方法的来源:1 jdk提供的方法 或者第三方提供的方法2 自定义方法public static void main(String[] args){} public static 方法的访问修饰符 void 称为方法的返回值类型 main 称为方法的名称 标识符(命名的时候需要符合标识符的规则 并且使用小驼峰命名法) (String[] args).

2020-12-11 20:56:18 327

原创 Java基础5--二维数组

二维数组二维数组的声明及动态初始化int[][] arr = new int[行数][列数];public class ArrayTwoDemo { public static void main(String[] args) { /* 在声明二维数组的时候 两个维度 一个维度表示行 另一个维度表示列 行列可以相同 也可以不同 当我们通过 arr.length去获取数组的长度的时候 其实获取到的是数组的行数

2020-12-10 18:52:50 177 1

原创 JDK API文档的使用+Random

JDK API文档的使用Arrays 是专门 针对数组操作的一个工具类二分查找法:使用System.out.println(res);// 在当前数组的指定范围内查找目标元素//如果找到 则返回目标元素在完整数组中的 索引int res1 = Arrays.binarySearch(arr,2,5,5);System.out.println(res1);排序算法的使用//使用Arrays提供的排序算法对数组进行排序// Arrays.sort(arr); // 包含开.

2020-12-10 18:49:43 158 2

原创 常见排序算法--快速排序、选择排序、二分查找法

public class QuickSort { public static void main(String[] args) { int[] arr = {21,35,12,20,65,5,56}; quick(arr); for (int j : arr){ System.out.println(j); } } public static void quick(int[] arr){.

2020-12-10 18:43:25 116

原创 常见排序算法--冒泡排序、快速排序

常见排序算法:• 选择排序• 直接选择排序、 堆排序• 交换排序• 冒泡排序、 快速排序• 插入排序• 直接插入排序、 折半插入排序、 Shell排序• 归并排序• 桶式排序• 基数排序输入( Input) 有0个或多个输入数据,这些输入必须有清楚的描述和定义输出( Output) 至少有1个或多个输出结果,不可以没有输出结果有穷性(有限性, Finiteness) 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成确定性(明确性, Definit

2020-12-06 22:40:28 75

原创 Java基础4--数组

1 数组的定义:数组是存储相同类型的多个元素的连续空间2 数组的分类:类型:基本类型数组 引用类型数组(对象数组)维度:一维 二维 三维 多维3. 数组的特点:(1) 数组所储存的元素的类型必须是同种类型(2) 数组的长度是有限的 是固定的 一旦声明 则不能修改(3) 数组的 空间是连续的4 数组的声明和初始化public static void main(String[] args) { //声明数组 数据类型[] 数组的名称(标识符) = new 数据类

2020-12-06 22:39:03 75

空空如也

空空如也

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

TA关注的人

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