java基础
文章平均质量分 55
11onhook
这个作者很懒,什么都没留下…
展开
-
JAVA基础(67)---查找、排序算法
查找给定一个值K,在含有n个记录的表中找出关键字等于K的记录。若找到,则查找成功,返回该记录的信息或者该记录在表中的位置;否则查找失败,返回相关的指示信息。基于线性表的查找顺序查找思想:逐个比较,直到找到或者查找失败对给定的结构进行遍历,依次使用要查找的值与每一个记录进行比较,如果相等,则返回该记录所在的索引值,如果不存在,则返回-1折半查找(二分查找)二分查找使用...原创 2018-11-20 10:52:35 · 196 阅读 · 0 评论 -
JAVA基础(42)---创建对象并访问属性和方法
如何在Java的类中,来体现面向对象 Java中类的定义: 类修饰符 class 类名{ ...原创 2018-11-12 11:01:17 · 1235 阅读 · 0 评论 -
JAVA基础(41)---面向对象编程
面向对象概述 类(class)和对象(object)是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。面向对象:不断的去创建对象,调用对象,维护对象与对象之间的关系《Java编程思想》有一句话是:every is Object //世间万物皆对象面向过程到面向对象...原创 2018-11-12 10:50:02 · 232 阅读 · 0 评论 -
JAVA基础(53)---类与类之间的关系
面向对象的三大特征: 封装 继承 多态类与类之间的关系继承。 依赖。一个类作为另一个类中的参数出现 聚合。指的是两个类之间存在着一种整体与部分的关系,两个类之间,虽然有关系,但是另一个类的存在与否,不会影响到当前类的整体性 组合。指的是两个类之间存在着一种整体与部分的关系,两个类之间,虽然有关系,但是另一个类的存在与否,会执行影响到当前类的完整性组合关系图 ...原创 2018-11-15 22:27:07 · 305 阅读 · 0 评论 -
JAVA基础(52)---继承
Java是一门纯粹的面向对象的编程语言面向对象有三个基本特征:封装 继承 多态封装:隐藏实现细节,对外提供公共的访问方法。就是将成员变量(属性)进行私有化,同时对外提供getter和sertter方法,方法和类 也是封装的一种表现形式继承类中:属性、类属性 、构造方法、构造代码块、静态代码块、普通方法、静态方法类与类之间的关系:继承继承在代码中的体现:extends例...原创 2018-11-15 22:06:57 · 154 阅读 · 0 评论 -
JAVA基础(48)---修饰符
访问权限修饰符类修饰符public(访问控制符):将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类 abstract:将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现 final:将一个类声明为最终(即非继承类),表示他不能被其他类继承。成员变量修饰符public(公共访问控制符):指定该变量为公共的,他可以被任何对象的方法访问 privat...原创 2018-11-13 22:53:36 · 159 阅读 · 0 评论 -
JAVA基础(47)---包
包对代码的管理,分包管理。包就是计算机中的文件夹。包的命名规则在同一个项目下,包名不能重复。“ 公司域名的反写+模块名称 ” 所有的字母均采用小写字母而且包的层级之间使用 . 进行分割包的关键字:packageimport:导包因为Java中的类是分包管理的,如果你要使用的类和当前的类不在一个包下,不能够直接使用。需要将这个类导入到当前类中方法:在最上面加上 import ...原创 2018-11-13 22:32:15 · 125 阅读 · 0 评论 -
JAVA基础(40)---软件开发概述
java是一门纯粹的面向对象的编程语言。面向对象有两个核心概念:类和对象(人是一个类,每个具体的人:张三、李四就是一个对象)软件开发概述软件的生命周期软件的生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义(立项)、可行性分析(经济可行性,实用可行用)、总体描述(需求分析)、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按...原创 2018-11-11 11:39:23 · 1272 阅读 · 0 评论 -
JAVA基础(39)---Calendar
Calenderimport java.util.Calendar;public class CalendarDemo{ public static void main(String[] args) { //创建Calendar对象 Calendar c = Calendar.getInstance(); System.out.println(c.get(C...原创 2018-11-11 10:35:34 · 154 阅读 · 0 评论 -
JAVA基础(33)---正则表达式
正则表达式什么是正则表达式?正则表达式(Regular Expression)就是符合一定规则的字符串,它可以匹配特定的字符串,方便进行字符串的处理正则表达式的规则一、校验数字的表达式 1、数字:^[0-9]*$ 2、n位的数字:^\d{n}$ ...原创 2018-11-08 09:50:52 · 174 阅读 · 0 评论 -
JAVA基础(32)---字符串的方法
String类关于字符串的常用操作: ① 获取功能: (1)public int length():返回此字符串的长度; (2)public char charAt(int index):获取指定索引处的字符; (3)public int indexOf(String str)和...原创 2018-11-08 09:26:22 · 445 阅读 · 0 评论 -
JAVA基础(31)---API之String
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如: String str = "abc"; 等效于: char data[] = {'a', 'b', 'c'};...原创 2018-11-08 09:14:50 · 158 阅读 · 0 评论 -
JAVA基础(46)---构造方法和匿名方法
构造方法构造方法的特点构造方法没有返回值,连void也不写 构造方法的方法名必须和类名完全一致; 当我们没有去显式的声明构造方法的时候,Java默认会为每一个类,提供一个无参的构造方法。一旦我们提供了任何一个构造方法,那么Java就不在提供默认的无参构造方法。基于第三个特点,我们一般在写一个类的时候,如果要写构造方法,自己最好将这个无参的构造方法也手动的写出来。 ...原创 2018-11-13 10:28:40 · 4846 阅读 · 0 评论 -
JAVA基础(45)---this关键字
在Java中变量的使用:就近原则如何区分同名的成员变量和局部变量? 要区分同名的成员变量和局部变量:thisthis在这里什么意思? this在这里代表本类的当前对象。本类的当前对象又是谁呢? 谁调用当前包含this的方法,那么this就代表谁在一个类中,如果想要去表明一个变量是成员变量,就可以给这个变量前边加上...原创 2018-11-13 09:55:05 · 167 阅读 · 0 评论 -
JAVA基础(44)---局部变量和成员变量的区别及封装
成员变量和局部变量的区别 1、在类中的位置不同 成员变量:类中方法外 局部变量:方法内或者方法声明上 ...原创 2018-11-13 09:07:29 · 171 阅读 · 0 评论 -
JAVA基础(43)---对象的内存分配
JAVA内存划分对象内存分配一个 java 文件编译后,放到 class 区,然后执行程序,main方法开始入栈,当创建一个对象时,会在栈内存创建一个内存空间,名称就是stu,同时在对内存也创建一个内存空间,里面存储 new 的这个类的一些属性(有默认值)和方法形式(不是一个完整的方法,方法都在 class 区),然后将这个堆内存的地址存储在栈内存 stu 这个空间里,如果赋值,那...原创 2018-11-12 11:19:02 · 183 阅读 · 0 评论 -
JAVA基础(49)---static及static修饰变量
static所解决的问题这里摘录一下《Java编程思想(第四版)》(《Java核心技术Ⅰ卷/Ⅱ卷》)里关于static关键字的一段原话:(P29)通常来说,当创建类时,就是在描述那个类的对象的外观与行为 。除非用new创建那个对象,否则,实际上并未获得任何对象。执行new来创建对象的时候,数据存储空间才被分配,其方法才供外界调用。有两种情形用上述方法是无法解决的。一种情形是,只想为某特定域...原创 2018-11-14 11:14:19 · 352 阅读 · 0 评论 -
JAVA基础(62)---线性结构和线性表的实现
线性结构的定义若结构是非空有限集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。可表示为:(a1 , a2 , ……, an)线性结构的特点 ① 只有一个首结点和尾结点; ② 除首尾结点外,其他结点只有一个直接前驱和一个直接后继简言之,线性结构反映结...原创 2018-11-18 17:06:39 · 428 阅读 · 0 评论 -
JAVA基础(66)---队列
队列是一种先进先出(FIFO)的线性表,只能在表的一端(队尾)进行插入,在另一端(队头)进行删除运算的线性表。逻辑结构:与线性表相同,仍为一对一关系存储结构:用顺序队列或链队存储均可运算规则:先进先出(FIFO)实现方式:关键是编写入队和出队的函数,具体实现 依顺序对或链队的不同而不同实现线性表有顺序存储和链式存储,队列是一种特殊的线性表,同样也存在这两种存储方式。...原创 2018-11-20 10:36:52 · 223 阅读 · 0 评论 -
JAVA基础(61)---数据结构的基本概念和逻辑结构以及存储结构
数据结构 本章的目的:对数据结构有一个大概的了解和认知数据:能够存储在计算机中的所有的内容统称为数据。分为:数值型数据、非数值型数据数据元素:是数据的基本单位,也称为结点或记录数据项:有独立含义的数据最小单位,也称域(field)三者之间的关系:数据-->数据元素--->数据项excel中的一个sheet保存了全班学生的信息:在这...原创 2018-11-18 16:46:40 · 721 阅读 · 0 评论 -
JAVA基础(65)---栈
栈定义:只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构:与线性表相同,仍为一对一关系存储结构:用顺序栈或链栈存储均可,但以顺序栈更常见运算规则:只能在栈顶运算,且访问结点时依照后进先出(LIFO)或先进后出(FILO)的原则实现方式:关键是编写入栈和出栈函数,具体实现依顺序栈或链栈的不同而不同基本操作:入栈、出栈、读栈顶元素值、建栈、判断栈端、栈空等栈...原创 2018-11-19 20:20:02 · 187 阅读 · 0 评论 -
JAVA基础(64)---双向链表
双向链表的实现package org.lanqiao.doublelink;public class DoubleLink{ /** * Node<AnyType>类定义了双向链表中节点的结构,它是一个私有类, 而其属性和构造函数都是公有的,这样,其父类可以直接访问其属性 * 而外部类根本不知道Node类的存在。 * * @...原创 2018-11-19 20:06:11 · 136 阅读 · 0 评论 -
JAVA基础(63)---单向链表
链式存储结构结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。单链表的存储映像单向链表的每个数据项存储的都是 数据 + 下一个数据地址 ;双向链表存储的是 上一个数据地址 + 数据 + 下一个数据地址单向链表的实现public class SingleLinkedList { /* * 结点类 */ private class No...原创 2018-11-19 19:54:18 · 195 阅读 · 0 评论 -
JAVA基础(60)---接口与类的区别和联系
类,接口和抽象类之间的关系以及区别与联系类与类 类与接口 以及 接口与接口 的关系类与类 继承关系,只能单继承,但是可以多层继承类与接口 实现关系,可以单实现,也可以多实现。还可以在继承一个类的同时实现多个接口接口与接口 继承关系,可以单继承,也可以多继承接口和抽象类相同点...原创 2018-11-17 11:06:03 · 513 阅读 · 0 评论 -
JAVA基础(59)---接口
接口 对外提供一个标准和规范。至于其中的实现,并不去关心。接口定义:interface接口和类的区别:接口不能创建对象。 接口中没有构造方法 接口的意义 接口是用来被实现的。接口的组成接口中声明的变量,默认都是public static final 在接口不存在变量,存在的只能是常量,而且是静态常量 在接口中...原创 2018-11-17 10:59:45 · 152 阅读 · 0 评论 -
JAVA基础(58)---内部类
内部类指的是定义在类的内部的类。成员内部类定义在类的内部,方法的外部的内部类,称为成员内部类局部内部类指的是定义在方法内的内部类,称为局部内部类。 内部类的定义形式 class{ ...原创 2018-11-17 10:45:56 · 142 阅读 · 0 评论 -
JAVA基础(56)---抽象类
抽象类面向对象的程序设计:类的设计是从抽象到具体,在抽象的过程中,又是从具体到抽象abstarct:修饰类,使用该关键字修饰的类就是抽象类 修饰方法,该方法就是抽象方法特点不能实例化(不能创建对象) 存在构造方法:就是为了创建子类对象来使用的(就是为了让子类中能够访问父类中的成员) 抽象类中不一定要有抽象方法:就是要使用该类中的成员属性和方法...原创 2018-11-17 10:32:16 · 173 阅读 · 0 评论 -
JAVA基础(51)---单例设计模式
设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之...原创 2018-11-15 11:19:17 · 146 阅读 · 0 评论 -
JAVA基础(57)---模板设计模式
由抽象类衍生出的一种设计模式:模板设计模式(模板方法设计模式)模板设计模式,就是将完成某件事固定不变的步骤设计成模板,要用 abstract 修饰的方法,然后将不确定的业务逻辑设计成抽象的方法,目的就是让子类继承并且复写该抽象方法,能够为了实现可扩展性。官方的说法是:定义一个操作中的算法框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤...原创 2018-11-17 10:33:24 · 151 阅读 · 0 评论 -
JAVA基础(55)---多态经典案例
class A { private int a = 10; public String show(D obj) { // System.out.println(a); return ("A and D"); } public String show(A obj) { return ("A and A")...原创 2018-11-16 17:24:28 · 194 阅读 · 0 评论 -
JAVA基础(54)---多态
多态所谓多态就是值程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中是实现的方法,必须在由程序运行期间才能确定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改...原创 2018-11-16 17:19:44 · 171 阅读 · 0 评论 -
JAVA基础(50)---静态方法和静态代码块
静态方法 用static修饰的方法。静态的属性也称类变量,静态的方法称为类方法。静态方法什么时候使用类属性作为该类各个对象之间共享的变量,在设计类时,分析哪些类属性不因对象的 改变而改变,将这些属性设置为类属性,相应的方法设置为类方法。 如果方法和调用者无关,则这样的方通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调...原创 2018-11-14 22:56:41 · 2356 阅读 · 0 评论 -
JAVA基础(25)---冒泡排序
数组元素的排序 冒泡排序、选择排序、插入排序、快速排序(元素排序不仅仅这四种)冒泡排序首先从数组的最左边开始,取出第0号位置(左边)的数据和第1 号位置(右边)的数据,如果左边的数据大于右边的数据,则进行交换,否则不进行交换。接下来右移一个位置,取出第1 个位置的数据和第2 个位置的数据,进行比较,如果左边的数据大于右边的数据,则进行交换,否而不进行交换。...原创 2018-11-05 15:38:54 · 187 阅读 · 0 评论 -
JAVA基础(24)---参数传递
方法调用时参数的传递值传递:主要针对的是基本数据类型的参数传递,传递的是数据引用传递:除了基本数据类型的参数,其他的一概都属于引用传递,传递的是地址 ...原创 2018-11-05 15:18:36 · 154 阅读 · 2 评论 -
JAVA基础(23)---数组的常用操作
数组的一些常用操作数组元素的遍历① 正序 ② 逆序public class ArryDemo{ public static void main(String[] args){ int[] arry = {2,5,3,7,6} //正序遍历数组 for(int i = 0 ; i < arry.length ; i++...原创 2018-11-05 15:05:55 · 165 阅读 · 0 评论 -
JAVA基础(27)---插入排序
插入排序插入排序和打牌一样,拿到一个数和前面已有的数进行对比,比前面的数小就放到前面,举例:4,2,5,1,7 : 第一次内循环、拿到数a[1]=2,和a[0]=4进行对比,2小,换位置;第二次内循环、拿到数5,和4比,位置不变,if判断为false,则break,跳出内循环,进行下一次;第三次内循环、拿到数1,和5比,交换位置,1在和4比,交换位置,最后和2比,再次交换位置,得到...原创 2018-11-06 08:34:56 · 215 阅读 · 0 评论 -
JAVA基础(26)---选择排序
选择排序选择排序对冒泡排序进行了改进,使交换次数减少,但比较次数仍然没有减少。先从左端开始,找到下标为0 的元素,然后和后面的元素依次比较,如果找到了比下标0小的元素,那么再使用此元素,再接着依次比较,直到比完成所有的元素,最后把最小的和第0个位置交换。扫描了所有数据,最后选择出了最小的数据,这也是为什么叫选择排序的原因第二遍排序将从下表为 1 的元素开始,依此类推,经过 N(N-...原创 2018-11-06 08:25:04 · 152 阅读 · 0 评论 -
JAVA基础(11)---成员变量和局部变量
变量的分类:按照变量声明的位置(作用的范围): 成员变量: 声明在类的内部,方法的外部的变量,称为成员变量 局部变量:声明在方法内部,包括方法的参数,成为局部变量注意:类外面(与类对应的大括号外面),不能有变量的声明。按照变量的类型:分为基本类型变量和引用类型变量 成员变量和局部变量的区别:1、从作用范围来说:成员变量在整个类的内...原创 2018-10-30 17:46:03 · 199 阅读 · 0 评论 -
JAVA基础(10)---编码
编码 UTF-8存储格式(UTF8主要就是为了节省空间):UTF-8采用8位存储,UTF-16(java中char类型使用)就采用16位存储,UTF-32采用32位存储 ...原创 2018-10-30 17:26:04 · 201 阅读 · 0 评论 -
JAVA基础(13)---顺序和选择控制语句
流程控制Java中的流程控制有三类:顺序控制、选择控制和循环控制顺序控制语句 在Java中的程序的执行流程: 从main方法开始执行,从main方法的方法体的第一句开始执行,依次按照语句的先后顺序:从上而下 逐句执行。选择控制语句(1)在程序的执行过程当中,在某些时候,我们对代码的执行,需要在满足一定的条件之后才...原创 2018-10-31 15:49:33 · 314 阅读 · 0 评论