![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习笔记
文章平均质量分 72
寂雨飘零
皮糙肉厚,越吃越肉,生命不息,战斗不止!
展开
-
java学习笔记48:异常的处理方式:捕获异常(try...catch...)、抛出异常(声明异常(throws子句)),利用百度解决异常问题,手动抛出异常:自定义异常
一、捕获异常(try,catch,finally)捕获异常是通过3个关键词来实现的:try-catch-finally。用try来执行一段程序,如果出现异常,系统抛出一个异常,可以通过它的类型来捕捉(catch)并处理它,最后一步是通过finally语句为异常处理提供一个统一的出口,finally所指定的代码都要被执行(catch语句可有多条;finally语句最多只能有一条,根据自己的需要可有...原创 2019-03-27 02:01:27 · 1840 阅读 · 0 评论 -
java学习笔记34:数组的拷贝、插入和删除元素本质、数组扩容操作
数组的拷贝System类里也包含了一个static void arraycopy(object src,int srcpos,object dest, int destpos,int length)方法,该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest数组的元素。注:容器的底层...原创 2019-02-14 00:09:58 · 498 阅读 · 1 评论 -
java学习笔记33:String类及常用方法、常量池、阅读API文档、字符串的相等判断及内存分析
一、String基础1、String类又称作不可变字符序列。2、 String位于java.lang包中,Java程序默认导入java.lang包下的所有类。3、Java字符串就是Unicode字符序列,例如字符串“Java”就是4个Unicode字符’J’、’a’、’v’、’a’组成的。4、Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义的类String,每个用双引...原创 2019-02-12 23:53:05 · 263 阅读 · 0 评论 -
java学习笔记29:数组的概念和特点、数组的声明、内存状态、初始化和遍历、数组越界异常、for-each增强for循环
一、数组的概念和特点1、数组的定义 数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。 注:数组是有序的。(根据索引下标排序,从零开始)2、数组的三个基本特点: 1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 2. 其元素必须是相同类型,不允...原创 2019-01-30 01:02:14 · 417 阅读 · 0 评论 -
java学习笔记28:final关键字:修饰变量、方法和类
final关键字的作用:修饰变量: 被他修饰的变量不可改变。一旦赋了初值,就不能被重新赋值。 final int MAX_SPEED = 120;修饰方法:该方法不可被子类重写。但是可以被重载! final void study(){}修饰类: 修饰的类不能被继承。比如:Math、String等。 final class...原创 2019-01-29 18:59:33 · 326 阅读 · 0 评论 -
java学习笔记27:对象的转型:向上自动转型、向下强制转型
1、对象的转型向上转型:父类引用指向子类对象,属于自动类型转换。向下转型:向上转型后的父类引用变量只能调用它编译类型的方法,不能调用它运行时类型的方法。这时,我们就需要进行类型的强制转换,我们称之为向下转型!2、示例:对象的转型public class TestCasting { public static void main(String[] args) { Ob...原创 2019-01-29 18:48:28 · 852 阅读 · 0 评论 -
java学习笔记32:内部类:静态和非静态内部类、匿名内部类、方法内部类
一、内部类内部类(innerclasses):把一个类放在另一个类的内部定义 内部类可以使用public、default、protected 、private以及static修饰。而外部顶级类(我们以前接触的类)只能使用public和default修饰。注意 内部类只是一个编译时概念,一旦我们编译成功,就会成为完全不同的两个类。对于一个名为Outer的外部类和其内部定义的名为In...原创 2019-02-06 13:54:43 · 815 阅读 · 2 评论 -
java学习笔记26:多态、多态的三个必要条件
多态(polymorphism)1、多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。 比如:同样是调用人的“休息”方法,张三是睡觉,李四是旅游,高淇老师是敲代码,数学教授是做数学题;同样是调用人“吃饭”的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。2、多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关...原创 2019-01-29 17:59:52 · 1230 阅读 · 0 评论 -
java学习笔记31:接口、多继承、面向接口编程
一、接口1、 接口的作用:为什么需要接口?接口和抽象类的区别? 接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。 抽象类还提供某些具体实现,接口不提供任何实现, 接口中所有方法都是抽象方法。接口是完全面向规范的,规定了一批类具有的公共方法规范。 从接口的实现者角度看,接口定义了可以向外部提...原创 2019-02-05 22:15:33 · 229 阅读 · 0 评论 -
java学习笔记30:抽象类、抽象方法
一、抽象方法使用abstract修饰的方法,没有方法体,只有声明。包好抽象方法的类必须是抽象类。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。二、抽象类包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。三、抽象类和抽象方法的基本用法/** * *...原创 2019-02-05 20:39:36 · 207 阅读 · 0 评论 -
java学习笔记23:==和equals()方法的区别、equals方法的重写、阅读Object和String的源码
一、“==”和equals()方法的区别以及equals()方法的重写1、“= =”和equals()方法“==”代表比较双方是否相同。 如果是基本类型则表示值相等; 如果是引用类型则表示地址相等即是同一个对象。 Object类中定义有:public boolean equals(Object obj)方法,提供定义“对象内容相等”的逻辑。比如,我们在公安系统中认为id相同的...原创 2019-01-23 17:13:19 · 230 阅读 · 0 评论 -
java学习笔记35:Arrays工具类的使用:打印、排序、二分法查找元素、填充(替换)
JDK提供的java.util.Arrays类,包含了常用的数组操作,方便我们日常开发。Arrays类包含了:排序、查找、填充、打印内容等常见的操作。示例:Arrays工具类的使用:打印数组package test;import java.util.Arrays;public class TestArrays { public static void main(String[] a...原创 2019-02-14 01:38:03 · 547 阅读 · 0 评论 -
java学习笔记36:多维数组的声明及内存分析、动静态初始化、获取二维数组的长度、数组存储表格数据
多维数组可以看成以数组为元素的数组。可以有二维、三维、甚至更多维数组,但是实际开发中用的非常少。最多到二维数组(学习容器后,我们一般使用容器,二维数组用的都很少)。示例:二维数组的声明public class Test { public static void main(String[] args) { //Java中多维数组的声明和初始化应按从低维到高维的顺序进行 int[][]...原创 2019-02-14 02:10:44 · 429 阅读 · 0 评论 -
java学习笔记47:运行时异常RuntimeException、已检查异常CheckedException
一、运行时异常RuntimeException派生于RuntimeException的异常,如被 0 除、数组下标越界、空指针等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序可读性和运行效率影响很大。 因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。 这类异常通常是由编程错误导致的,所以在编写程序时,并不要求必须使用异常处理机制来处理这类异常,经常需要通过...原创 2019-03-26 00:58:36 · 1020 阅读 · 0 评论 -
java学习笔记46:异常机制、异常分类、Error异常、Exception异常
一、异常:写程序时,经常遇到例外的情况,我们称之为异常在实际工作中,我们遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或者文件格式不对;你要读取数据库的数据,数据可能是空的;我们的程序再运行着,但是内存或硬盘可能满了等等。 软件程序在运行过程中,非常可能遇到刚刚提到的这些问题,我们称之为异常,英文是:Exceptio...原创 2019-03-25 23:13:06 · 287 阅读 · 0 评论 -
java学习笔记42:Calendar类和GregorianCalendar类的使用、可视化日历的编写
       Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。 GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。菜鸟雷区 注意月份的表示,一月是0,二月是1,以此类推,12月是11。原创 2019-03-13 01:02:49 · 1137 阅读 · 0 评论 -
java学习笔记41:Date时间类及jdk源码分析、DateFormat类和SimpleDateFormat类
一、Date时间类注:把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一) 用long类型的变量来表示时间,从基准时间往前几亿年,往后几亿年都能表示。如果想获得现在时刻的“时刻数值”,可以使用: long now = System.currentTimeMillis();这个“时刻数值”是所有时间类的核心值,年月日都是根据这个“数值”计...原创 2019-03-11 23:53:52 · 292 阅读 · 0 评论 -
java学习笔记40:String类、StringBuild和Stringbuffer、不可变和可变字符序列使用的陷阱
一、String类 String类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”。 那什么叫做“不可变对象”呢?指的是对象内部的成员变量的值无法再改变。打开String类的源码,如下图所示: 我们发现字符串内容全部存储到value[]数组中,而变量value是f...原创 2019-03-08 00:05:57 · 597 阅读 · 0 评论 -
java学习笔记45:枚举
JDK1.5引入了枚举类型。枚举类型的定义包括枚举声明和枚举体。格式如下: enum 枚举名 { 枚举体(常量列表) }枚举体就是放置一些常量。我们可以写出我们的第一个枚举类型,如下示例所示:示例:创建枚举类型enum Season { SPR...原创 2019-03-14 00:17:57 · 429 阅读 · 0 评论 -
java学习笔记44:File类的基本用法、递归打印目录树结构(递归遍历目录结构和树状展现)
一、Flie类的基本用法 java.io.File类:代表文件和目录。 在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。File类的常见构造方法:public File(String pathname) 以pathname为路径创建File对象,如果pathname是相对路径,则默认的...原创 2019-03-14 00:02:21 · 1110 阅读 · 0 评论 -
java学习笔记43:Math类、Random类
java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。如果需要更加强大的数学运算能力,计算高等数学中的相关内容,可以使用apache commons下面的Math类库。Math类的常用方法: 1. abs 绝对值 2. acos,asin,atan,...原创 2019-03-13 22:48:54 · 273 阅读 · 0 评论 -
java学习笔记38:包装类:基础及使用
一、包装类基础        Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等。 为了解决这个不足,Java在设计类时为每个基原创 2019-02-27 00:03:11 · 206 阅读 · 0 评论 -
java学习笔记39:自动装箱和拆箱、空指针问题、包装类的缓存问题
一、自动装箱和拆箱 自动装箱和拆箱就是将基本数据类型和包装类之间进行自动的互相转换。 JDK1.5后,Java引入了自动装箱(autoboxing)/拆箱(unboxing)。 自动装箱: 基本类型的数据处于需要对象的环境中时,会自动转为“对象”。 我们以Integer为例:在JDK1.5以前,这...原创 2019-03-01 01:02:57 · 525 阅读 · 0 评论 -
java学习笔记37:冒泡排序的基础算法和优化算法、二分法查找
一、冒泡排序1、冒泡排序的基础算法 冒泡排序是最常用的排序算法,在笔试中也非常常见,能手写出冒泡排序算法可以说是基本的素养。 算法重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,这样越大的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工...原创 2019-02-14 03:28:04 · 555 阅读 · 0 评论 -
java学习笔记22:Object类的用法、toString()方法
一、Object类1、Object类基本特性 Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。 如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。 (Object类位于java的lang包(核心包)内) 注:Object所有方法子类都有,可以直接用2、示例public class Perso...原创 2019-01-23 11:52:34 · 330 阅读 · 0 评论 -
java学习笔记21:方法的重写override
1、方法的重写:继承关系中,子类通过重写父类的方法,可以用自身的行为替换父类的行为。注:方法的重写是实现多态的必要条件。2、方法的重写需要符合下面的三个要点: “==”: 方法名、形参列表相同。 “≤”:返回值类型和声明异常类型,子类小于等于父类。 “≥”: 访问权限,子类大于等于父类。3、示例:方法的重写public class TestOverride { p...原创 2019-01-21 18:15:58 · 230 阅读 · 0 评论 -
java学习笔记20:继承、instanceof运算符
面向对象的三大特征:继承、封装、多态。一、继承1、继承的实现 继承让我们更加容易实现类的扩展。 比如,我们定义了人类,再定义Boy类就只需要扩展人类即可。实现了代码的重用,不用再重新发明轮子(don’t reinvent wheels)。 从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如: 上图中,哺乳动物继承了动物。意味着...原创 2019-01-21 17:06:39 · 236 阅读 · 0 评论 -
java学习笔记10:控制语句
一、简单介绍 流程控制语句是用来控制程序中各语句执行顺序的语句。 流程控制语句分为三类: 1、顺序结构:代表先执行“a”,再执行“b”的逻辑 2、选择结构:代表“如果...则...”的逻辑 3、循环结构:代表“如果...则再继续...”的逻辑 任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变...原创 2018-12-23 20:26:13 · 289 阅读 · 0 评论 -
java学习笔记9:使用Scanner获取键盘输入
注:一定要先导入scanner包(import java.util.Scanner)原创 2018-12-23 15:28:00 · 254 阅读 · 0 评论 -
java学习笔记3:用记事本写第一个java程序,第一个java程序常见错误总结,第一个java程序详细解析
一、使用记事本编写代码的步骤 第一步:记事本编写代码 第二步:保存.java文件 第三步:编译:创建字节码文件 第四步:解释并运行阶段 1、常用的记事本有:editplus、notepad++、sublime等。 2、编写如下代码: public class Welcome{ public static void main(String[] args){ ...原创 2018-12-11 23:04:08 · 1000 阅读 · 0 评论 -
java学习笔记7:变量和常量
一、变量 1、变量的本质:代表一个“可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定, 我们可以通过变量名来访问“对应存储空间”,从而操作这个“存储空间”存储的值。 (类似现实中的车位,需要告诉别人这是自己的车位,是停大车还是停小车) 2、声明变量 1)变量作为程序中最基本的存储单位,...原创 2018-12-16 22:35:20 · 231 阅读 · 0 评论 -
java学习笔记6:注释、标识符规范(驼峰命名法)、java中的关键字/保留字
一、注释 1、注释:为了提高程序的可读性,方便人们阅读。、 注释不会出现在字节码文件中,即java编辑器编译时会跳过注释语句。 2、单行注释:使用“//”开头,“//”后面的单行内容均为注释。 3、多行注释:使用“/*”开头,“*/”结尾,在“/*”和“*/”之间的内容为注释, 可以...原创 2018-12-16 18:20:00 · 847 阅读 · 0 评论 -
java学习笔记5:eclipse的下载及使用,以及java程序的运行
一、eclipse 1、eclipse下载地址: http:www.eclipse.org/downloads/eclipse-packages/ 注:根据安装的jdk,决定安装eclipse的版本(32位/64位)原创 2018-12-15 19:58:51 · 553 阅读 · 4 评论 -
java学习笔记4:常见的DOS命令和java开发工具
一、常见的dos命令 1、背景:DOS命令已经基本退出普通使用者的历史舞台,但是仍然有必要掌握几个常用的 命令,便于在某些情况下更顺畅的操作程序。...原创 2018-12-15 18:01:48 · 222 阅读 · 1 评论 -
java学习笔记8:基本数据类型和运算符
一、数据类型(primitive data type)1、数据类型分为:基本数据类型、引用数据类型2、引用数据类型:引用对象,空间占四个字节(面向对象再说),用来代表对象的地址3、基本数据类型:三大类八小类 数值型: 整数类型:byte、short、int、long(1、2、4、8字节) 浮点类型:float、double(4、8字节...原创 2018-12-19 23:20:28 · 793 阅读 · 1 评论 -
java学习笔记2:JDK下载和安装以及测试控制台测试是否配置成功
一、JDK下载和安装 1、JDK下载地址(https://www.oracle.com/technetwork/java/javase/downloads/index.html) 注:点击超链接,可以在oracle官网选择相应的jdk版本进行下载 安装目录一般默认。 windows X86:windows32位...原创 2018-12-06 00:17:33 · 397 阅读 · 0 评论 -
博文系列【java学习笔记】改动日志
日期:20181205【更新】java学习笔记1:了解java、JDK、JRE、JVM原创 2018-12-05 00:22:33 · 246 阅读 · 0 评论 -
JAVA学习笔记:目录
目录java学习笔记1:了解java、JDK、JRE、JVMjava学习笔记2:JDK下载和安装以及测试控制台测试是否配置成功java学习笔记3:用记事本写第一个java程序,第一个java程序常见错误总结,第一个java程序详细解析java学习笔记4:常见的DOS命令和java开发工具java学习笔记5:eclipse的下载及使用,以及java程序的运行java学习笔记6:注释、标识...原创 2018-12-28 21:26:38 · 1971 阅读 · 0 评论 -
java学习笔记11:语句块、方法的定义以及重载、递归算法和迭代效率
一、语句块二、方法的定义:形参、实参、返回值、语句块三、方法的重载(overload) 方法的重载,实际是完全不同的方法,只是名称相同而已。四、递归算法(递归和迭代效率测试) 递归的基本思想:自己调用自己。...原创 2018-12-23 21:30:48 · 321 阅读 · 0 评论 -
java学习笔记19:import详解、静态导入详解
一、导入类import 如果我们要使用其他包的类,需要使用import导入,从而可以在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。 import导入包后,便于编写代码,提高可维护性。注意: 1、Java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。 2、如果导入...原创 2019-01-21 12:02:58 · 465 阅读 · 0 评论