java中常用关键字总结

时间:2019-05-14 03:38:21下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《java中常用关键字总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《java中常用关键字总结》。

第一篇:java中常用关键字总结

Java中的关键字总结

final 关键字

1、用final修饰的类不能被继承,没有子类;

2、用final修饰的方法,方法不能被重写;

3、用final修饰变量,变量的值不能被修改,表示常量,(书写规范:全部字母都要大写;多个单词,可以使用下划线(_)分开;)注意:如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;

4、final用于成员变量表示该成员变量为常量,不能被修改,必须在变量定义时赋值。

5、final用于局部变量表示该局部变量为常量,不能被修改,可以在变量定义时赋值,也可以先定义变量后赋值。什么时候用final关键字? 有的时候不想别人重写我的方法就使用final关键字修饰该方法;

static关键字

1、static用于成员变量表示该变量只有一份,也就是说静态成员变量属于类而不属于某个具体的类实例对象,所有的类实例对象共享这个静态成员变量; 静态函数是不需要对象的,直接可以使用类名来调用;

2、非静态函数可以调用静态函数;静态函数不能调用非静态函数(非静态函数都是通过对象调用的);静态函数不能使用非静态成员变量,但可以使用静态成员变量;

3、静态函数调用时不需要对象的,所以不能使用和对象有关的关键字;(this;super;)

4、构造函数不能使用static修饰(构造函数是创建对象,开辟空间,给所有成员变量赋默认值之后,有JVM调用进栈,用来给对象的成员变量赋初始值的)static用于类,这里指的是内部类,那么在别的地方就可以通过外部类名来引用这个静态的内部类。

5、static还可以用于类的代码块,叫做静态代码块,静态代码块在类加载的时候就执行完毕,而类只加载一次;是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。什么时候用static关键字? 不想建立对象时;对于公用的成员变量必须使用static关键字修饰才能保证共享;

private关键字

1、java中的访问权限修饰符(作用是控制被修饰的成员的访问权限);被private修饰的成员,只能在本类中使用;所以被私有的成员需要在外界访问,还需要提供一个公共的方法;

设值:set + 变量名(变量名的首字母大写); 取值:get + 变量名(变量名的首字母大写);

2、构造函数私有化,就只能在被类中使用,别的地方调用不了;单例设计模式时会用到;

在开发中,一般类的成员变量都要私有化,然后提供get和set方法;

interface关键字

1、interface接口不是一个类,使用interface声明;接口没有构造函数;接口是用来描述不属于继承体系的扩展功能的;还可以定义规则;接口和类之间是实现关系,一个实现类可以实现多个接口;接口和接口之间是继承关系,可以多继承和多重继承;

2、接口中可以书写的内容:

成员变量:只能使用一下修饰符:public static final;也就是说,接口中的成员变量,都是常量;

成员函数: 只能使用修饰符:public abstract;也就是说,接口中的方法,都是公共和抽象的;一般函数前面的修饰符,推荐public不要省略;

什么时候用interface关键字? 对于继承体系之外的扩展功能需要使用接口来描述;

implements关键字

implements用于实现接口,需要实现接口中的所有方法,可以同时实现多个接口。extends关键字

extends用于继承父类或父接口,继承父类时只能是单继承。

class关键字

class用于声明类,访问权限可以是public或者默认权限,还可以指定为abstract、final,访问权限对于顶层类和内部类的限制是不同的。

instanceof关键字

1、比较运算符,运算符左边是一个指向一个对象的引用(左边就是一个变量名),右边是一个类名,运算符表示的意思就是:判断左边的对象的类型是不是右边的类;

2、使用instanceof关键字,可以实时判断一个对象的类型,就可以避免强制类型转换中容易出现的类型转换异常。

abstract关键字

1、abstract用于类表示这个类为抽象类,不能实例化。

2、抽象类,必须由子类去继承,继承的子类必须实现父类中所有的抽象方法,否则子类也是抽象的;

3、抽象函数必须放在抽象类中;抽象类中除了抽象函数,还可以定义所有一般类中可以定义的成员;

