java语言学习
文章平均质量分 88
_404_NOT_FOUND_
很多事情从你决定开始的一瞬间就变了,更好或者更差。坚持下去,最困难的时刻终会过去的
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三十八、java学习--递归
转自知乎 一鸣我画了18张图,给女朋友讲清楚了递归https://zhuanlan.zhihu.com/p/96084111前言递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到 Google 的 PageRank 算法都能看到,也是面试官很喜欢的考点最近看了不少递归的文章,收获不小,不过我发现大部分网上的讲递归的文章都不太全面...原创 2019-12-09 15:06:02 · 560 阅读 · 0 评论 -
二十一、java学习--继承
继承的概念继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。生活中的继承:兔子和羊属于食草动物类,狮子和豹属于食肉动物类。食草动物和食肉动物又是属于动物类。所以继承需要符合的关系是:is-a,父类更通用,子类更具体。虽...原创 2018-07-26 09:41:57 · 158 阅读 · 0 评论 -
二十二、java学习--重写(override)与重载(overload)
重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 ...原创 2018-07-26 09:42:18 · 196 阅读 · 0 评论 -
二十三、java学习--多态
多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: 多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 如果当前在 Word 下弹出的就是 Word 帮助; 在 Windows 下弹出的就是 Windows 帮助和支持。同...原创 2018-07-26 09:42:38 · 207 阅读 · 0 评论 -
二十四、java学习--抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。父...原创 2018-07-26 09:42:53 · 178 阅读 · 0 评论 -
二十五、java学习--封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了...原创 2018-07-26 09:43:06 · 180 阅读 · 0 评论 -
二十六、java学习--接口
Java 接口接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是...原创 2018-07-26 09:43:20 · 203 阅读 · 0 评论 -
二十七、java学习--包(package)
Java 包(package)为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。包的作用 1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。...原创 2018-07-26 09:43:36 · 228 阅读 · 0 评论 -
二十八、java学习--数据结构
Java 数据结构Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties)以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection),...原创 2018-07-26 09:43:53 · 219 阅读 · 0 评论 -
二十九、java学习--集合框架
Java 集合框架早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题。由于这个原因,使用 Vector 类的方式和使用 Properties 类的方式有着很大不同。集合框架被设计成要满足以下几个目标。 该框架...原创 2018-07-26 09:44:10 · 175 阅读 · 0 评论 -
三十、java学习--泛型
Java 泛型Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用 Java 泛型。使用 Jav...原创 2018-07-26 09:44:22 · 199 阅读 · 0 评论 -
三十一、java学习--序列化
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列化的对象...原创 2018-07-27 10:33:12 · 193 阅读 · 0 评论 -
三十二、java学习--网络编程
Java 网络编程网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。java.net 包中提供了两种常见的网络协议的支持: TCP:TCP 是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。通常...原创 2018-07-27 10:33:24 · 192 阅读 · 0 评论 -
三十三、URL处理
URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示为互联网上的资源,如网页或者FTP地址。本章节我们将介绍Java是如处理URL的。URL可以分为如下几个部分。protocol://host:port/path?query#fragmentprotocol(协议)可以是 HTTP、HTTPS、FTP 和 File,port ...原创 2018-07-27 10:33:36 · 224 阅读 · 0 评论 -
三十四、java学习--发送邮件
Java 发送邮件使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) 。您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。 您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1)。你也可以使...原创 2018-07-27 10:33:49 · 752 阅读 · 0 评论 -
三十五、java学习--多线程编程
Java 多线程编程Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直...原创 2018-07-27 10:34:02 · 165 阅读 · 0 评论 -
三十六、java学习--Applet基础
Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。如下所示是独立的 Java 应用程序和 applet 程序之间重要的不同:Java 中 Applet 类继承了 java.applet.Applet 类。 Applet 类没有定义 main(),所以一个 Ap...原创 2018-07-27 10:34:15 · 238 阅读 · 0 评论 -
三十七、java学习--文档注释
Java 文档注释Java 支持三种注释方式。前两种分别是 // 和 /* */,第三种被称作说明注释,它以 /** 开始,以 */结束。说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。说明注释,使你更加方便的记录你的程序信息。javadoc 标签javadoc 工具软件识别以下标签:标签 描述 ...原创 2018-07-27 10:34:28 · 189 阅读 · 0 评论 -
十三、java学习--StringBuffer和StringBuilder类
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安...原创 2018-07-25 09:43:24 · 203 阅读 · 0 评论 -
二十、java学习--异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。异常发生的原因有很多,通常包含以下几大类:用户输入了非...原创 2018-07-25 09:46:01 · 153 阅读 · 0 评论 -
二、java学习--基础语法
Java 基础语法一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动...原创 2018-07-24 14:21:12 · 166 阅读 · 0 评论 -
三、java学习--对象和类
Java 对象和类Java作为一种面向对象语言。支持以下基本概念:多态 继承 封装 抽象 类 对象 实例 方法 重载本节我们重点研究对象和类的概念。对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。下图中男孩女孩为类,而具体的...原创 2018-07-24 14:32:24 · 257 阅读 · 0 评论 -
四、java学习--java基本数据类型
Java 基本数据类型变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。Java 的两大数据类型:内置数据类型 引用数据类型内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两...原创 2018-07-24 14:44:25 · 153 阅读 · 0 评论 -
五、java学习--变量类型
在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:type identifier [ = value][, identifier [= value] ...] ;格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。以下列出了一些变量的声明实例。注意有些包含了初始化过程。int a, b, c; ...原创 2018-07-24 14:57:45 · 252 阅读 · 0 评论 -
六、java学习--java修饰符
Java 修饰符Java语言提供了很多修饰符,主要分为以下两类:访问修饰符 非访问修饰符修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明:public class className { // ...}private boolean myFlag;static final double weeks = 9.5;protected st...原创 2018-07-24 15:05:08 · 174 阅读 · 1 评论 -
七、java学习--运算符
Java 运算符计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符算术运算符算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。表格中的实例假设整数变量A的值为10,变量B的值为20:...原创 2018-07-24 15:35:21 · 132 阅读 · 0 评论 -
八、java学习--循环结构
Java 循环结构 - for, while 及 do...while顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。Java中有三种主要的循环结构:while 循环 do…while 循环 for 循环在Java5中引入了一种主要用于数组的增强型for循环。while 循环while是最基本的循环,它的结构为:while( ...原创 2018-07-24 15:47:32 · 183 阅读 · 0 评论 -
九、java学习--分支机构
Java 分支结构 - if...else/switch顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。Java 有两种分支结构:if 语句 switch 语句if 语句一个 if 语句包含一个布尔表达式和一条或多条语句。语法if 语句的用语法如下:if(布尔表达式){ //如果布尔表达式为true将执行的语句}如果布尔表达式的值为 ...原创 2018-07-24 15:53:37 · 360 阅读 · 0 评论 -
十、java学习--Number&Math类
一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double 等。int a = 5000;float b = 13.65f;byte c = 0x4a;然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。所有的包装类(Integer、Lo...原创 2018-07-24 15:56:28 · 253 阅读 · 0 评论 -
十一、java学习--Character类
Java Character 类Character 类用于对单个字符进行操作。Character 类在对象中包装一个基本类型 char 的值实例char ch = 'a'; // Unicode 字符表示形式char uniChar = '\u039A'; // 字符数组char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };...原创 2018-07-25 09:42:39 · 192 阅读 · 0 评论 -
十二、java学习--String类
Java String 类字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。创建字符串创建字符串最简单的方式如下:String greeting = "菜鸟教程";在代码中遇到字符串常量时,这里的值是 "菜鸟教程"",编译器会使用该值创建一个 String 对象。和其它对象一样,可以使用关键字和构造方...原创 2018-07-25 09:42:56 · 177 阅读 · 0 评论 -
十四、java学习--数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。本教程将为大家介绍 Java 数组的声明、创建和初始化,并给出其对应的代码。声明数组...原创 2018-07-25 09:44:10 · 192 阅读 · 0 评论 -
十五、java学习--java日期时间
ava.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(long millisec)Date对象创建以后,可以调用下面的方法。序号 方法和描述 1 boo...原创 2018-07-25 09:44:27 · 473 阅读 · 0 评论 -
十六、java学习--正则表达式
正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式实例一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。.(点号)也是一个正则表达式,它匹配任何一个字符如:"a" 或 "1"。下表列出了一些正则表达式的实例及描述...原创 2018-07-25 09:44:47 · 213 阅读 · 0 评论 -
十七、java学习--方法
在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢?println() 是一个方法。 System 是系统类。 out 是标准输出对象。这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。 那么什么是方法呢?Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合...原创 2018-07-25 09:45:06 · 205 阅读 · 0 评论 -
十八、java学习--流(Stream)、文件(File)和IO
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。但本节讲述最基本的和流与 I/O 相...原创 2018-07-25 09:45:24 · 197 阅读 · 0 评论 -
十九、java学习--Scanner
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。下面是创建 Scanner 对象的基本语法:Scanner s = new Scanner(System.in);接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 ha...原创 2018-07-25 09:45:41 · 163 阅读 · 0 评论 -
一、java学习--简介
Java 简介Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java分为三个体系:JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Plat...原创 2018-07-24 14:13:11 · 279 阅读 · 0 评论
分享