JAVA
java学习笔记
特立独行の猫
花若盛开,蝴蝶自来。
展开
-
Java 正则表达式
Java 正则表达式一、什么是正则表达式正则表达式,又称规则表达式。是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。二、正则表达式匹配规则原创 2020-11-03 17:22:25 · 621 阅读 · 0 评论 -
Java 集合框架精心整理,告别复杂的集合讲解
Java 集合框架一、为什么要引入集合框架对于初学者来说,在储存大量数据时,我们常想到用数组来存放数据。而对于很多实际问题来说,数组往往存在着很多限制,比方说数组固定的长度,单一的数据类型等等,所以我们引入集合框架就是要用更好容器来存放我们的数据。集合框架的好处: 1.容量自增长; 2. 提供有用的数据结构和算法,zhi从而减dao少编程工作; 3. 提高了程序速度和质量,因为它提供了高性能的数据结构和算法; 4. 允许不同 API 之间的互操作,API之间可以来回传递集合; 5.原创 2020-07-27 23:49:49 · 165 阅读 · 0 评论 -
面向对象2
一.JAVA类的定义JAVA里面有class关键字定义一个类,后面加上自定义的类名即可。如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类体里面定义person这个类应该具有的成员变量(即属性)和方法,如这里定义的int id和int age这个两个成员变量,或者叫属性,这个id表示人的身份证号码,人应该具有这个属性,age表示人...转载 2019-03-05 23:21:47 · 123 阅读 · 0 评论 -
举例说明Java中代码块的执行顺序
举例说明Java中代码块的执行顺序转载自 https://www.jb51.net/article/70296.htm前言 今天在看Android ContentProvider实现的时候,突然想到了Java类在new的过程中,静态域、静态块、非静态域、非静态块、构造函数的执行顺序问题。其实这是一个很经典的问题,非常考察对Java基础知识的掌握程度。很多面试过程中相信也有这样的问题,趁...转载 2019-03-08 18:46:47 · 268 阅读 · 0 评论 -
百行代码理解Java接口、抽象方法与执行顺序
public class Mainf implements A{//在java中 一个类中不能继承多个接口,但是可以通过一个接口继承多个接口来实现 int t; static{ System.out.println("我是静态代码块最先执行,类加载的时候我就执行了,而且只执行这一次"); } public Mainf() { { System.out.println(...原创 2019-03-08 19:59:35 · 860 阅读 · 0 评论 -
Java学习笔记——参数传递的方式、super的使用、多态、抽象类、接口
我们对接口的理解,不能独立于其实现的类,接口应该说是实现类的一部分,对实现类实例化对象的方法调用可以看做对接口方法的实现,接口和实现类有种连接关系,就像一个发电站,给不同实现类所需的能量,而实现类用这个电去做什么,就要看具体用在什么地方了。原创 2019-03-06 22:03:03 · 972 阅读 · 0 评论 -
Java抽象类与接口的区别
本文由 ImportNew - jessenpan 翻译自 javacodegeeks。欢迎加入翻译小组。转载请见文末要求。很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类...转载 2019-03-06 22:54:06 · 149 阅读 · 0 评论 -
Java面向对象系统理解
1.对面向对象的理解面向过程面向过程,核心是过程二字。过程即解决问题的步骤,设计一条流水线,机械式的思维方式。它考虑的是实际地实现,针对一个特定的问题去思考其解决步骤。学过C语言的同学就知道,用C语言编程,我们需要去解析题意,分析目的,画出流程图,按着步骤实现。这就是一种面向过程的思考方式。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。因此在模块化编程的时候才会有“...原创 2019-03-13 17:54:56 · 3174 阅读 · 0 评论 -
Java异常机制
一、什么是异常(Exception )异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。Java异常机制就是当程序出现错误,程序安全退出的机制。所谓异常处理,就是指程序在出现问题时依然可以正确的执行完。二、J...原创 2019-04-26 13:58:23 · 180 阅读 · 0 评论 -
Java容器【集合框架】
Java容器【集合框架】容器也叫集合,是用来容纳和管理数据的。就比方说数组,也是一种容器,可以在其中放置对象和基本类型的数据。一、泛型Generics泛型是JDK1.5以后增加的,它可以帮助我们建立类型安全的集合。在使用了泛型的集合中,遍历时不必进行强制类型转换。JDK提供了支持泛型的编译器,将运行时的类型检查提前到了编译时执行,提高了代码可读性和安全性。泛型的本质就是“数据类型的参数化...原创 2019-04-26 14:15:57 · 258 阅读 · 0 评论 -
Java常用类
常用类一、包装类Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等。 为了解决这个不足,Java在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper ...原创 2019-04-26 14:17:24 · 156 阅读 · 0 评论 -
IO技术(input、output)
IO技术(input、output)Java中从程序一端到数据源(文件、数据库、网络等)之间的管道我们称之为IO流。IO流是一连串连续动态的数据集合。一切以程序为中心,进入程序,也就是从外部系统获取数据叫输入流,即读取数据。从程序中出去,也就是从将数据输出到外部系统叫输出流,即写出数据。数据的输入与输出是非常重要的功能,所以我们要通过某种方式进行抽象、屏蔽外部的差异,从而实现更加便捷的编程,也...原创 2019-04-26 14:20:15 · 1215 阅读 · 0 评论 -
Java飞机小游戏代码详解
1.解释器在MyGameFrame中去调用静态的main方法而不需要创建一个对象。new MyGameFrame()对象,新创建一个窗口,f.launchFrame()用来对窗口的标题(setTitle)、可视化(setVisible)、窗口大小(setSize)、窗口位置(setLocation)信息的初始化以及重写windowClosing方法,确保点击关闭按钮后程序能够完全退出。this指代...原创 2019-02-20 23:47:36 · 3334 阅读 · 1 评论 -
Java编译器和Java解释器、JVM
转自 https://www.cnblogs.com/chengdabelief/p/6576320.html作用:JVM:JVM有自己完善的硬件架构,如处理器、堆栈(Stack)、寄存器等,还具有相应的指令系统(字节码就是一种指令格式)。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM是...转载 2019-02-19 21:48:16 · 303 阅读 · 0 评论 -
JAVA学习笔记1——JAVA语言的特点、JAVA术语、Java开发环境配置
JAVA语言的特点Java语言是简单的:Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是面向对象的:Java语言提供类、...原创 2019-01-28 16:11:10 · 333 阅读 · 0 评论 -
JAVA学习笔记4——构造方法、静态和非静态、类的三个访问限定符、参数传值机制、Java包机制__package的使用、this关键字、创建一个对象
一、构造方法 一个类被实例化,也就是被new的时候,最先执行的是构造方法,在java类中,如果不显示声明构造函数,JVM会给该类一个默认的构造函数。一个类可以有多个构造函数。构造函数的主要作用 : 1.用来实例化该类。 2.让该类实例化的时候执行哪些方法,初始化哪些属性。当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。区分Java 类的成员方法和构造方法①类的...原创 2019-02-02 23:17:49 · 549 阅读 · 0 评论 -
JAVA学习笔记2——一个简单的JAVA应用程序、注释、数据类型
一、一个简单的JAVA应用程序public class FirstSample{ public static void main(String[] args){ System.out.println("We will not use 'Hello world!' "); }}这个程序虽然很简单,但所有的Jav原创 2019-01-29 22:31:47 · 222 阅读 · 0 评论 -
JAVA学习笔记5——栈、堆、方法区(静态区)、构造器(构造方法)、通用的分代垃圾回收机制
栈1.栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)2.JVM为每个线程创建一个栈,用于存放该线程执行方的信息(实际参数、局部变量等)3.栈属于线程私有,不能实现线程间的共享!4.栈的存储特性是“先进后出,后进先出”。5.栈是由系统自动分配的,速度快!栈是一个连续的内存空间!堆1.堆用于存储创建好的对象和数组(数组也是对象)2...原创 2019-02-09 21:10:48 · 578 阅读 · 0 评论 -
Java学习笔记6——Java控制语句(选择结构、循环结构、break语句和continue语句、带标签的break和continue、语句块)
括号与运算符级别&&的优先级比||的优先级高所以a&&b||c等价于(a&&b)||c+=是右结合运算符所以a+=b+=c等价于a+=(b+=c)枚举类型枚举类型包括有限个命名的值。例如enum Size {small,middle large,ext原创 2019-02-09 22:37:16 · 1024 阅读 · 0 评论 -
深入理解Java引用类型
深入理解Java引用类型转载自 https://www.cnblogs.com/SilentCode/p/4858790.html在Java中类型可分为两大类:值类型与引用类型值类型就是基本数据类型(如int ,double 等),而引用类型,是指除了基本的变量类型之外的所有类型(如通过 class 定义的类型)。所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法...转载 2019-02-16 15:07:18 · 424 阅读 · 2 评论 -
Java学习笔记(温故知新)2——方法、方法的重载、递归结构、new对象(实例化对象)
Java学习笔记(温故知新)2一、方法方法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。方法声明格式: public static int add(int n1, int n2) { int sum = n...原创 2019-02-16 16:22:31 · 331 阅读 · 0 评论 -
对java中public、static的理解
转自 https://blog.csdn.net/v7595v/article/details/45845347一、public在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。1、public:public表明该数据成员、成员函数是对所有用...转载 2019-02-16 20:55:49 · 1219 阅读 · 0 评论 -
Java学习笔记7——import、静态初始化块、构造方法、继承、方法的重写、Object类的用法、equals方法、super关键字、继承树
1.导入类import如果我们要使用其他包的类,需要使用import导入,从而可以在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。import后,便于编写代码,提高可维护性。注意要点:1. Java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。2. 如果导入两个同名的类,只能用包名+类名来显示调用相关类。2.静态初始化块构造方法用于对象的初始化!静...原创 2019-02-16 21:08:10 · 260 阅读 · 0 评论 -
JAVA学习笔记(温故知新)——面向对象与面向过程的理解、对栈、堆和方法区的理解、构造方法(构造器)
1.面向对象与面向过程的理解 我们学习C语言时常用的思考方式是面向过程,面向过程即针对一个特定的问题去思考其解决步骤,一般较为简单,例如:做饭、洗澡、学车等,像这类我们都可以采用第一步干什么,第二步干什么的方式去思考。而面向对象则很难分出第一步做什么,第二步做什么。面向对象离不开面向过程,我们可以把面向对象当做一个个面向过程的组合,就比如造车,面向对象就是思考车这个对象是由什么组成的,而每一个...原创 2019-02-10 23:09:48 · 234 阅读 · 0 评论 -
Java学习笔记8——封装、多态、final
1.对封装的理解需要让用户知道的才暴露出来,不需要让用户知道的全部隐藏起来,这就是封装。说的专业一点,封装就是把对象的属性和操作结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。 我们程序设计要追求“高内聚,低耦合”。 高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合是仅暴露少量的方法给外部使用,尽量方便外部调用。编程中封装的具体优点: 1. 提高代码...原创 2019-02-17 23:36:38 · 289 阅读 · 0 评论 -
Java内部类详解
Java内部类详解说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:一.内部类基础二.深入理解内部类三.内部类的使用场景和好处四.常见的与内部类相关的笔试面试题若有不正之处,请多谅解并欢迎批评指正。请尊重作者劳动成果,转载...转载 2019-02-23 17:19:37 · 200 阅读 · 0 评论 -
JAVA学习笔记3——变量、常量、运算符、数值类型之间的转换、强制类型转换、二元运算符的运算规则、关系和boolean运算符、字符串
变量 在Java中,每个变量都有一个类型(type)。在声明变量时,变量的类型位于变量名之前。Java中不能使用Java保留字作为变量名。 可以在一行中声明多个变量:int i,j; 不过不提倡使用这种风格,逐一声明每个变量名可以提高程序的可读性。1.1 变量的初始化 声明一个变量后必须用赋值语句对变量进行显式初始化,千万不要使用未初始化的变量。也可以将变量的声明和初始化放在...原创 2019-02-01 22:42:00 · 425 阅读 · 0 评论