4、抽象类中可以不书写抽象方法;抽象类中必须有构造方法;抽象类一定是父类;

5、抽象类是父类,用来描述所有子类的共性信息的,只是描述的有些功能是不具体的;

6、abstract用于方法表示这个方法为抽象方法,只需声明,不用实现,由子类实现,抽象方法不能用private和static关键字。什么时候用abstract关键字? 当事物的功能描述不清,只能表示有这个功能时,就应该使用抽象修饰该功能,这个功能就是抽象的功能;如果一个类中有抽象的功能,那么这个类也是抽象的类;不想实例化这个类(包括自己也不行),但是允许别人继承,也可以使用抽象类。

this关键字

1、表示自身所属对象的引用;哪个对象调用this,this就指向哪个对象;

2、Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this.什么时候用this关键字?

1、通过this调用另一个构造方法,用法:this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。如果一个构造函数中有this()语句,就没有隐式三步,隐式三步在this语句调用的那个构造函数中,且this语句必须在第一行的位置;

2、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被私有化,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。(用来区分成员变量和局部变量)

3、在函数中,需要引用该函所属类的当前对象时候,直接用this。

super关键字

1、表示父类;可以在子类中调用父类的非私有成员和构造函数;

2、调用方法:

调用父类构造函数:super(参数);(父类中没有无参构造函数在父类中添

加一个无参构造;在子类中手动调用有参构造函数)调用父类成员变量:super.变量名; 调用父类成员函数:super.函数名(参数);

3、super关键和this作用类似,是被私有的成员变量或者成员方法变为可见,或者说用来引用被私有的成员变量和成员方法,不过super是用在子类中,目的是访问直接父类中被屏蔽的成员.什么时候用super关键字?

如果父类中没有无参构造函数是,需要在子类中用super调用有参构造函数;

第二篇:Java关键字final、static使用总结

Java关键字final、static使用总结

一、final

根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。

final类不能被继承,没有子类,final类中的方法默认是final的。

final方法不能被子类的方法覆盖,但可以被继承。

final成员变量表示常量,只能被赋值一次,赋值后值不再改变。

final不能用于修饰构造方法。

注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。

1、final类

final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。

2、final方法

如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。

使用final方法的原因有二:

第一、把方法锁定,防止任何继承类修改它的意义和实现。

第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。

3、final变量(常量)

用final修饰的成员变量表示常量,值一旦给定就无法改变!

final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。

从下面的例子中可以看出,一旦给final变量初值后,值就不能再改变了。

另外,final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在final关键字final的使用上提供了更大的灵活性,为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。

4、final参数

当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值。

二、static

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。

被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。

用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象时,不生成static变量的副本,而是类的所有实例共享同一个static变量。

static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用--废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。

static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为:

类名.静态方法名(参数列表...)

类名.静态变量名

用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大,呵呵)。

1、static变量

按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:

对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。

对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。

2、静态方法

静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联!这个需要去理解,想明白其中的道理,不是记忆!!

因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。

3、static代码块

static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

利用静态代码块可以对一些static变量进行赋值,最后再看一眼这些例子,都一个static的main方法,这样JVM在运行main方法的时候可以直接调用而不用创建实例。

4、static和final一块用表示什么

static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!

对于变量,表示一旦给值就不可修改,并且通过类名可以访问。

对于方法,表示不可覆盖,并且可以通过类名直接访问。

文章转自 :山东北大青鸟 http://www.xiexiebang.com

http://www.xiexiebang.com

第三篇:VB关键字总结

1.编译命令关键字总结

作用

关键字 定义编译常数。

#Const 编译程序码中的选择区块。

#If...Then...#Else

计算当前净值。

NPV, PV

7.控制流关键字总结

作用

关键字

分支。

GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暂停程序。

DoEvents, End, Exit, Stop 2.变量与常数关键字总结

作用

关键字 循环。

Do...Loop For...Next, For Each...Next, While...Wend, With 指定值。

Let 判断。

