04 2022 档案
摘要:1 异常分类 1.1 检查型异常 最具代表的检查型异常是用户错误或问题引起的异常,这是程序无法预见的。 如:要打开一个文件不存在时,这是异常就发生了,这些异常在编译时不能被简单地忽略。 1.2 运行时异常 运行时异常时最可能被程序员避免的异常。与检查型异常相反,运行时异常可以在编译时被忽略。 1.3
阅读全文
摘要:内部类就是在一个类的内部再定义一个类。如A类中定义一个B类,那么B类相对于A类来说就称为内部类,而A类相对B类来说就是外部类了。 1 分类 成员内部类 静态内部类 局部内部类 匿名内部类 2 成员内部类 package com.oop; public class Outer { private in
阅读全文
摘要:1 概述 用关键词 abstract 修饰的方法为抽象方法,修饰的类为抽象类。 特点 抽象类,不能使用 new 关键词来创建对象。 >抽象类是用来让子类继承的 抽象方法,只有方法的声明,没有方法的实现。 >交给子类实现 PS: 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类 子类继承
阅读全文
摘要:用static 关键字 修饰的变量和方法,随着类的加载而加载,可以直接调用 package com.oop; public class Test { private static int age;//静态变量 private double score;//非静态变量 public void run(
阅读全文
摘要:1 概述 同一方法可以根据发送对象的不同而采用不同的行为方式 一个对象的实际类型是确定的,但可以指向对象的引用类型有很多 存在条件 有继承关系 子类重写父类方法 父类引用指向子类对象 PS: 多态是方法的多态,属性没有多态 多态存在条件,方法需要重写,否则没啥意义,都调用各自的方法还有啥多态 2 实
阅读全文
摘要:1 概述 Java中只有单继承 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等 继承关系的2个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends 2 实例 PS: 一般属性才会私有,方法不会 ctrl+h 打开继承树 Java中,所有的
阅读全文
摘要:程序设计要追求 "高内聚,低耦合"。 高内聚:类的内部数据操作细节自己完成,不允许外部干涉 低耦合:仅暴露少量的方法给外部使用 1 封装(数据的隐藏) 信息隐藏:禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问。 PS:属性私有,get/set,封装大多数是对于属性来说的。 2 实例 2
阅读全文
摘要:1 概述 JAVA的JVM的内存可分为3个区 : 堆区 提供所有类实例和数组对象存储区域 jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈区 每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(非对象),对象都存放在堆区中 每个栈中的数
阅读全文
摘要:1 类与对象的关系 类:类是一种抽象的数据类型,他是对某一类事物整体描述/定义。是对具体事物的抽象。 对象:是对抽象概念的具体实例 如: 类:动物 实例:猫,狗 2 初始化对象 创建对象:new关键字 2.1 创建对象后执行的操作 分配内存空间 给创建好的对象 进行默认的初始化 调用类中构造器 2.
阅读全文
摘要:Java的核心思想就是OOP 1 概述 1.1 面向过程 面向过程是一种以过程为中心的编程思想。 分析解决问题的具体步骤 通过函数一步步实现这些步骤,第一步作什么,第二步做什么。 场景:处理一些较为简单的问题 1.2 面向对象 分类的思维模式,基于对象(实体)的概念建立模型。 首先思考解决问题需要哪
阅读全文
摘要:1 方法定义 修饰符 返回类型 方法名(参数列表){ return; } 修饰符 返回类型 方法名 参数列表(参数类型 参数名...) break 和 return的区别 异常抛出 return 方法 package com.method; //有返回值 public class T { publi
阅读全文
摘要:稀疏数组是一种数组结构,这是一种压缩算法。 稀疏数组可以看做是普通数组的压缩,但是这里说的普通数组是指无效数据量远大于有效数据量的数组 1 概述 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方式 记录数组一共有几行几列,有多少个不同值 把具有不同值
阅读全文
摘要:总共有八大排序,其中冒泡排序是最出名的排序算法之一。 冒泡排序 两层循环,外层冒泡轮数,里层依次比较,江湖人尽皆知。 我们看到嵌套循环,应该立马就能得出这个算法的时间复杂度为O(n2) 代码 package com.study; import java.util.Arrays; public cla
阅读全文
摘要:在API中提供了一个工具类 Arrays,它可以对数组对象进行一些基本的操作。 数组的工具类 java.util.Arrays Arrays类中方法都是 static 修饰的静态方法,在使用的适合可以直接通过类名进行调用,而不用使用对象来调用 1 常用功能 数组赋值:fill 方法 数组排序: so
阅读全文
摘要:多维数组可以看成数组的数组。 如二维数组就是一个特殊的一维数组,其中的每一个元素都是一个一维数组。 1 二维数组 1.1 定义 //定义了一个两行五列的数组 int a[][] = new int[2][5] 1.2 图解 1.3 例子-基本使用 package com.study; public
阅读全文
摘要:1 数组使用 For-Each 循环 数组作方法入参 数组作返回值 2 数组操作 2.1 常规遍历 package com.study; public class T { public static void main(String[] args) { int[] arr = {1, 2, 3, 4
阅读全文
摘要:1 导图 2 图解 package com.study; public class T { public static void main(String[] args) { int[] arr = new int[8]; arr[0] = 10; arr[1] = 8; System.out.pri
阅读全文
摘要:数组是最简单的数据结构 1 定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干数据,按照一定的先后次序排列而成 其中,每一个数组称作一个数组元素,每个数组元素可以通过一个下标来访问他们 PS:数组下标是从0开始的 2 创建 首先必须声明数组变量,才能在程序中使用数组。 2.1 声明数组
阅读全文
摘要:递归:自己调用自己 1 递归结构 递归头:什么时候不调用自身方法。--没有头,将陷入死循环 递归体:什么时候需要调用自身方法 2 例1-死循环 死循环,导致栈溢出 package com.study; public class T { public static void main(String[]
阅读全文
摘要:1 概述 方法是实现某个功能的语句块的集合。 System.out.println(); PS:调用 System类 中的 out对象 的 println方法。 1.1 方法设计原则 在设计方法时,最好保持方法的原子性。即一个方法只完成 1 个功能。 1.2 命名规则 首字母小写 和 驼峰原则。 2
阅读全文
摘要:1 打印三角形 最终效果如下: * *** ***** ******* ********* 2 第1步 打印5行 打印五行三角形 package com.study; public class T { public static void main(String[] args) { //打印三角形
阅读全文
摘要:1 break break通常在任何循环语句的主体部分,用于控制循环的流程。 break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用) 实例 package com.study; public class T { public static void main
阅读全文
摘要:1 分类 While循环 do...while循环 for循环 在Java5中还引入了一种主要用于数组的增强型for循环。 2 while循环 对于while语句而言,如果不满足条件,则不能进入循环。 2.1 语法 while(布尔表达式){ //循环内容 } 布尔表达式为true,循环持续进行 多
阅读全文
摘要:1 顺序结构 JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。 顺序结构是最简单的算法结构 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。 2 选择结构 2.1 分类 if单选择结构 i
阅读全文
摘要:1 概述 javadoc 命令时用来生成自己API文档的 2 Java 命令生成 API文档 2.1 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @return 返回值情况 @throws 异常抛出情况 2.2 测试代
阅读全文
摘要:1 概述 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。 2 语法格式 package pkg1[. pkg2[.pkg3...]]; 一般利用公司域名倒置作为包名,如 域名:www.baidu.com 包名:com.baidu.www 包名2:com.baidu.blog 注意:
阅读全文
摘要:1 基本运算符 二元运算符:需要两个数运算 一元运算符:一个操作数运算 1.1 基本运算符 算数运算符:+ - * / % ++ -- 赋值运算符:= 关系运算符:> < >= <= == != instanceof 逻辑运算符:&& || ! 1.1.1 基本运算 public class T {
阅读全文
摘要:1 变量 变量就是可以变化的量,可通过变量操作内存中的数据。 1.1 定义 type varName [=value][{,varName[=value]}]; //数据类型 变量名 = 值; 可以使用逗号隔开来声明多个 同类型 变量。 1.2 注意 定义变量必须声明其类型【基本类型,引用类型】 变
阅读全文
摘要:数据类型转换 Java是强类型语言,因此在进行有些运算时,需要用到数据类型转换。 1 分类 强制类型转换 自动类型转换 2 转换规则 运算时,不同的数据类型要先转换为同一类型,然后进行运算。 低 > 高 byte,short,char--> int --> long --> float --> do
阅读全文
摘要:1 注释 1.1 分类 单行 多行 文档 1.2 单行注释 以双斜杠 "//" 标识,只能注释一行内容。 public class T { public static void main(String[] args) { //单行注释 } } 1.3 多行注释 包含在 "/" 和 "/" 之间,能注
阅读全文
摘要:一、环境 Windows10 jdk-1.8 二、环境变量配置 1. JDK安装完成后,桌面右击此电脑-->高级系统设置-->环境变量。 2. 在弹出的环境变量窗口中,下方的系统变量处,点击新建,然后添加如下信息: 注意:这里的变量值为你的JDK安装路径 3. 在列表中选择Path环境变量,点击编辑
阅读全文
摘要:Java概述 Write Once,Run Anywhere 1 Java三大版本 JavaSE:标准版(桌面程序,控制台程序...) JavaME:嵌入式开发(手机,小家电...)--目前不用了 JavaEE:E企业级开发(web端,服务器开发) 2 JDK JRE JVM JDK:Java De
阅读全文
摘要:1 概述 Markdown 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素。Markdown的语法十分简单,常用的标记符号不超过十个,愿「心中无尘,码字入神」。 2 语法 2.1 标题 在每行的开头用 # 的数量来定义标题级别,对应级别1-6。如: # 这是一级标题 H1 ## 这是二级
阅读全文