
java
学习java
黑夜中奔跑
以梦为马 不负韶华
展开
-
java Collection
1.认识类集如果想保存多个对象,通常使用对象数组完成,但是对象数组本身存在一个大问题----其数据的长度是不能更改的,所以以后采用了链表完成动态对象数组开发,在考虑开发时数据会频繁地使用,所以引入了集类的概念,集类是一种动态的对象数组,属于各个数据结构的实现类,整个集类的主要组成是一些核心的操作接口:Collection 、List、Set、Map、Iterator、Enumeration.2...原创 2020-03-22 20:06:49 · 154 阅读 · 0 评论 -
java Scanner
1.jdk1.5之后专门提供了一个Scanner类,此类不单可以完成之前输入数据操作,也可以方便对输入数据进行验证,此类放在java.util包中,常用的方法如表:在使用Scanner类接收数据方法(执行nextXxx())前一定要首先使用hasNextXxx()判断是否有指定格式的数据出现,这是使用习惯.2.通过Scanner进行数据的输入将System.in通过Scanner进行封装操...原创 2020-03-20 21:47:41 · 139 阅读 · 0 评论 -
java 正则表达式
1,.正则表达式是在开发中使用的一个重要概念,下面来了解一下.判断一个字符串是否由数字组成.package class5;public class TestDemo7 { public static void main(String[] args) throws Exception{ String str="123"; if (isNumber(st...原创 2020-03-11 21:33:23 · 108 阅读 · 0 评论 -
java 比较器(Comparable)
如果想为一组对象进行排序,那么必须有一个可以区分出对象大小的关系操作,这个操作在Java中就是利用比较器完成的,java中提供了两种比较器支持:java.long.Comparable和java.util.Comparator1.如果要为对象指定比较规则,那么对象所在的类必须实现Comparable接口.public interface Comparable<T>{ pub...原创 2020-03-11 20:58:19 · 939 阅读 · 0 评论 -
java StringBuffer类
1.2原创 2020-02-29 21:23:46 · 231 阅读 · 0 评论 -
java 线程的操作状态和方法 同步异步 锁
想实现多线程,必须在主线程中创建新的线程对象.任何线程一般具有5中状态,即创建、就绪、运行、阻塞和终止.线程状态的转移与方法直接关系.1.创建状态在程序中,用构造方法创建了一个线程对象后,新的线程对象便处于新建状态,此时,他已经有了相应的内存空间和其他资源,但还处于不可运行状态.新建一个线程对象可采用Thread类的构造方法来实现,如 Thread thread=new Thread()....原创 2020-02-26 20:22:54 · 372 阅读 · 0 评论 -
java 多线程
1.进程是程序的一次动态执行过程,它经历从代码加载、执行到执行完毕的完整过程,这个过程也是进程本身从产生、发展到最终消亡的过程.多进程操作系统能够同时运行多个进程(程序).CPU具备分时机制,每个进程都能循环获得自己的CPU时间片.由于CPU执行速度非常快,使得所有程序好像"同时"运行一样.2.多线程是实现并发机制的一种有效手段.进程和线程一样,都是实现并发的一个基本单位.线程是比进程更小的执行...原创 2020-02-25 16:49:11 · 168 阅读 · 0 评论 -
java Annotation(注解)
1.程序允许通过注解(Annotation)的方式进行程序的定义,而在java SE中存在3中注解:@Override、@Deprecate和@Suppress Warnings.2.准确的覆写方法:@Override在进行方法覆写的过程中,要求方法的名称、参数的类型及个数完全相同,而在开发时可能手误导致方法不能正确地覆写,而加上了"@Override"之后可以准确的进行方法地覆写.clas...原创 2020-02-21 17:04:04 · 130 阅读 · 0 评论 -
java 枚举
1.枚举的基本概念想一下,多设计模式,构造方法私有化(非 public),之后在类的内部存在若干个指定的对象,通过一个方法返回指定对象.多设计模式package class4;class Color{ private static final Color RED=new Color("红色"); //实例化对象 private static final Color G...原创 2020-02-17 20:23:41 · 215 阅读 · 0 评论 -
java 泛型 静态导入
1.要想导入不同的包的类的方法,那么肯定使用import完成.类中方法全部都属于static,而按照之前的方式如果要使用这个类,操作如下:如果一个类中的全部方法都是static型的,则可以使用如下的语法进行静态导入.静态方法import static 包.类.*;运行结果静态导入,是将这个指定类中的全部方法导入进来,最后就好像这些方法全部是在类中定义的方法一样....原创 2020-02-14 21:02:30 · 787 阅读 · 0 评论 -
java 可变参数 增强for循环
1.如果现在要实现若干个整型变量的相加操作,怎么做呢,在参数不确定的情况下,只能将若干个操作的数据保存到数组中,而后在使用数组即可.使用数组接收任意多个参数.运行结果2.如果想要传递任意多个数据,不是传递一个数据,可以使用可变参数形式进行操作.定义可变参数支持的方法public [static][final] 返回值类型 方法名称(参数类型 ... 变量){//虽然定义方式改变了,但...原创 2020-02-14 20:44:10 · 715 阅读 · 0 评论 -
java 包及访问权限
1.包的使用及定义1.1包的定义在java中,主要目的是将不同功能的文件进行分割,在之前中,所有的代码都保存在同一个目录中,如果出现同名文件,那么会发生覆盖问题,因为在同一个目录中不予许有重名文件,而在不同的目录中可以有重名文件,所谓的包实际上指的是文件夹.1.2包的使用在Java中使用package关键字来定义包一旦包定义完成之后,这个类的名字就成了"cn.mldn.demo.Hell...原创 2020-02-12 17:16:36 · 354 阅读 · 0 评论 -
java中异常和捕获处理
1.异常时程序中导致程序中断的一种指令流,下面来了解异常.运行结果这时候出现异常,程序不执行了,而是进行错误信息输出.2.如果希望程序出现异常依然正常完成的话,那么使用如下进行异常处理.try语句中捕获可能出现异常的代码,如果在try中产生了异常,则程序会自动跳转到catch语句中找到匹配的异常类型进行相应的处理,最后不管程序是否会产生异常,肯定都会执行finally语句,finall...原创 2020-02-10 20:23:27 · 336 阅读 · 0 评论 -
java包装类 数据转型
1.java中,一直提倡一个原则:一切皆对象.那么原则本身有一个漏洞----基本数据类型不是对象,那么怎么解决这个漏洞,最简单是将数据类型作为一个类的属性保存起来,把基本数据类型包装一下.1.1实现基本数据类型包装运行结果以上操作是讲基本数据类型变为一个对象的形式进行操作了,但是有一个问题:基本数值型数据是可以进行数学运算的,可是变为类的形式,那么肯定无法计算.所以java提供了8种包装类...原创 2020-02-10 13:36:32 · 378 阅读 · 0 评论 -
java Object类
1.java中,除了Object类之外,所有的类实际都存在继承关系,现在定义了一个类,没有默认继承任何父类,默认继承Object类,下面两种类最终定义效果一样.class Person{}class Person extends Object{}Object类可以接受所有类的实例化对象.2.使用Object类接受任意对象的引用.class Person{ //默认为Object子类...原创 2020-02-08 10:39:02 · 132 阅读 · 0 评论 -
java 接口的概念
1.接口属于一种特殊的类,如果一个类定义时全部由抽象方法和全局变量组成,那么这种类就称为接口,而接口使用interface关键字定义的.定义接口interface A{ //定义接口 public static final String IN="韦蝠王"; public abstract void print(); } interface B{ ...原创 2020-02-07 16:25:50 · 631 阅读 · 0 评论 -
java 抽象类
1.java抽象类的基本概念普通类就是完善的功能类,直接生产对象并使用,其中的方法都已经实现完整(带有方法体"{}").抽象类的最大特点包含了抽象方法,抽象方法是只声明(没有方法体)的方法,抽象方法定义时使用abstract关键字完成,并且抽象方法一定要在抽象类中,抽象类要使用abstract关键字声明.2.下面程序可以了解到,由于类中存在了一个抽象方法get(),所以A类就必须使用abstr...原创 2020-02-07 10:40:58 · 2544 阅读 · 1 评论 -
java 多态性
1.多态是面向对象的最后特征,多态体现在连个方面方法的多态性:重载与覆写.重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能;覆写:同一个方法,根据操作的子类不同,所完成的功能也不同.对象的多态性:父子类对象的转换.向上转型:子类对象变为父类对象,父类 父类对象=子类对象 ,自动;向下转型:父类对象变为子类对象,子类 子类对象=(子类) 父类对象 ,强制;对象的多态性和...原创 2020-02-06 19:59:53 · 248 阅读 · 0 评论 -
java 构造方法私有化
1.属性定义时都使用了private进行声明,对于构造方法也可以使用private声明,则此时构造方法就被私有化了.构造方法非私有化Single类里面是存在构造方法的(如果一个类中没有明确的定义一个构造方法的话,则会自动生成一个无参的、什么都不做的构造方法),所以直接实例化对象,而后调用类中提供的print()方法.class Single{ //定义一个类,此类默认提供无参数构造方法...原创 2020-02-06 16:27:13 · 613 阅读 · 0 评论 -
java final关键字
1.在java中关键字表示的是一个终结器的概念,使用final可以定义类、方法和变量.1.1使用final定义的类不能有子类,即无法被其他类所继承.final class A{}class B extends A{ //错误:The type B cannot subclass the final class A}1.2.使用final定义的方法不能被子类所覆写class A{...原创 2020-02-06 09:59:12 · 133 阅读 · 0 评论 -
java this和super区别
1.this和super区别1.this表示本类对象 super表示父类操作2.本类操作:this.属性、this.方法()、this() 父类操作:super.属性、super.方法()、super()3.使用构造(区别) this调用本类构造,放在首行 super子类调用父类构造,放在首行4.查找范围(区别) ...原创 2020-02-06 09:39:49 · 234 阅读 · 0 评论 -
java 继承 方法覆写
1.java有继承关系,那么就有子类和父类的联系,在子类中有可能定义和父类完全相同的方法或属性的名称,这称为覆写.1.方法的覆写子类和父类在方法名称、返回值类型、参数类型及个数完全相同的方法时,称为方法的覆写.1.1没有实现方法覆写运行结果实例化的是子类对象,但由于在子类里没有print()方法,所以就使用从父类中继承而来的print()方法.实现方法覆写运行结果本程序中覆写...原创 2020-02-05 20:39:31 · 393 阅读 · 0 评论 -
java 继承
1.java继承性就是指扩充一个已有的功能,在java要实现继承的关系,可用如下语法完成.实现继承class 子类 extends 父类{}1.对于extends而言,翻译为扩充,但为了理解统一为继承2.子类又被称为派生类3.父类又被称为超类如下代码子类(Student并没有定义任何操作),而在主类中所使用的全部操作都是由Per类定义的,就证明子类即使不扩充父类也属于维持功能的状态....原创 2020-02-05 19:30:06 · 152 阅读 · 0 评论 -
java 内部类
1.内部类指的是在一个类的内部定义了其他的情况,看一下内部类的基本定义形式.1.1内部类内部类属于在一个类内部定义的新的结构,按照类的基本组成讲,一个类中应该由属性和方法所组成,但是这时候又多了一个类,这样结构不好,所以内部类本身最大缺点破坏了程序的结构.运行结果类部类也有自己优点,想要发现这个优点将内部类拿到外面来,变成两个类.这时候代码增多复杂度增加,进行的所有操作都是为了能够让...原创 2020-02-05 09:45:20 · 252 阅读 · 0 评论 -
Java 代码块
1.代码块是程序之中使用"{}"定义起来的一段程序,而根据声明位置和声明关键字的不同.代码块分为4种:普通代码块、构造块、静态块、同步块.普通代码块由于第一个变量定义在if语句中,所有相当于第二个变量x,在if语句中的变量x就相当于一个局部变量,不会因为名字出现错误.运行结果全局变量和局部变量针对代码情况而定,相对概念.由于第一个变量x定义在了if语句之中(定义在了"{}"中),所以相对...原创 2020-02-04 20:53:55 · 106 阅读 · 0 评论 -
java static关键字
1.static关键字可以用于定义属性及方法.在类中,主要组成就是属性和方法(分为构造方法与普通方法),而每一个对象都分别拥有各自的属性内容(不同对象的属性保存在不同的堆内存中),如果现在类的某个属性希望定义为公共属性(所有对象都可以使用的属性)则在声明属性前加上static关键字.java中主要存在四块空间:1.栈内存空间:保存所有对象名称(准确说是保存了引用的对内存空间的地址)2.堆内...原创 2020-02-04 17:45:28 · 160 阅读 · 0 评论 -
java对象比较
1.前面讲过String类的equals()方法,此方法的主要功能是判断两个字符串的内容是否相等,现在要比较一个类的两个对象是否相等,要依次比较两个对象中的每一个属性的内容.第一种对象比较形式package lesson12;class Deo{ private String name; private int age; public Deo(String na...原创 2020-02-03 20:06:40 · 134 阅读 · 0 评论 -
java this关键字
1.java中 this可以完成三件事:表示本类属性、表示本类方法和当前对象.1.1 "this.属性"表示本类属性本程序通过构造方法传递两个初始化参数,而后调用了getlnfo()方法返回类的信息.这时构造方法的两个参数的目的是为类中的name和age两个初始化,可是这个方法中的两个参数一个是字母n,另一个是字母a,这表示的完全不明确,既然构造方法的两个参数是为name和age属性初始化...原创 2020-02-03 18:52:18 · 269 阅读 · 0 评论 -
java String类
1.String表示字符串类型,虽然String本身不属于引用数据类型,但是它却可以像基本数据类型那样直接赋值.2.String类的两种对象实例化方式方法一:采用直接赋值字符串的形式为String类对象实例化.方法二:采用String类的构造方法为String类的对象实例化,String类的构造方法为:public String(String str).通过直接赋值的方式为String类对...原创 2020-02-03 11:38:10 · 135 阅读 · 0 评论 -
java引用数据类型和基本数据类型
1.数据类型在程序中构成要素占有相当重要的地位.数据类型分为:基本数据类型和应用数据类型基本数据类型:最基本的包括:byte、short、int、long、float、double、char、boolean等.引用数据类型(c/c++的指针):在操作时必须要进行内存开辟.如图:java基本数据类型不牵扯内存开辟的问题,引用数据类型牵扯到内存的开辟.java的基本数据类型主要是以数值的...原创 2020-02-02 11:03:31 · 203 阅读 · 0 评论 -
java 一维 二维动态 静态数组
数组是一种非常常见的数据结构,在java中,数组属于引用型数据,所以在数组的操作过程中,会有分配内存问题.1.一维数组2.数组的定义格式(动态操作格式).格式一:声明并开辟数组(也可称为实例化数组)数据类型 数组名称 []=new 数据类型 [长度];数据类型 [] 数组名称 =new 数据类型 [长度];格式二:分步完成.声明数组: 数据类型 数组名称 []=...原创 2020-02-01 19:33:13 · 1098 阅读 · 0 评论 -
java类
1.前面我们了解了类与对象、private关键字、构造方法基本概念后,现在要了接java类的开发定义一个类之中包含基本属性,setter()、getter()方法,则这有的类称为简单的java类.对于java类开发原则遵守下面几点:类名称必须可以明确表示出类的定义,如Person、Animals、Emp;类中的所有属性必须使用private进行封装,如private String name...原创 2020-02-01 12:54:12 · 212 阅读 · 0 评论 -
java 构造方法使用 和 this
1.了解构造方法之前,我们先了解一下下面的格式类名称 对象名称=new 类名称();**类名称:**要定义对象数据类型;**对象名称:**日后进行类属性或方法操作的标记变量;**new:**开辟堆内存空间;**类名称()????*表示要实例化对象,加上“()”都应该属于方法,即在类中应该提供一个和类名称相同的方法,而此处实际上就表示调用了类中的构造方法,那么此时我们可以发现构造方法和普通的方法...原创 2020-02-01 11:24:48 · 234 阅读 · 0 评论 -
java 封装性 引入传递
1.引用传递是java精髓,核心概念只有一点:一块堆内存空间(保存对象的属性和信息)可以同时被多个栈内存所共同指向,则每一个栈内存都可以修改同一块堆内存空间的属性值.引用传递的核心只有一句话:“一块堆内存空间(保存对象的属性信息)可以被同时多个栈内存所共同指向,则每一个栈内存都可以修改同一块堆内存空间的属性值”.1.1下面代码讲解运行结果首先实例化了一个person2对象,对对象name...原创 2020-02-01 10:38:41 · 210 阅读 · 0 评论 -
java类与对象
1.在面向对象中类和对象是最基本、最重要的组成单元.类:表示一个客观世界某类群体的一些基本特征的抽象,属于抽象概念的集合.对象:表示一个个具体的事物,如李四、张三的汽车、芷若、可以使用的事物,就可以理解为对象,所以对象表示的是一个个独立的个体.在现实生活中,人表示为一个类,因为人本身属于一种广义的概念,并不是一个具体的描述。而具体的人,如“芷若同学”,就可以称为对象。属性:在对象(芷若)中...原创 2020-01-31 15:21:11 · 288 阅读 · 0 评论 -
java面向对象
1.对于面向对象程序设计有3个主要的特性:封装性、继承性、多态性.1.封装性封装是面向对象的方法应遵循的原则,他有两个含义:一是指把对象的属性和行为看成是一个密不可分的整体,将这两者"封装"在一个密不可分的独立单位(即对象)中.另一层含义指"信息隐蔽",把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不可以更改.而另外一些属性或行为,则不允许外界知晓,或只允许...原创 2020-01-31 13:43:00 · 116 阅读 · 0 评论 -
java方法的重载
1.方法的重载是指方法名称相同,参数类型和个数不同,调用的时候按照参数的类型和个数不同完成不同的方法体的执行.实现方法的重载.运行结果通过运行结果可以看出,根据传入参数类型和个数的不同,执行不同的方法体注意:方法重载时只看方法名称、参数类型及个数,而无需关注方法的返回值类型。错误的重载package lesson10;public class TestDemo7 { p...原创 2020-01-30 15:04:47 · 187 阅读 · 0 评论 -
java方法
1.方法在很多地方成为函数,是一段可以被重复定义的代码,现在讲解在主方法中定义的,并且由主方法调用。对方法的命名规范:第一个单词首字母小写,之后的每个单词的首字母大写,列如 printInfo()、getMessage().方法的基本格式public static 返回值类型 方法名称(参数列表) {[return [返回值] ;]}2.对方法的返回值类型有两种void :表示此方法...原创 2020-01-30 11:14:41 · 235 阅读 · 0 评论 -
java运算符& &&和 | ||
1.‘与‘ 操作,将若干个条件一起进行连接判断,同时满足返回true,有一个不满足返回false,对于与有两种操作符:& &&下面是普通‘与(&)’操作:从运行结果可以看出第一条件不满足又向第二个条件进行验证 ,所以对两个条件都进行了判断。2.与操作中是要求所有的判断条件都满足,在多个判断条件中,如果有一个条件不满足,那么不需要在向后面判断,结果就一定是f...原创 2020-01-24 14:19:15 · 906 阅读 · 0 评论 -
java搭建配置环境变量
1.进入官网https://www.oracle.com/technetwork/java/javase/downloads/index.html下载你所要的jdk版本2.下载jdk后安装到你所需要的目录即可3.找到我的电脑单机鼠标右键单机属性4.添加classpath变量名.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar5.这里要找到你安...原创 2020-01-16 15:14:03 · 131 阅读 · 0 评论