Java零基础系列
Statistic_Code
记录学习点滴,分享生动观点
展开
-
Java帮助文档网址:http://www.cjsdn.net/Doc/JDK60/java/lang/Thread.html
http://www.cjsdn.net/Doc/JDK60/java/lang/Thread.html原创 2020-07-20 10:44:04 · 217 阅读 · 0 评论 -
java零基础学习实践系列(五十三):异常机制
五十三:异常机制 上一节详细介绍了内部类,本节介绍下java中的异常机制.1.理论整理Error和Exception:异常指程序运行中出现的不期而至的各种状况,比如文件找不到,网络连接失败等;异常发生在程序运行期间,影响了正常的程序执行流程。异常类型:(1)检查性异常: 比如要打开一个不存在的文件时,异常就会发生;(2)运行时异常: 编译时被忽略,但是运行时会出现异常,与检查性异常不同的地方就在于运行时异常很可能看不出来;(3)错误ERROR: 错误不是异常,而是脱离程序员控制的问题原创 2020-07-19 15:24:15 · 108 阅读 · 0 评论 -
java零基础学习实践系列(五十二):内部类
五十二:内部类 上一节详细介绍了接口,本节介绍下内部类。1.理论整理 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。2.实践成员内部类:成员内部类是最普通的内部类,定义为 内部类A位于外部类B的内部,形如下面的形式:注: 成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)注原创 2020-07-18 14:12:31 · 101 阅读 · 0 评论 -
java零基础学习实践系列(五十一):接口
五十一:接口 上一节详细介绍了抽象类,本节介绍接口~1.理论整理普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!自己无法写方法~专业的约束,约束和实现分离:面向接口编程. 接口就是规范,定义的是一组规则,体现了现实世界中"如果你是…则必须能…"的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑…接口的本质是契约,就像我们人间的法律一样,制定好后大家都遵守OO的精髓是对 对象 的抽象,最能体现这一点的就是接口。声明类 的关键字是class,声明接口的原创 2020-07-17 10:39:21 · 133 阅读 · 0 评论 -
Java零基础学习实践系列(五十):抽象类
五十:抽象类 上一节详细介绍了static关键字和静态导入包,本节介绍抽象类.1.理论整理abstract 修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法,如果修饰类就是抽象类;抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明 为抽象类;抽象类不能使用new 关键字来创建对象,它是用来让子类继承的;抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的;子类继承抽象类,那就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。2.实原创 2020-07-17 09:58:44 · 115 阅读 · 0 评论 -
Java零基础学习实践系列(四十九):static关键字详解+静态导入包
四十九:static关键字详解 上一节详细介绍了关键字instance of 和类型转换,本节详细解释下static关键字.1.理论整理static: 修饰方法是静态方法,修饰属性是静态属性;静态的东西会随类一起加载.2.实践1.静态属性/方法可以直接用,非静态属性/方法需要先实例化;2.final修饰的类不能被继承;java中可以用{ }放置匿名或静态代码块,用来设置属性之类的;几类代码块的执行顺序:静态代码块>匿名代码块>构造器方法3.静态导入包后可以省略调用包中方法时原创 2020-07-16 10:11:40 · 190 阅读 · 0 评论 -
Java零基础学习实践系列(四十八):instance of 和类型转换
四十八:instance of 和类型转换 上一节详细介绍了什么是多态,本节介绍关键字instance of 和类型转换.1.理论整理XXX instance of YYY : X和YX和YX和Y有继承关系,才能初步通过编译;进一步,如果X是Y的子类,则输出true,否则输出false我们可以通过**((子类类型)父类类型对象).子类中方法** 强制把父类类型对象转化成子类类型对象,进而调用子类中的方法.2.实践总结:本节介绍了java中的句式:XinstanceofY原创 2020-07-15 22:55:39 · 142 阅读 · 0 评论 -
Java零基础学习实践系列(四十七):多态
四十七:多态 上一节详细介绍了在子类中如何重写父类的方法,本节介绍什么是多态。1.理论整理多态:同一个方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态是方法的多态,属性没有多态;父类和子类之间有联系,注意类型转换异常继承条件,方法需要重写父类的引用指向的是子类对象,当方法在子类中被重写过就执行子类的,否则就执行父类的多态存在的条件:有继承关系子类重写父类方法父类引用指向子类对象注意:多态是方法的多态,属原创 2020-07-14 15:21:47 · 115 阅读 · 0 评论 -
Java零基础学习实践系列(四十六):子类重写父类的方法
四十六:子类重写父类的方法 上一节详细介绍了通过关键字Super 实现在子类中调用父类属性或方法的过程,本节介绍下在子类中如何重写父类的方法。1.理论整理2.实践1.在子类中 “重写” 父类中static 类型的方法:2. 子类中重写父类中非静态方法:3. 重写快捷键:Fn+alt+insert4. private的方法不能重写!总结:本节讲了在子类中如何重写父类中public型的方法,需要掌握 【是在子类中重写父类方法】【重写的是方法不是属性】【重写时子类相较父类的原创 2020-07-13 16:10:52 · 687 阅读 · 0 评论 -
Java零基础学习实践系列(四十五):Super详解
四十五:Super详解 上一节详细介绍了继承,本节介绍一下Super.1.理论整理原创 2020-07-11 22:32:02 · 85 阅读 · 0 评论 -
Java零基础学习实践系列(四十四):什么是继承?
四十四:什么是继承? 上一节详细介绍了封装,本节开始介绍继承.1.理论整理继承的本质是对某一类的抽象,从而实现对显示世界更好的建模. extends 的意思是"扩展".子类是父类的扩展.Java中只有单继承,没有多继承.继承是类与类之间的一种关系,除此之外类之间的关系还有依赖、组合、聚合等.继承关系的两个类,一个为子类(派生类),一个为父类(基类),使用关键字extends来表示.\2.实践Student子类通过extends继承Person父类的全部方法:通过Ctrl+H原创 2020-07-09 22:39:56 · 151 阅读 · 0 评论 -
Java零基础学习实践系列(四十三):封装详解
四十三:封装详解 上一节总结了类与对象,本节详细讲一下封装 .1.理论整理该露的露,该藏得藏.程序设计要追求 : “高内聚,低耦合”。高内聚就是类的内部数据操作细节要自己完成,不允许外部干涉;低耦合就是仅仅暴露少量方法给外部使用。封装(数据的隐藏):通常应禁止直接访问对象中数据的实际表示,应该通过操作接口来访问。这称为信息的隐藏。记住这句话就够了: 属性私有,get/set 封装的好处:1.提高程序的安全性,保护数据2.隐藏代码的实现细节3.统一接口4.系统可维护性增加2.原创 2020-07-08 12:25:56 · 96 阅读 · 0 评论 -
Java零基础学习实践系列(四十二):类与对象小结
四十二: 上一节分析了创建对象时的内存情况,本节总结一下类与对象.1.理论整理声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~原创 2020-07-07 12:00:33 · 97 阅读 · 0 评论 -
Java零基础学习实践系列(四十一):创建对象内存分析
四十一:创建对象内存分析 上一节介绍了构造器,本节分析一下创建对象时的内存情况.1.理论整理注意:String型属于常量池但是int型不属于!声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~...原创 2020-07-06 21:28:36 · 732 阅读 · 0 评论 -
Java零基础学习实践系列(四十):构造器详解
四十:构造器详解 上一节介绍了类与对象的创建,本节介绍一下构造器.1.理论整理使用new 关键字创建对象时,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用.类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:必须和类的名字相同;必须没有返回类型,也不能写void2.实践1.第一步:创建带main方法的主类,和一个Person类:即使Person类什么也不写,IDEAL也会自动创建一个构造器:3.new原创 2020-07-05 15:31:49 · 117 阅读 · 0 评论 -
Java零基础学习实践系列(三十九):类与对象的创建
三十九:类与对象的创建 上一节介绍了面向对象编程,本节介绍类与对象的创建.1.理论整理类是一种抽象的数据类型,它是对某一类事物整体的描述,但是并不能代表某一个具体的事物.动物、植物、电脑…Persoon类,Pet类… :这些类都是用来描述某一类具体事务应该具备的特点和行为.对象是抽象概念的具体实例:张三就是人的具体实例2.实践一个项目通常只有一个带main方法的类,其他类只有属性和方法:通常在带有main方法的类中调用其他类(new)创建出具有这个类的属性和方法的具体对象:原创 2020-07-04 10:45:11 · 126 阅读 · 0 评论 -
Java零基础学习实践系列(三十八):面向对象编程(含方法回顾)
三十八:什么是面向对象? 上一节介绍了稀疏数组,本节开始接触面向对象编程.1.理论整理面向过程VS面向对象:面向过程: 步骤清晰简单,第一步做什么,第二部做什么;适合处理一些较为简单的问题.面向对象: 物以类聚,分类 的思维模式,思考问题会先解决需要哪些分类,然后对这些分类进行单独思考.最后才对某个分类下的细节进行面向过程的思索;适合处理需要多人协作的问题!对于描述复杂的事物,为了宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统.但是具体到微观操作,仍需要面向过程的原创 2020-07-03 16:20:25 · 114 阅读 · 0 评论 -
Java零基础学习实践系列(三十七):稀疏数组
三十七:稀疏数组 上一节介绍了冒泡排序,本节讲一下稀疏数组.1.理论整理当数组中大部分元素为0或者为同一数值时,可以用稀疏数组来保存该数组。稀疏数组的处理方式是:记录数组一共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模举例:2.实践需求:...原创 2020-07-02 11:48:10 · 94 阅读 · 0 评论 -
Java零基础学习实践系列(三十六):冒泡排序
三十六:冒泡排序 上一节介绍了Arrays类,本节介绍冒泡排序1.理论整理冒泡排序是最为出名的排序算法之一下面讲一下冒泡排序的思想:下面是网址【https://www.cnblogs.com/bigdata-stone/p/10464243.html】上别的博主对冒泡排序的实例说明,此处直接拿来辅助理解,如有侵权请私信我立马删除。<以下双横线内部的内容为引用内容:>0.如果遇到相等的值不进行交换,那这种排序方式是稳定的排序方式。1.原理:比较两个相邻的元素,将值大的元素原创 2020-06-28 10:30:04 · 127 阅读 · 0 评论 -
Java零基础学习实践系列(三十五):Arrays类
三十五:Arrays类 上一节介绍了二维数组,本节介绍下Arrays类.1.理论整理数组的工具类:java.util.Arrays在Java JDK帮助文档中了解类[https://docs.oracle.com/javase/8/docs/api/]2.实践另:总结:本节介绍了java中处理数组的类【java.util.Arrays】,可以实现数组的字符串化,排序,指定位置填充等。声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~...原创 2020-06-27 16:33:49 · 118 阅读 · 0 评论 -
Java零基础学习实践系列(三十四):二维数组
三十四:二维数组 上一节介绍了数组的使用,本节开始介绍二维数组。1.理论整理多维数组可以看成是数组的数组二维数组语法:【静态创建】int[ ][ ] array= {{1,2},{2,3},{3,4},{4,5}};【动态创建】int[][] array=new int[2][2];多维数组的使用 num[1][0]实际上,在Java中只有一维数组。二维数组本质上也是一维数组,只是数组中的每一个元素都指向了另一个一维数组而已。2.实践2维数组3维数组总结:本节介绍原创 2020-06-26 09:59:17 · 135 阅读 · 0 评论 -
Java零基础学习实践系列(三十三):数组使用
三十三:数组使用 上一节介绍了数组的下标越界和小结,本节对数组的使用作出介绍。1.理论整理For-Each循环数组做方法入参数组做返回值2.实践用For-Each循环输出数组内容:**用【数组.for】**循环输出数组内容:将数组当参数循环输出数组内容:总结:本节介绍了数组的使用方法,主要有中规中矩的for循环输出,快捷的【数组.for】,定义操作数组的方法并在main方法中调用。声明:本系列是"狂神说Java"教程的个人学习笔记,无意侵权~...原创 2020-06-25 16:58:46 · 93 阅读 · 0 评论 -
Java零基础学习实践系列(三十二):下标越界及小结
三十二:下标越界及小结 上一节介绍了内存分析,本节介绍下数组的下标越界和小结。1.理论整理数组的四个基本特点:长度确定元素必须是相同类型数组中的元素可以是任何类型数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量数组本身就是对象,JAVA中的对象是在【堆】中的下标的合法区间:【0,length-1】,如果越界就会报错总结:本节对数组的特点做了梳理:[长度固定的相同类型元素的有序集合],在引用数组时主要下标不要越界!...原创 2020-06-25 14:23:38 · 114 阅读 · 0 评论 -
Java零基础学习实践系列(三十一):内存分析
三十一:内存分析 上一节介绍了数组的定义以及数组的创建,本节简单介绍下内存分析。1.理论整理数组的创建有两种方式:静态创建和动态创建2.实践总结:本节介绍了java中数组的存放机制,了解了数组的静态和动态创建方法。声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~...原创 2020-06-22 15:20:58 · 97 阅读 · 0 评论 -
Java零基础学习实践系列(三十):数组的定义及创建
三十:数组 上一节介绍了递归,本节来简单认识一下数组的定义以及数组的创建。1.理论整理**数组的定义: 数组 是 相同类型数据的有序集合,数组中的元素可以通过下标进行访问。数组的下标是从0开始的。数组的声明和创建: 数组的创建要历经【声明】+【分配空间】+【赋值】.2.实践总结:本节介绍了数组的定义【相同类型数据的集合】,关键是抓住其相同类型的特点;以及数组的创建,掌握创建以及赋值语法最重要。声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~...原创 2020-06-21 21:59:17 · 479 阅读 · 0 评论 -
Java零基础学习实践系列(二十九):递归
二十九:递归 上一节介绍了可变参数,本节介绍递归思想。1.理论整理 A方法调用B方法,我们很容易理解。而A方法调用A方法却会让我们感到别扭,自己调用自己其实有专属称号:递归. 利用递归我们可以用简单的程序来解决一些复杂的问题。 递归结构包括两个部分:递归头: 什么时候不调用自身方法,如果没有头将陷入死循环;递归体: 什么时候需要调用自身方法递归示意图:2.实践总结:本节通过阶乘方法的实践认识了递归的思想。声明:本系列是"狂神说java"教程的个人学习原创 2020-06-20 14:44:30 · 91 阅读 · 0 评论 -
Java零基础学习实践系列(二十八):可变参数
二十八:可变参数 上一节介绍了命令行传参,本节介绍下可变参数1.理论整理JDK1.5开始,Java支持传递同类型可变参数的方法格式:在可变参数的类型后加三个点…注意点:所有普通参数必须在可变参数之前!示例: public static void printMax(double a,double... numbers){}2.实践因为参数类型或个数不同可能同一个方法要写好几次:具有可变参数且没写static的方法调用时需要new一下:写了static关键字的方法可以直接调用原创 2020-06-19 09:11:14 · 111 阅读 · 0 评论 -
Java零基础学习实践系列(二十七):命令行传参
二十七:命令行传参 上一节介绍了方法的重载,本节介绍一下命令行传参.1.理论整理有时候我们希望运行一个程序时给它传递消息,这要靠传递命令行参数给main()函数实现。2.实践编写需要传递参数的代码2.找到java文件,在命令行中传递参数总结:在java中我们可以编写需要接收外部参数的代码,编完之后可以在cmd命令窗口传递参数进行实现。需要注意的是在编译出class文件后不能直接运行,需要通过 cd…\ 将目录退至src下,运行class文件并在同行输入传递的参数。声原创 2020-06-18 20:33:37 · 106 阅读 · 0 评论 -
Java零基础学习实践系列(二十六):方法的重载
二十六:方法的重载 上一节接触了方法的定义和调用,本节介绍方法的重载.1.理论整理**重载:**在一个类中,有相同的函数名称,但形参不同的函数.方法的重载规则:方法名称必须相同参数列表必须不同(个数或类型或参数排列顺序不同等)方法的返回类型可以相同也可以不同仅仅返回类型不同不足以成为方法的重载实现理论:5. 方法名称相同是,编译器会根据调用方法的参数个数、参数类型等逐个去匹配,一选择对应的方法,如果匹配失败,则编译器报错。2.实践总结:本节介绍并实践了方法的重载,需要注原创 2020-06-17 15:47:56 · 112 阅读 · 0 评论 -
Java零基础学习实践系列(二十五):方法的定义和调用
二十五:方法的定义和调用 上一节接触了Java中的【方法】,本节继续介绍方法的定义和调用.1.理论整理Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段.方法的定义:修饰符是可选的,定义了该方法的访问类型方法名:方法名和参数表共同构成了方法签名实参和形参:形参,用来定义作用的实参:实际调用传递给他的参数方法体:包含具体语句.2.实践总结:本节介绍了方法的定义和调用,需要掌握方法的定义格式以及调用方法.声明:本系列是"狂神说java"教程的个人学习原创 2020-06-16 09:00:07 · 106 阅读 · 0 评论 -
Java零基础学习实践系列(二十四):什么是方法?
二十四:什么是方法? 上一节练习了打印三角形,本节开始接触一下Java中的【方法】.1.理论整理example: System.out.println() 依次是【类】+【对象】+【方法】+( )Java中方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合;方法包含于【类】或【对象】中;方法在程序中被创建,在其他地方被引用.设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合.我们设计方法的时候最好保持方法的原子性,也就是一个方法只完成一原创 2020-06-15 16:57:29 · 112 阅读 · 0 评论 -
Java零基础学习实践系列(二十三):打印三角形及Debug
二十三:打印三角形及Debug 上一节了解了break和continue以及标签跳转,本节练习下打印三角形.1.练习:打印三角形2.总结:本节用for循环通过找规律输出了三角形,认识了java中设置程序断点调用Debug按钮的功能.声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~...原创 2020-06-14 14:44:53 · 143 阅读 · 0 评论 -
Java零基础学习实践系列(二十二):break和continue、标签跳转
二十二:break和continue 上一节了解了什么是增强for循环,本节看下break和continue以及标签跳转.1.理论整理break 用于强行退出循环;continue用于终止某次循环过程,转入下一次循环过程。java通过加标签的方式可以实现跳转功能;2.实践break:退出循环continue:跳过本次循环标签跳转:总结: 本节介绍了控制循环的break和continue,以及标签跳转问题。声明:本系列是"狂神说Java"教程的个人学习笔记,无意侵权~原创 2020-06-13 16:51:24 · 92 阅读 · 0 评论 -
Java零基础学习实践系列(二十一):增强for循环
二十一:增强for循环 上一节练习了打印九九乘法表,本节了解一下什么是增强for循环。1.理论整理增强型for循环是Java5引入的一种主要用于数组或集合的循环,语法格式如下:for(声明语句:表达式){//代码句子}2.实践总结:增强for循环是用于遍历数组或集合的一种"偷懒"行为,需要掌握其含义;注释我们首次接触数组的定义方式,需要慢慢感受.声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~...原创 2020-06-12 20:16:01 · 114 阅读 · 0 评论 -
Java零基础学习实践系列(二十):打印九九乘法表
实践二十:打印九九乘法表 上一节主要讲了for循环,本节进行一次练习。实践:打印九九乘法表总结:九九乘法表的关键一是表示行变量与列变量,二是学会输出空格与换行!声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~...原创 2020-06-11 21:05:01 · 146 阅读 · 0 评论 -
Java零基础学习实践系列(十九):for循环
实践十九:For循环 上一节主要讲了while和do-while循环,本节讲一下For循环。1.理论整理for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环的语法格式如下:for(初始化;布尔表达式;更新){//代码语句}2.关于for循环有以下几点说明:1.最先执行初始化步骤,可以声明一种类型,也可以是空语句!2.然后检测布尔表达式的值,如果为 true,循环体被执行;3.执行一次循环体后,更新循环控制变量;4.在此检测布尔表达式,循环执行上面的过原创 2020-06-10 20:38:05 · 157 阅读 · 0 评论 -
Java零基础学习实践系列(十八):while和do-while循环
实践十八:while和do-while循环 上一节主要讲了switch多选择结构,本节讲一下while和do-while循环。1.理论整理while是最基本的循环,它的结构为:while(布尔表达式){//循环内容}我们大多数情况需要设置循环结束条件小部分情况需要一直执行,比如服务器保持响应do-while循环和while循环不同,while循环在不满足条件时不能进入循环,但是do-while循环至少会执行一次,它的结构为:do{//代码语句}while(布尔表达式)总结:w原创 2020-06-09 20:46:11 · 135 阅读 · 0 评论 -
Java零基础学习实践系列(十七):switch多选择结构
实践十七:switch多选择结构 上一节主要讲了Java中的顺序结构、if选择结构,本节来讲一下switch多选择结构。1.理论整理 多选择结构还有一个实现方式就是:switch case语句。 使用方式:switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选//你可以有任意数量的case语句 default : //可选原创 2020-06-02 22:41:59 · 113 阅读 · 0 评论 -
Java零基础学习实践系列(十六):顺序结构和选择结构
实践十六:顺序结构和选择结构 上一节主要讲了Scanner的进阶使用,本节讲一下Java中的顺序结构、if选择结构。1.理论整理Java的基本结构就是顺序结构,除非指明,程序就是按照顺序一句一句执行的。顺序结构是最简单的算法结构,也是任何一个算法都离不开的一种基本算法结构。选择结构是非常重要的一种结构,因为我们很多时候需要去判断一个东西是否可行,然后我们才去执行。此时就要用到if选择结构了。if选择结构语法:if单选择结构:if双选择结构:if多选择结构:2原创 2020-06-01 10:53:01 · 135 阅读 · 0 评论 -
Java零基础学习实践系列(十五):Scanner进阶使用
实践十五: 上一节主要讲了Java流程控制中的用户交互Scanner,本节讲一下Scanner的进阶使用。1.理论整理Scanner除了有Scanner.hasNext、Scanner.hasNextLine、Scanner.next、Scanner.nextLine之外,还有Scanner.hasNextInt、Scanner.hasNexDoublle、Scanner.nextInt、Scanner.nextDouble以及if…while等命令。它们的原理和上一节讲的基本一致,具体看下面原创 2020-05-31 17:51:58 · 173 阅读 · 0 评论