Choose, If...Then...Else, Select Case, Switch 声明变量或常数。

Const, Dim, Private, Public, New, Static 使用过程。

Call, Function, Property Get, Property Let, Property Set, Sub 声明模块为私有。

Option Private Module 8.目录和文件关键字总结 判断

Variant。IsArray, IsDate, IsEmpty, IsError, IsMissing, 作用

关键字

改变目录或文件夹。

ChDir IsNull, IsNumeric, IsObject, TypeName, VarType 引用当前对象。

Me 改变磁盘。

ChDrive 变量须明确声明。

Option Explicit 复制文件。

FileCopy 设置缺省数据类型。

Deftype 新建目录或文件夹。

MkDir

删除目录或文件夹。

RmDir 3.运算符关键字总结

作用

关键字 重新命名文件、目录或文件夹。Name 算术。

^,-, *, /, , Mod, +, & 返回当前路径。

CurDir 比较。

=, <>, <, >, <=, >=, Like, Is 返回文件的日期、时间。

FileDateTime 逻辑运算。

Not, And, Or, Xor, Eqv, Imp 返回文件、目录及标签属性。

GetAttr

返回文件长度。

FileLen 4.错误关键字总结

作用

关键字

作用

关键字 返回文件名或磁盘标签。

Dir 产生运行时错误。

Clear, Error, Raise

返回 Error 变体。

CVErr 设置有关文件属性的信息。

SetAttr 取得错误信息。

Error

提供错误信息。

Er r 9.日期与时间关键字总结 运行时的错误处理。

On Error, Resume

类型确认。

IsError 作用

关键字

设置当前日期或时间。

Date ,Now, Time 5.Collection 对象关键字总结

作用

关键字

作用

关键字 计算日期。

DateAdd, DateDiff, DatePart 建立一个 Collection 对象。

Collection 添加对象到集合对象中。

Add 返回日期。

DateSerial, DateValue 从集合对象中删除对象。

Remove

引用集合对象中的项。

Item 返回时间。

TimeSerial, TimeValue

设置日期或时间。

Date, Time 6.金融关键字总结

作用

关键字 计时。

Timer 计算折旧率。

DDB, SLN, SYD 10.输入与输出关键字总结 计算未来值。

FV 作用

关键字 计算利率。

Rate 访问或创建文件。

Open 计算本质利率。

IRR, MIRR 关闭文件。

Close, Reset 计算期数。

NPer 控制输出外观。

Format, Print, Print #, Spc, Tab, Width # 计算支付。

IPmt, Pmt, PPmt 复制文件。

FileCopy 取得文件相关信息。

EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, 作用

关键字

ANSI 值变换为字符串。

Chr Loc, LOF, Seek 文件管理。

Dir, Kill, Lock, Unlock, Name 大小写变换。

Format, LCase, UCase 从文件读入。

Get, Input, Input #, Line Input # 日期变换为数字串。

DateSerial, DateValue 返回文件长度。

FileLen 数字进制变换。

Hex, Oct 设置或取得文件属性。

FileAttr, GetAttr, SetAttr 数值变换为字符串。

Format, Str 设置文件读写位置。

Seek 数据类型变换。

CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 写入文件。

Print #, Put, Write # CSng, CStr, CVar, CVErr, Fix, Int

日期变换。

Day, Month, Weekday, Year 11.数据类型关键字总结

作用

关键字 时间变换。

Hour, Minute, Second 数据类型变换。

CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 字符串变换为 ASCII 值。

Asc

字符串变换为数值。

Val CSng, CStr, CVar, CVErr, Fix, Int 设置数据类型。

Boolean, Byte, Currency, Date, Double, Integer, Long, 时间变换为数字串。

TimeSerial, TimeValue Object, Single, String, Variant(default)16.字符串处理关键字总结

检查数据类型。

IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, 作用

关键字

比较两个字符串。

StrComp IsNumeric, IsObject

变换字符串。

StrConv 12.数学关键字总结

作用

关键字 大小写变换。

Format, LCase, UCase 三角函数。

