Java语言进阶
文章平均质量分 52
Java语言进阶
肥兄
一个介绍了你也不认识的“老彩笔”
展开
-
Java 缓冲流的使用(有练习:缓冲流完成文档排序)
一、概述字节流与字符流:属于IO流的入门,那么即将学习的是更大的流缓冲流:高效流,是在基本流对象的基础上创建而来的,就像普通人穿上铠甲一样,相当于对基本流的一种增强,就是对四个基本的FileXXX流的增强,所以缓冲流也分为四个流。二、分类 按照类型来区分 字节缓冲流:BufferedInputStream、BufferOutputStream 字符缓冲流:BufferedReader...原创 2021-08-31 20:47:16 · 376 阅读 · 0 评论 -
Java IO流 详解(字节流、字符流、输入流、输出流、刷新)
一、IO流概述 I:Input输入 从其他存储设备【读】数据到内存中 输入过程O:OutPut输出 从内存中【写】数据到其他存储设备 输出过程二、IO流分类 1.根据数据的类型分为: 【字节流】和【字符流】【字节流】:以字节为基本单位,读写数据的流 字节输入流:以字节为基本单位,读数据 ...原创 2021-08-30 21:01:33 · 7980 阅读 · 3 评论 -
Java 递归的概述和使用(递归累和、递归求阶乘、递归文件搜索)
一、概述 生活中来说:父辈种地-- 挣钱 -- 供养孩子 -- 孩子长大 -- 孩子种地 -- 孩子挣钱 -- 供养孩子 -- 孙子长大 -- 孙子种地 程序中来说: 是指在当前方法中调用自己 的这种现象 注意事项: 1.递归一定要有出口,否则会报 栈内存溢出 异常 2.递归出口完了,还是会报 代...原创 2021-08-29 21:44:52 · 315 阅读 · 2 评论 -
Java File类的使用(详解)
一、概述 java.io.File类是文件和目录路径名称的抽象表示,主要用于文件和目录的创建、查找和删除等操作二、File类的构造方法 - public File(String pathname):通过将给定的路径名 字符串转换为抽象类路径 来创建新的实例 - public File(String parent,String child):从父路径字符串 和 子路径字符串创建新的File实例 - public File(File...原创 2021-08-29 21:27:33 · 13781 阅读 · 2 评论 -
Java Stream流(详解)
一、Stream流引入 Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的鼻端。(Lambda表达式详解在上篇博客内容) 现有一个需求: 将list集合中姓张的元素过滤到一个新的集合中 然后将过滤出来的姓张的元素中,再过滤出来长度为3的元素,存储到一个新的集合中 1.用常规方法解决需求 /...原创 2021-08-29 20:37:56 · 77961 阅读 · 29 评论 -
Java中的Lambda表达式的使用(详解)
一、概述 Lambda表达式 --> 函数式编程(函数编程思想) 面向对象编程思想: 强调的是【对象】,必须通过对象的形式来做一些事情,一般情况下会比较复杂。 例如:多线程执行任务,需要创建对象,对象需要实现接口Runnable,我们想自己完成,需要将run方法中的代码传递给线程对象,这么麻烦?直接执行不久好了吗? 函数编程思想: 函数需要得有输入...原创 2021-08-27 20:10:06 · 24067 阅读 · 12 评论 -
Java中的异常的分类、声明处理、捕获处理详解
一、异常的概述 异常:指的是程序在执行过程中,出现的非正常情况,最终导致JVM的非正常停止 注意: 1.在Java等面向对象的编程语言中,异常本身就是一个类,产生异常就是创建异常对象并抛出了一个异常对象。 2.Java处理异常的方式 中断处理(直接终止程序运行,把异常信息打印到控制台) 异常的继承体系: 异常的根类是 java.lang.Throwab...原创 2021-08-24 20:52:18 · 1759 阅读 · 0 评论 -
Java 集合的嵌套用法
一、List嵌套List List集合中的元素是List // 创建一个List集合,限制元素类型为String List<String> list1 = new ArrayList<>(); // 往集合中添加元素 list1.add("老大"); list1.add("老二"); list1.add("老三"); List<String&g...原创 2021-08-23 19:08:23 · 1318 阅读 · 0 评论 -
Java 中Set接口——HashSet
概述: 也称为set集合,但凡实现了Set接口的类都叫做Set集合特点: 元素无索引,元素不可重复(元素唯一) - HastSet集合:实现类 元素存取无序 - LinkedHashSet集合:实现类 元素存取有序 - TreeSet集合:实现类 对元素进行排序注意: 1. Set集合没有特殊的方法,都是使...原创 2021-08-22 20:17:50 · 392 阅读 · 0 评论 -
Java 可变参数
可变参数的概述: 在Jdk1.5之后,如果我们需要定义一个方法需要多个参数的话,并且多个【参数类型】一致,我们可以对其进行简化。可变参数的格式: 权限修饰符 返回值类型 方法名称(数据类型... 变量名称){}可变参数的使用: // main方法 public static void main(String[] args) { method(11,22,33,44,55); ...原创 2021-08-22 19:36:03 · 88 阅读 · 0 评论 -
Java Collections常用功能
概述: Collections:java.util.Collections 是一个工具类,用来对集合进行操作Collections 常用功能: 打乱集合的顺序 public static void shuffle(List<?> list) / 创建List集合,限制集合中的元素类型为Integer类型 List<Integer> list = new ArrayList<>(); ...原创 2021-08-22 19:25:13 · 290 阅读 · 0 评论 -
迭代器(iterator) 接口
一、概述 在程序开发中,经常需要遍历单列集合中的所有元素,针对这种需求JDK专门提供了一个接口 java.util.Iterator 迭代: 即Collection集合元素的通用方法 在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续再判断,如果还有元素就再取出来,一直把集合中所有的元素取出。这种取出方式专业术语称之为【迭代】...原创 2021-08-21 20:04:06 · 518 阅读 · 0 评论 -
增强 For 循环
一、概述: 也成为【for each】循环,是JDK1.5版本以后出来的一个高级for循环,专门用来遍历数组和集合的,它的内部原理其实就是iterator迭代器,所以在遍历过程中,不能对集合的元素进行增删操作。二、格式 for( 元素的数据类型 变量名 : 数组名/集合名{ }三、代码演示 public static void main (String[] args)...原创 2021-08-21 19:50:37 · 5147 阅读 · 0 评论 -
Java LinkedList集合特有的方法
一、概述 1.ArrayList: java.util.ArrayList 集合数据存储的结构是数组结构,元素增删慢,但是查找快, 由于日常开发中用的最多的功能就是查询功能遍历数据,所以ArrayList是最常用的集合 2.LinkendList: java.util.LinkedList 集合数据与存储的结构是链表结构,方便元素添加,删除的集合 ...原创 2021-08-21 19:36:01 · 1439 阅读 · 0 评论 -
Java List新增接口
概述: List接口是Collection接口的子接口,不但继承了Collection接口中的全部方法 而且还增加了一些根据元素来操作集合的特有方法List接口的常用方法: 1.将指定的元素添加到该集合中的指定位置 public void add(int index,E element) // 创建List集合,限制集合中的元素为String类型 List<String&g...原创 2021-08-21 19:23:39 · 398 阅读 · 1 评论 -
Java 泛型的作用以及类、方法、接口的使用和通配符
一、泛型的作用 1.集合如果不使用泛型:存的时候什么类型都可以,但是要取的时候会懵,因为取出来啥也不是,或者不知道取的是什么类型的数据。像这样: // 创建ArrayList集合,不使用泛型 ArrayList arrayList = new ArrayList(); // 往集合中添加元素 arrayList.add("老二"); arrayList.add("张三"); ...原创 2021-08-20 21:02:47 · 608 阅读 · 1 评论 -
Java中Collection单列集合
一、集合 概述:集合是Java中提供的一种容器,可以用来存储多个【引用数据类型】的数据二、集合和数组 结合和数组,既然都是容器,那它们有什么区别呢? -- 数组的长度是固定的,集合的长度是可变的 -- 数组可以存储基本数据类型,也可以存储引用数据类型集合存储的是引用数据类型,如果想要存储基本数据类型的数据,需要存储对应的包装类 -- 数组只能存储同一种数据类型,集合可以存储多种数据类型...原创 2021-08-20 20:02:46 · 450 阅读 · 0 评论 -
BigDecimal类的常用方法
概述: java.math.BigDecimal 类表示超大的小数,并且可以解决小数运算的问题构造方法: BigDecimal(double val) 将 double 转换为 BigDecimal 或者是 double 的二进制浮点值准确的十进制表示形式。 BigDecimal(String val) 将 BigDecimal 的字符串表示形式转换为 BigDecimal。成员方法: BigDecimal add(B...原创 2021-08-17 19:36:16 · 201 阅读 · 0 评论 -
BigInteger的常用方法
概述: java.math.BigInteger 类表示一个超大的整数,可以存储很长的数构造方法: //将 BigInteger 的十进制字符串表示形式转换为 BigInteger public BigInteger(String val);成员方法:BigInteger add(BigInteger val) 返回值为 (this + val) 的 BigIntegerBigInteger subtract(BigInteger val) 返回值为 (...原创 2021-08-17 19:26:46 · 301 阅读 · 0 评论 -
System类的常用方法
概述: java.lang.System 类提供了大量的静态方法,可以获取系统相关的信息和系统操作常用方法演示: 1.拷贝数组中的元素到另一个数组public static void arrayCopy (Object src,int srcPos,Object dest,int destPos,int length); 参数注释: 参数1 src:原数组 ...原创 2021-08-17 19:19:09 · 87 阅读 · 0 评论 -
Math类的常用方法
概述: java.lang.math(); math包含执行数学基本数学运算的方法特点: 它不能创建对象,它的构造方法“私有”,因为它的内部都是“静态方法”,通过Math类名来调用常用方法演示: System.out.println(Math.PI); //public static int abs(int a) 获取参数a的绝对值 System.out.println("4的绝对值:" + Math.a...原创 2021-08-17 19:00:36 · 168 阅读 · 0 评论 -
Java中的Calendar类
Calender类: java.util.Calender类:表示一个【日历】类,可以进行日期运算 它也是一个抽象类,不能创建对象,我们使用它的子类GregorianCalendarGregorianCalendar类: - 直接创建GregorianCalendar对象 - 通过GregorianCalendar的静态方法getInstance()方法获取GregorianCalendar对象Calender类的常用方法:...原创 2021-08-16 20:36:02 · 344 阅读 · 0 评论 -
Java中Date、DateFormat、SimpleDateFormat类的使用
Date类概述: java.util.Date类,表示一个日期和时间,内部精确到毫秒Date类的使用: public Date() : 创建当前系统对应的时间 public Date(long date) : 创建以标准基准时间为基准,指定偏移毫秒数,返回对应的日期对象 一、创建当前系统对应的日期时间 Date date1 = new Date(); System.out.println(da...原创 2021-08-16 20:22:25 · 527 阅读 · 2 评论 -
Java 中的 Object 类
简介 java.lang.Object 类是Java语言的根,即所有的父类 如果一个类没有指定继承或没有指定父类,那么默认继承Object类Object类的两个主要方法 一、toString 方法 1、toString返回的字符串内容格式:类的全路径 @十六进制的地址值 2、直接打印其对象名,其实就是打印对象调用toString方法返回的字符串内容 ...原创 2021-08-16 19:48:09 · 240 阅读 · 1 评论 -
不同代码块的使用
一、构造代码块 格式:{} 位置:类中、方法外 执行:每次执行构造方法之前都会执行一次代码构造块里面的代码public class Test { //构造代码块 { System.out.println("构造代码块"); }}二、静态代码块 格式:static{} 位置:类中,方法外 执行:随着类的加载而...原创 2021-08-16 19:22:13 · 89 阅读 · 0 评论 -
权限修饰符 的 作用范围及使用方式
不同权限修饰符的访问能力: 本类中 同包中 不同包的子类中 不同包的无关类 public √ √ √ √ protected √ √ √ × 空 √ √ × × private √ × × × 访问权限修饰符大小关系: public > protected > 空 > private总结: ...原创 2021-08-16 19:07:45 · 319 阅读 · 0 评论 -
ArrayList类
ArrayList类概述: 底层是大小可变的数组的实现,存储在内的数据称之为元素。 ArrayList中可以不断添加元素,其大小会自动增长。ArrayList类如何使用: java.util.ArrayList<E>: 需要引入该类import才可以使用 <E>要如何使用? 在出现<E>的地方使用引用数据类型 替换即可,表示我们将要存储哪种【引用数据类型】的元素...原创 2021-08-15 19:43:06 · 188 阅读 · 0 评论 -
StringBuilder的用法
一、StringBuilder的概述: StringBuilder是一个可变字符串类,我们把它看作是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的。二、String类和StringBuilder类的区别: - String类:内容是不可变的字符串类 - StringBuilder类:是一个可变的字符串类三、StringBuilder类的构造方法: 1.创建一个空白的可变字符串对象,不含任何内容 p...原创 2021-08-15 19:11:35 · 2166 阅读 · 0 评论 -
Java中String的用法
先随便写个东西看看草稿能保存吗原创 2021-08-14 18:54:33 · 766 阅读 · 0 评论 -
Java类三大特征之多态
多态引入(什么是多态): 多态是继封装、继承之后的,面向对象的最后一个 在生活中,随处可见的小猫、小狗或者大象、狮子等等,都有奔跑的动作,但是它们跑起来的姿势是不一样的。 一些昆虫和鸟类都是可以飞的,但是它们飞起来的样子也是不一样的。 通过不同的事物,可以体现出来不同的形态,多态就是描述这样的状态。多态的定义: 指同一性为,对于不同的事物有不同的表现。 在程序中:指同一方法,对于不同的对象有不同的...原创 2021-08-12 19:43:21 · 353 阅读 · 0 评论 -
实现接口时注意事项(三)
一、公有静态常量的冲突 接口A和接口B中的常量相同,调用的话就会报错interface A{ public static final int NUM1 = 10;}interface B{ public static final int NUM1 = 10; public static final int NUM2 = 20;}interface C extends A,B{}public class Test { public sta...原创 2021-08-11 20:18:08 · 87 阅读 · 0 评论 -
实现接口时注意事项(二)
一、公有静态常量的冲突 子类无法继承有冲突的变量class Fu{ public static final int NUM1 = 10; public static final int NUM2 = 20;}interface A{ public static final int NUM1 = 100;}class Zi extends Fu implements A{}public class Test { public stati...原创 2021-08-11 20:13:20 · 64 阅读 · 0 评论 -
实现接口时注意事项(一)
一、公有静态常量的冲突 如果多个接口中有相同的常量,那么实现类就无法继承,会编译报错interface A{ int NUM1 = 10;}interface B{ int NUM2 = 20; int NUM1 = 30;}class Impl implements A,B{}public class Tests { /* * 公有静态常量的冲突:如果多个接口中有相同的常量,那么实现类就无法继承 * */ ...原创 2021-08-11 20:03:46 · 397 阅读 · 0 评论 -
Java 接口(interface)
接口的概念: 是Java语言的一种引用数据类型,是方法的“集合“接口的作用: 接口内部主要就是定义方法。包含常量、抽象方法、默认方法、静态方法、私有方法接口的定义格式: 接口的定义格式和类的定义格式相似:interface class 接口名称{ 常量 抽象方法 静态方法 默认方法 ...原创 2021-08-11 19:51:56 · 80 阅读 · 0 评论 -
static关键字
概述: 是一个静态修饰符关键字,表示静态的意思,可以修饰成员变量和成员方法以及代码块特点: 被static修饰的成员变量是属于类的,叫做静态成员变量/类变量,会被该类的所有对象共有使用: 一、static 修饰的成员变量class Person { // 定义成员变量 String name; // 定义静态成员变量 static String country; public Person(){}...原创 2021-08-10 21:01:01 · 52 阅读 · 0 评论 -
final关键字
概述: 表示不可变的意思,可以修饰类、方法、变量使用: 一、final修饰类 被final修饰的类不可以被继承 二、final修饰方法 被final修饰的方法不能被重写 三、final修饰变量 被final修饰的变量将变成常量,不可以修改 被fin...原创 2021-08-10 20:38:46 · 58 阅读 · 0 评论 -
Java 抽象类和抽象方法的使用
抽象类关键字:abstract概述: 使用abstract关键字修饰的类就是抽象类特点: 抽象类不能创建对象,主要是来给子类继承的抽象类和普通类的区别: 1.普通类可以创建对象,抽象类不能创建对象 2.普通类没有抽象方法,抽象类可以有抽象方法如图,抽象类Person不能创建对象。抽象方法关键字:abstract概述: 使用 abstract 关键字修饰,没有方法体的方法...原创 2021-08-10 20:20:24 · 2173 阅读 · 0 评论 -
this关键字和super关键字的使用
this关键字 一、概念 this: 存储的“当前对象”的引用 this可以访问:本类的成员属性,成员方法,构造方法 二、this关键字的用法 1、this访问本类的成员变量class Student{ //成员属性 String name; int age; //成员方法 public void method(String...原创 2021-08-09 21:17:36 · 442 阅读 · 0 评论 -
Java类三大特性之继承
继承的概念: 再Java中指的是【一个类】可以被【继承】【另一个类】 【被继承的类】叫做【父类/超类】 【继承其他的类的类】叫做【子类】 继承后【子类】中就有了父类中所有的成员(成员变量和成员方法) 那么【子类】中就不需要再额外的去定义和【父类】一样的成员了,可以直接调用这么做的好处(继承的优点): 1.提升了代码的复用性,减少了代码的冗余 2、使类与类之间产生了关系继承的关...原创 2021-08-09 20:26:49 · 424 阅读 · 0 评论 -
Java 匿名对象
匿名对象: 概述:没有名字的对象就是匿名对象 特点:匿名对象只能使用一次,是一次性的(就像放风筝没有牵线,放一次就没了) 优点:节省为对象地址开辟的空间 使用场景:当某个类的对象只需要使用一次的时候,就可以使用该类的匿名对象// 创建了一个对象,名字叫做student1Student student1 = new Student(); //student1就是这个类的名字student1.show(); //使用这...原创 2021-08-09 12:08:19 · 158 阅读 · 0 评论