![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java语法笔记总结
文章平均质量分 79
绿豆蛙给生活加点甜
人们总爱追问人生的意义,其实人生本无所谓意义,因为存在先于本质,本质之前的存在是禁绝思考的。人生的无意义赋予了人的自由,倘若人生有一个注定的意义,那么人人都如同一具机器。
展开
-
Java系列笔记十六——反射
反射类加载器当程序要使用某一个类是,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象任何类被使用是,系统都会为之创建一个java.lang.Class对象类的连接验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致准备阶段:负责为类的类变量分原创 2022-01-18 12:36:39 · 92 阅读 · 0 评论 -
Java系列笔记十五——Stream流
Stream流体验Stream流使用Stream流的方式完成过滤操作list.stream().filter(s->s.startWith("张")).filter(s->s.length()==3).forEach(System.out::println);直接阅读代码的字面意思即可完美展示无关逻辑方式的语义:生成流、过滤姓张、过滤长度为3、注意打印Stream流把真正的函数式编程风格引入到Java中Stream流的生成方式Stream流的使用生成流通过数据源(集合,原创 2022-01-18 10:58:38 · 178 阅读 · 0 评论 -
Java系列笔记十四——方法引用
方法引用方法引用符::该符号为引用运算符,而它所在的表达式被称为方法引用Lambda表达式: usePrintable(s -> System.out.println(s));分析:拿到参数s之后通过Lambda表达式,传递给System.out.println方法去处理方法引用:usePrintable(System.out::println);分析:直接使用System.out中的println方法来取代Lambda,代码更加的简洁推导与省略如果使用Lam原创 2022-01-18 10:37:09 · 82 阅读 · 0 评论 -
Java系列笔记十三——Lambda表达式、函数式接口
Lambda表达式Lambda表达式函数式编程思想在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”。面向对象思想强调“必须通过对象的形式来做事情”函数式思想则尽量忽略面向对象的复杂语法:强调做什么,而不是以什么形式去做“而Lamnda表达式就是函数式思想的体现体验Lambda表达式需求:启动一个线程,在控制台输出一句话:多线程启动了方式1:定义一个类MyRunnable实现Runnable接口,重写run()方法创建MyRunnable类的对象创建Thre原创 2022-01-18 10:30:21 · 258 阅读 · 0 评论 -
Java系列笔记十二——进程与多线程
多线程实现多线程进程:是正在运行的程序是系统进行资源分配和调用的独立单位每一个进程都有它自己的内存空间和系统资源线程:是进程中的单个顺序控制流,是一条执行路径单线程:一个进程如果只有一条执行路径,则称为单线程程序多线程:一个进程如果有多条执行路径,则称为多线程程序多线程的实现方式一:继承Thread类定义一个类My Thread继承Thread类在my Thread类中重写run()方法创建My Thread类的对象启动线程两个小问题:为什么要重写run()方法原创 2022-01-18 00:27:36 · 194 阅读 · 0 评论 -
Java系列笔记十一——IO流
IO流File它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的方法名说明File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的File实例File(String parent, String child)从父路径名字符串和子路径名字字符串创建新的F原创 2022-01-18 00:04:00 · 205 阅读 · 0 评论 -
Java系列笔记十——集合进阶
集合进阶集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变集合类体系结构:Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现创建Collection集合的对象多态的方式具体的实现类ArrayListCollection集合常用方法方法名说明boolean add(E e)添加元素boole原创 2022-01-17 22:39:37 · 223 阅读 · 0 评论 -
Java系列笔记九——异常
异常就是程序出现了不正常的情况Error:严重问题,不需要处理Exception:称为异常类,它表示程序本身可以处理的问题RuntimeException:在编译期是不检查的,出现问题后,需要我们回来修改代码非RuntimeException:编译期就必须处理的否则程序就不能通过编译,就更不能正常运行了JVM的默认处理方案如果程序出现了问题,我们没有做任何处理,最终JVM会做默认的处理把异常的名称,异常原因及异常出现的位置等信息输出在了控制台程序停止执行异常处理try原创 2022-01-17 22:25:21 · 78 阅读 · 0 评论 -
Java系列笔记八——常用API
常用APIMathMath包括执行基本数字运算的方法没有构造方法:看类的成员是否都是静态的,如果是,通过类名就可以直接调用常用方法方法名说明public static int abs(int a)返回参数的绝对值public static double ceil(double a)返回大于或等于参数的最小double值,等于一个整数public static double floor(double a)返回小于或等于参数的最大double值,等于一个整数原创 2022-01-17 22:18:49 · 78 阅读 · 0 评论 -
Java系列笔记七——内部类
内部类内部类:就是在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类内部类的定义格式:public class 类名{ 修饰符 class 类名{ }}范例:public class Outer{ public class Inter{ }}内部类的访问特点内部类直接可以访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象按照内部类在类中定义的位置不同,可以分为如下两原创 2022-01-17 22:12:44 · 90 阅读 · 0 评论 -
Java系列笔记六——抽象类、接口
抽象类在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类抽象类的特点抽象类和抽象方法必须使用abstract关键字修饰public abstract class 类名{}public abstract void eat();抽象类中不一定有抽象方法,有抽象方法的类一定时抽象类抽象类不能实例化抽象类如何实例化呢?参照多态的方法,通过子类对象实例化,这叫抽象类多态抽象类的子类要么重写抽象类中的所有抽象方法(非抽象方法可不重写)原创 2022-01-17 22:05:45 · 106 阅读 · 0 评论 -
Java系列笔记五——修饰符、包结构
包其实就是文件夹作用:对类进行分类管理包的定义格式格式:package 包名;(多级包用.分开)范例:package com.lanh;带包的Java类编译和执行手动建包按照以前的格式编译java文件 :javac HelloWorld.java手动创建包 :在E盘建立文件夹com,然后在com下创建文件夹lanh把class文件放到包的最里面:把HelloWorld.class文件放到com下的lanh这个文件夹下带包执行 :java com.lanh.HelloWorld原创 2022-01-17 22:00:04 · 66 阅读 · 0 评论 -
Java系列笔记四——继承、多态
继承继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。继承的格式格式public class 子类名 extends 父类名{}范例public class Zi extends Fu{}Fu:是父类,也被称为基类,超类Zi:是子类,也被称为派生类继承中子类的特点:子类可以有父类的内容子类还可以有自己特有的内容继承的好处与弊端继承的好处提高了代码的复用性(多个类相同的成员可以放到同一个类中)提高了原创 2022-01-17 21:53:13 · 104 阅读 · 0 评论 -
Java系列笔记三——字符串、集合
字符串StringString类在java.lang包下,所以使用的时候不需要导包String类代表字符串,Java程序中的各种字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java程序中所有的双引号字符串,都是String类的对象字符串的特点字符串不可变,它们的值在创建后不能被更改虽然String的值是不可变的,但是它们可以被共享字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])JDK8以前是字符数组,JDK9及以后是字节数组原创 2022-01-17 21:38:15 · 329 阅读 · 0 评论 -
Java系列笔记二——类和对象
Java系列笔记二——类和对象方法将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集方法的定义格式修饰符 返回值 方法名(方法参数){ 方法体}可以没有参数范例//无返回值,打印a+b的结果public void add(int a,int b){ System.out.println(a+b);}//有返回值,完成a和b的加法,并将a+b返回public int add(int a,int b){ return a+b;}显而易见,无返回值(v原创 2022-01-17 21:20:03 · 89 阅读 · 0 评论 -
Java系列笔记一——注解、流程控制、数组
Java系列笔记注释单行注释//单行注释:注释一行文字 多行注释 /* 注释 注释 注释 */文档注释/** * @Description Helloworld * @Author Lanh */流程控制分支结构if语句if:该语句必须存在,满足该条件则执行该模块语句,只能有一个else if 表示上述条件均不符合,该条件符合时,执行该模块语句,模块数量不限,else:表示上述条件均不符合时执行该模块语句,else模块可以省略,最多只有一个//一般格原创 2022-01-17 20:41:13 · 69 阅读 · 0 评论