Atn, Cos, Sin, Tan 建立重复字符的字符串。

Space, String 一般计算。

Exp, Log, Sqr 计算字符串长度。

Len 产生随机数。

Randomize, Rnd 设置字符串格式。

Format 取得绝对值。

Abs

取得表达式的正负号。

Sgn 重排字符串。

LSet, RSet 数值变换。

Fix, Int 处理字符串。

InStr, Left, LTrim, Mid, Right, RTrim, Trim

设置字符串比较规则。

Option Compare 13.数组关键字总结

作用

关键字

作用

关键字 运用 ASCII 与 ANSI 值。

Asc, Chr 确认一个数组。

IsArray

建立一个数组。

Array 17.其他关键字总结 改变缺省最小值。

Option Base 作用

关键字 声明及初始化数组。

Dim, Private, Public, ReDim, Static 处理搁置事件。

DoEvents 判断数组下标极限值。

LBound, UBound 运行其他程序。

AppActivate, Shell 重新初始化一个数组。

Erase, ReDim 发送按键信息给其他应用程序。SendKeys

发出警告声。

Beep 14.注册关键字总结

作用

关键字 系统。

Environ 删除程序设置。

DeleteSetting 提供命令行字符串。

Command 读入程序设置。

GetSetting, GetAllSettings Macintosh。

MacID, MacScript 保存程序设置。

SaveSetting 自动。

CreateObject, GetObject

色彩。

QBColor, RGB 15.变换关键字总结

第四篇:java 中常用的方法总结

8月1日

练习:

合理覆盖Cat数据类型的,equals()方法

Cat.java 覆盖 hashCode()返回的整型值是唯一的int hashCode()用法:

一般使用String提供hashCode的编码 +基本数据类型

hashCode 生成原则: 当对象内容一致时,生成的hashCode必须是一样的当对象内容不致时,生成的hashCode必须是唯一的HashtableTest1.java

hashtable 中的key如果是自定义数据类型,那么它必须覆盖equals()和hashCode()//考试 hashCode()ArrayList * Hashtable * 其他的存储方式:

LinkedList //特点:可以删除指定位置数据

练习:

向LinkedList添加:

A B C D

打印出时为: DCBA LinkedListTest.java

练习(MyQueueTest.java):

模拟一个队伍(队列),去买票一个动作

思路: 模拟一个队列(add)模拟出列(removeXXXX)

//先买票的人,先出队列——先入先出

队伍是一个特殊数据结构,特点:FIFO(先入先出)

HashSet //不允许重复元素

集合框架类的特点: Collection 接口是一组允许重复的对象 Set接口继承Collection,但不允许重复使用自己内部的一个排列机制 List接口继承Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。Map接口是一组成对的键——值对象,即所持有的是key—value pairs。Map中不能有重复的key。拥有自己内部机制。在集合框架类中有两大类接口: 5.1 Collection 5.2 Map

注意:集合框架类——容器,容器中存储引用数据类型

继承关系:

接口 实现 历史集合类型

Set HashSet TreeSet

List ArrayList Vector LinkedList Stack

Map HashMap Hashtable TreeMap Properties

集合框架类解决的问题?变长数组操作的效率。

集合框架类的特点:Vector 2 ArrayList * 3 Hashtable * 4 HashSet 5 Properties

集合框架类的使用:声明

private Vector vec;2 构造中实例化

vec = new vector();向容器中添加数据:

vec.add();练习:

FILOTest.java

第一个进来,最后一个出去

FILO------栈

练习:

将Student类作为Hashtable的key StudentHash 1 Student StudentHash(主类)StudentHash.java 8月2日

练习:

使用HashMap进行数据的存储,与遍历

.keySet()//返回key的集合(Set)

.values()//返回value的列表(ArrayList)HashMapTest.java

HashMap与Hashtable的区别:

Hashtable是非同步的(效率高)

HashMap是同步的(效率低)

获得系统java的相关的环境变量:

System.getProperties();//可以返回

Properties数据类型(是Map的子类),内容为系统的全部环境变量

练习:

打印输出系统中全部的环境变量:

//2 了解Properties,还可以与文件系统交互

PropertiesTest.java 思路: Properties p = System….2 遍历p 复习:

java.lang:

String特点

常用构造:

String(byte[] bytes)//将byte型数组转换为字符串

String(char[] ch)//将char型数组转换为字符串

String(char[] value, int offset, int count)

//将char[]转换为字符串,offset从那里开始(0)//count(char.length)个数

常用方法: char charAt(int index)String str = “ABC”;Char ch = str.charAt(0);ch ==A;String concat(String str)//连接字符串==”+”号 boolean equalsIgnoreCase(String anotherString)//忽略大小写比较byte[] getBytes()// 将字符串处理为byte[] int indexOf(String str)//判断字符串所在的索引位置,如果描述的字符串不存在,返回值为-1 int lastIndexOf(String str)//字符串所在的最后一个索引位置,如果描述的字符串不存在,返回值为-1 int length()//返回字符串的长度 String replace(char oldChar,char newChar)//字符串替换 boolean startsWith(String prefix)// 判断字符串的开头,是否有匹配的字符串 10 boolean endsWitn(String prerfix)//判断字符串的结尾,是否有匹配的字符串String substring(int beginIndex, int endIndex)//字符串的截取char[] toCharArray()//将字符串处理为char[] 13 String toLowerCase()//将字符串处理为小写String toUpperCase()//将字符串处理为大写String trim()//除去字符串左右两边的空格StringBuffer //初始化的容量16 构造:

StringBuffer()//初始化容量 16 StringBuffer(10)//初始化容量 10 StringBuffer(String str)方法:

StringBuffer append(float f)// 向StirngBuffer添加内容

int capacity()// 返回容量

int length()// 返回StringBufferInt实际存储长度

StringBuilde(效率高)==StringBuffer 基本数据类型的包装包:

Byte b = new Byte();Int Integer char Character

int a = Integer.parseInt(“11”);System常用的方法:

System.gc();

System.exit(0);//退出java程序,0代表正常退出,非0代表异常退出

System.arraycopy()//数组的拷贝

System.currentTimeMillis()//系统毫秒(1970)

System.getProperties()//系统环境变量

Math 算术类:

Math.abs()// 绝对值

max min

random //1.0----0.0的随机值

round //四舍五入

Runtime // 获得系统运行环境,通常用于java调用

//第三方应用程序(.exe).exec(“ ”)java.util

Date //获得系统时间,不考虑时区

构造:

Date()//获得系统时间

Date(long date)//根据用户传入的系统毫秒获取时间

方法:

toString()格式化日期: java.text.SimpleDateFormat 构造:

SimpleDateFormat(String str)方法:

String format(date)

Calendar //日期,可以考虑时区

固定用法:

Calendar cal = Calendar.getInstance();//时区

TimeZone tz = TimeZone.getTimeZone(“GMT + 8:00”);Calendar cal = Calendar.getInstance(tz);常用的方法:

Date getTime();//返回当前系统时区

int get(int filed);// Calendar.静态变量

Random 构造:

Random()方法:

int nextInt(xxxx)//返回指定范围的随机数字

需要可以变长的数组,可以提高效率

集合框架类:一组相同元素的集合。Vector 构造:

Vector()//无参构造,初始化容量为10 方法:

Boolean add(E e)//向容器中存储数据

Void addElement(E obj)//向容器中存储数据

elements()//为Enumeration提供容器的地址Enumeration //应用于容器元素的遍历

方法:

boolean hasMoreElements()//判断指针是否还有数据

E nextElement()//返回当前的元素,并且指针下移

ArrayList 构造:

ArrayList()//初始化容量 10 方法:

add()

iterator()//为Iterator()提供容器的地址

Iterator: //遍历容器中的元素

方法:

boolean hasNext()// 判断指针是否还有数据

E next()//返回当前的元素,并且指针下移

Vector 与ArrayList的区别:

Vector效率低,线程同步 ArrayList 效率高,线程非同步

Hashtable //存储数据时,通过key,value的方式成对存储

//只要知道key可以一次性操作value 方法:

put(key,value)//向Hashtable容器存储数据

elements()//返回Enumeration value的地址

key()//返回Enumeration 提供key的地址

E get(key)//根据表述的key一次获得value remove(Object key)//根据表述的key删除value

Hashtable中key是一个自定义的数据类型,那么这个自定义类型,必须合理覆盖Object;public boolean equals(Object obj)public int hashCode()HashMap(同步)

LinkedList //链表——提供了方便的操作方法

方法:

addFirst()removeFirst()addLast()removeLast()继承关系:

Collection Set-------不允许重复数据List---------允许重复数据

Collection list = new ArrayList();//面向接口

Map------成对存储

使用官方类库方法:结合面向对象的思想

1.1 这个类的作用

1.2 这个类的构造

1.3 这个类的常用方法一些特殊类的固定用法

8月3日

java.io //为硬盘文件的读,写提供功能

File //在java中就代表磁盘上的一个文件

//它只可以访问这个文件的属性,并且它可以创建,删除文件,但是,它不可以控制文件中的内容

构造:

File(String pathname)示例:声明

File f;构造中初始化

//f代表当前目录下的new.txt f = new File(“new,txt”);3 方法:

boolean createNewFile()//新建一个空文件

boolean delete()//删除这个文件

练习:

在当前目录下创建一个新的文件判断这个文件是否存在

1.1 不存在,则创建一个新的文件

1.2存在,则输出这个文件的修改时间

新建项目:IO

新建类:FileTest.java 2 输出文件产相关信息

2.1 这个文件的名字

2.2 这个文件的绝对路径

I/O的基本原理:

流(stream):流是指在计算机的输入输出之间运动的数据序列。是用于I/O编程的抽象概念,表示线性的,顺序的输入和输出的数据流。

流分为两类:

输入流:代表从外设流入计算机的数据序列:输入流:源流(source stream)输出流:代表从计算机流向外设的数据序列:输出流:目的流(sink stream)在java中流的分类:

主体是程序 字节流---------代表传输的数据类型为byte类型,1字节

1.1 InputStream //可以从磁盘中读取文件

1.2 OutputStream //可以向磁盘中的文件写入内容 字符流---------代表传输的数据类型为char类型,2字节

2.1 Reader(输入流):可以从磁盘中读取文件

2.2 Writer(输出流):可以向磁盘中的文件写入内容

使用字节流:

练习:ByteStream中实现文件的写入,读取 使用FileOutputStream 向hello.txt中写入内容“MyFirstOutput” 1.1 FileOutputStream 的构造:

FileOutputStream(File file)

FileOutputStream(File file, Boolean append)

//append参数:为true,将会以追加模式进行写操作

false,将会覆盖原有文件

1.2 方法:

void write(byte[] b)

void close()//释放资源使用FileInputStream()2.1 构造

2.2 方法

int read(byte[] b)

//将读出的内容存储到byte[] 中,并且返回数组的长度

操作资源三大步: 打开

操作(读,写)

关闭

ByteStream.java

练习:使用java实现copy指令:

MyCopy

要求:java MyCopy args1 args2

结果:将args1中的内容copy到args2 思路:

1、从args1中读取内容

2、将读取的内容写入到args2 书写:

1、考虑需要的属性

2、构造初始化属性

3、方法实现copy

int read()//无参read方法 返回byte型数据

int read(byte[ ] b)//返回读取内容的长度

8月5日

字符流:char FileReader 构造:

FileReader(String filename)// 以参数中的文件名,创建输入字符流

FileWriter 练习:

FileRW.java

使用字符流实现文件的读写

注:程序结构参考ByteStream 字符流的特点:

由于字符流在write()实现时,使用了缓冲机制,所以在write()完毕后,必须同步缓冲区。

调用:

flush();或者

close();

System.in //可以接收用户在终端的输入

int read()//返回用户在程序运行过程中的键盘输入,为此输入的ascii码

System.in.read();//程序会阻塞状态,只有当用户输入字符,并且按下“回车键”程序,才会继续运行

ReadTest.java 流链:

目的:

在实际开发中,提高基本的字节流或者字符流的读取效率(读写效率)和更方便的操作机制(除了char,byte,String),还可以操作其他数据类型。

注意:一个程序很少只用一个流类来处理数据,通常都有使用一系列流类叫流链来处理。

字节流: BufferedInputStream BufferdeOutputStream

//特点:为基本的I/O操作,提供缓存区域

//提高字节流的操作效率

BufferedTest.java DataInputStream DataOutputStream

//特点:为各种基本,特殊数据类型提供操作方式

DataTest.java 输入流量

DataSource-àFileInputStream-àBufferedInputStream--àDataInputStream-àProgram 输出流量

Program-à DataOutputStream-à BufferedOutputStream-àFileOutputStream àDatasink 练习:

字符流版本的,MyCopy MyCharCopy.java 流链:

字节流的流链

字符流的流链

BufferedReader BufferedWriter

//提高I/O操作效率

BufferedRW.java

Alt + shift + z //自动写出异常

System.in.read();

System.in //java 中的标准输入流

ReadTest.java 8月6日 将对象存入到文件中(序列化存储)* ObjectSave.java 手工实现步骤:

将User数据类型的构造,封装,进行编写

使用DataxxxStream进行读写;

将User对象的数据进行拆分(setxxx,getxxx)序列化存储实现:

ObjectInputStream ObjectOutputStream //对于对象的读和写

方法:

Object readObject()

void writeObject(Object obj)

注意:读或写的对象,必须实现Serializable(序列化)接口

示例:

//这个对象支持了序列化存储 //可以使用readObject()|| writeObject()方法了

class User implements Serializable { }

ObjectSerializable.java

回顾:java.io File //特点:代表磁盘的文件,只可以访问文件的属性流的概念:只要计算机中线性的,顺序的数据输入,输出

输入流:

输出流:

java的角度:

字节流:

InputStream //读取内容

OutputStream //写入内容

特点:基本数据类型byte 字符流:

Writer: Reader:

特点:基本数据类型char 3 字节流和字符流的应用:

字节流:

FileInputStream FileOutputStream 字符流:

FileWriter FileReader 流链(包装流)

特点:

增加I/O的操作效率。(分配了一段内存-----缓冲区)

提供名种基本数据类型和特殊类型的操作机制

字节流: BufferedInputStream

BufferedOutputStream //特点:提高I/O操作效率DataInputStream

DataOutputStream //特点:提供基本,特殊类型操作

字符流: BufferedReader //特点:readLine();BufferedWriter 5 序列化存储:

特点:将对象进行存储,读取ObjectInputStream ObjectOutputStream

注意:要序列化存储对象必须实现:Serializable 接口 大练习:

使用

java.lang java.util java.io

实现一个用户的管理查询系统

功能:添加用户浏览用户删除用户查找用户退出程序

见UserManager文件夹

解决数据的累加问题: 程序一运行的时候,就将文件中的所有数据保存在内存中。

EOFException //文件指针已经到末尾时,还要继续读取

User user

User =(User)is.readObject();While(user!= null){

array.add(user);ois.readObject();}

ArrayList:

int size()//可以返回ArrayList中的元素个数

E get(int index)//根据用户传入的索引值,返回所存储数据

remove(int index)//删除指定位置的元素

第五篇:JAVA总结专题

在这忙忙碌碌的这段时间里,经过老师的辅导,迅速的将一点没有学的JAVA基础搞定了!有了基础学习还是好,万事开头难这句话说的太对了,学计算机语言我觉得记忆好的方法就是多打代码,课前预习,课堂上认真听讲,把现学的方法把以前所做的作业用最简便的方法再一次巩固,创新最重要,在后续的学习中,得要加倍努力学习。

其实学java有不懂,要先自己思考。想清楚这句代码是什么意思。为什么要写在这,等等之类的。等你真的搞不明白的时候,就一定要向老师咨询,不要感到有什么丢人的。因为不会是很正常的事。并不是每个人都是天才,一学就会,一学就能运用自如的。学java有一点是非常重要的,就是练习。一段代码要不停的敲,多敲几遍,尤其是自己不熟悉或者不熟练的代码,更要敲。不要感觉到厌烦,其实我感觉敲代码挺好玩的,并不是一件很枯燥的事。

老师平常布置的课后上机练习题一定要做,课后的练习题能够让你把新学到的知识巩固一遍,能够加深记忆,不会让你在以后做题的时候感到没一点思路。

当感觉到不会的时候,千万不要气馁,因为这很正常,现在的学习就是为了培养你有一个逻辑思维,为了以后开发软件的时候有个完整,清晰的思路。

其实,总体来说。学习java很快乐。尤其是当你遇到一道自己不会的题,然后,又通过自己的努力解决了,那时候,那种心情不是用言语来表达的。就好像你遇到一个数学难题,自己解决了之后那种成就感一样。

学java的时候一定要,放松心情,轻轻松松的来学,随时让自己快乐着,这样能够让你能够更快的接受java,千万不要有什么心理负担,因为java的特点之一就是--简单易懂。只要自己努力到了,就一定能够学好java。

学完了JAVA今天我们用项目案例:迷你DVD管理器来巩固了我们所学的所有内容,通过这项目的操练,首先,1、项目用到了会使用顺序、分支、循环、跳转语句编写程序,2、要会使用数组、操作字符串,3、会使用带参的方法;

4、会定义类、创建和使用对象,看到这些脑袋里一片迷茫啊!不知道怎样写,然后想到早写晚写都一样,就照着书上写起来了,到现在还是弄不懂的就是那个对象数组,不知道怎样去理解,抽象的把我抽晕了,有望老师来给我们补补这一章,在实现DVD的业务处理时,计算时差还是不懂,照着书上打了一遍,可还是得不到想要的结果,经过网上的搜寻与老师讲解,现在已略懂一二了,在做完这项目后,真不知道当时是怎样敲出来的,难道这就是所说的灵感!感觉很高兴,现在已习惯了代码报错,其实代码报错是一件值得鼓励的事,因为没有错就觉得自己什么都懂了,在学习中相信每一个人都遇到过挫折吧!但一定要想方法战胜挫折!我的战胜挫折方法就是不懂思考后还不懂就问,懂了以后就笔记本记下当时的解决方案!学习刚开始!后面的路很长,慢慢的去磨炼了!总结完毕!

下载java中常用关键字总结word格式文档
下载java中常用关键字总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Java总结

    Java实验 1. 调试HelloWorld程序 2. this,super,get ,set,把课本90页程序4.7中的name改成私有变量 3. 继承,重写,父类引用指向子类对象 4. 验证数组Arrays类和Collection类 5.......

    java总结

    调用父类构造方法  在子类的构造方法中可使用super(argument_list)语句调用父类的构造方法  如果子类的构造方法中没有显示地调用父类构造方法,也没有使用this关键字调用重载......

    关键字分析(大全)

    洗药湖山庄今天介绍网站多个关键字该怎样优化?一般我们网站是三四个关键词,那么把重心都放在主页上根本上就可以了。但是假如网站里有多个是指十个二十个或更多,就需求把这些......

    关键字(精选5篇)

    关键字:流行性感冒 分析 1999年3~4月份我县发生一起波及全县的流行性感冒(流感)流行,疫情流行快、感染人数多,在我县尚属罕见,特别是全县中小学校疫情较为严重,部分学校出现停课现象......

    java中final和static的总结

    Java关键字final、static使用总结 Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非......

    数据库查询语句关键字总结

     看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结......

    java(Web)中相对路径,绝对路径问题总结

    1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:xyztest.txt 代表了test.txt文件的绝对路径。http:///index.htm......

    总结Java中return语句的用法(范文模版)

    总结Java中return语句的用法 Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法......