Java内容小结.docx
- 文档编号:4395161
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:23
- 大小:26.19KB
Java内容小结.docx
《Java内容小结.docx》由会员分享,可在线阅读,更多相关《Java内容小结.docx(23页珍藏版)》请在冰点文库上搜索。
Java内容小结
JAVA程序设计内容总结
基本类型数据包装类
JAVA是面向对象的语言,但JAVA中的基本数据类型却不是面向对象,在实际使用中存在很多不变,为了弥补这个不足,在设计类时为每个基本类型数据设计一个类进行代表,这样八个和基本数据类型对应的类统称为包装类。
基本类型对应的包装类
基本类型
包装类类型
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
char
Character
boolean
Boolean
包装方法xxxvalueOf(x)把x包装成xxx包装类类型
拆包装方法x.xxxValue()把x以xxx型返回数值
自动装箱
Integera=100,相当于Integera=integer.valueOf(100)
Integerb=100,相当于Integerb=integer.valueOf(200)
自动拆箱
Integerc=a+b,先拆箱再装箱,因为包装类对象不能更改包装在里面的值,先拆箱再装箱
intd=c,相当于intd=c.intValue()
数值型数据转换成字符串方法
String.valueOf(shorts)
将short型数值转换成字符数据
String.valueOf(inti)
将int型数值转换成字符串数据
String.valueOf(longl)
将long型数值转换成字符串数据
String.valueOf(floatf)
将float型数值转换成字符串数据
String.valueOf(doubled)
将double型数值转换成字符数据
String.valueOf(char[]chs)
将char数组转换为字符串
String.valueOf(char[]chs,intstart,intend)
将char数组中从char[offset]开始取count个元素转换成字符串
String.valueOf(booleanb)
将boolean型数值转换成字符串
字符串转换成数值型数据的方法
Byte.parseByte(Stringstr)
将数字字符串转换为字节型数据
Short.paseShort(Stringstr)
将数字字符串转换为短整形数据
Integer.paseInt(Stringstr)
将数字字符串转换为整形数据
Long.paseLong(Stringstr)
将数字字符串转换为长整形数据
Float.paseFloat(Stringstr)
将数字字符串转换为单精度实形数据
Doule.paseDouble(Stringstr)
将数字字符串转换为双精度实形数据
boolean.paseBoolean(Stringstr)
将数字字符串转换为布尔形数据
Arrays类
Publicintlength()
返回数组的长度
System.arraycopy(Objectsrc,intsrcpos,destdestpos,intlength)
从源数组src中的srcpos处开始复制到目标数组dest中的destpos处length个元素
Array.copyOf(Objectsrc,intlength)
将原数组src中的元素复制到长度为length的新数组中
Arrays.sort(Arraysarr)
对数组arr进行升序排列
Arrays.binarySearch(数组名,关键字)
查找目标数据在数组中的位置
String类方法
String是不可变对象,一旦创建不能再做修改
String方法
Publicintlength()
返回字符串的长度
PublicintindexOf(Stringstr)
返回字符串str在字符串中第一次出现的位置
PublicintindexOf(Stringstr,intfromIndex)
从字符串fromIndex位置开始检索
PublicintlastIndexOf(Stringstr)
返回字符串str在字符串最后一次出现的位置
PublicStringsubstring(intbeginIndex)
返回字符串从beginIndex开始的到字符串结尾的子串
PublicStringsubstring(intbeginIndex,intendIndex)
返回字符串从beginIndex开始到endIndex-1结束的子串
PubliccharcharAt(intindex)
返回字符串index指定位置上的字符
PublicStringtrim()
去除字符串两边的空白
PublicbooleanStartsWith(Stringstr)
检测字符串是否是以字符串str开始
PublicbooleanendsWith(Stringstr)
检测字符串是否是义字符串str结尾
PublicStringtoLowerCase()
将字符串中所有字符都转为小写
PublicStringtoUpperCase()
将字符串中所有字符都转为大写
PublicStringstring.valueOf(xxx)
将其他类型转换为字符串类型
StringBuilder类
StringBuilder封装可变字符串,对象创建后,可以通过调用方法改变其封装的字符序列
StringBuilder的很多方法的返回值均为StringBuilder类型,这些方法的返回语句均为:
returnthis
StringBuilderappend(Stringstr)
在字符串末尾追加字符串
StringBuilderinsert(intdstOffsetStringstr)
在字符串dstOffset位置插入字符串
StringBuilderdelete(intstart,intend)
删除字符串从start开始到end结束的子串
StringBuilderreplace(intstart,intend,Stringstr)
替换字符串从start开始到end结束的子串
StringBuilderreverse()
把字符串反转
用正则表达式对字符串进行操作
正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,通常被用来检索、替换那些符合某个规则的文本
Matches(regex)检测一个字符串是否与正则表达式regex匹配,是返回true否则返回false
String[]split(Stringregex)以正则表达式regex为分隔符,将字符串拆分成字符串数组
StringreplaceAll(Stringregex,Stringreplacement)将字符串中匹配正则表达式regex的字符串替换为replacement
JAVA常用类
Object类
Publicbooleanequals(Objectobj)
判断两个对象变量所指向的对象是否为同一个
PublicStringtoString()将调用toString方法的对象转换成字符串
PublicfinalClassgetClass()返回运行getClass方法的对象所属的类
PublicStringgetName()返回一个类的名字
Publicbooleaninstanceof()测试一个对象是否是指定类或它的子类的实例
Date类
构造方法
PublicDate()用系统日期时间数据创建Date对象
PublicDate(longdate)用长整数date创建Date对象,data表示从1970年1月1日00:
00:
00开始到目前的微妙数
方法
PubliclonggetTime()返回从1970年1月1日00:
00:
00开始到目前的微妙数
PublicBooleanafter(Datewhen)日期比较:
日期在when之后返回true,否则返回false
PublicBooleanbefore(Datewhen)日期比较:
日期在when之前返回true,否则返回false
SimpleDateFormat类
SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化(日期->文本)、解析(文本->日期)和规范化(注:
SimpleDateFormat作用于Date对象)
构造方法
SimpleDateFormat(Stringpattern)用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat
Pattern日期时间表示模式例如:
yyyy-MM-dd-HH-mm-ss年-月-日-时-分-秒
方法
Stringformat(Datedate)将Data格式化为String
Dateparse(Stringsource)将String解析为Date
Calendar类
Calendar类是描述日期时间的抽象类,主要作用在于其方法可以对时间分量进行运算
方法
PublicstaticCalendargetInstance()获取Calendar对象
Calendar类不同时间分量相应的常量
StaticintYEAR指示年份的字段数字
StaticintMONTH指示月份的字段数字
StaticintDATE指示一个月中的第几天
StaticintDAY_DF_WEEK指示一个星期中的某天
Voidset(intfield,intvalue)该方法可以通过不同的时间分量设置不同的值,intfield表示时间分量对应的常量
intgetActualMaximum(intfield)该方法用于获取给定时间分量所允许的最大值
voidadd(intfield,intamount)该方法可以为某个时间分量的值加上给定的值
voidsetTime(Datedate)使用Calendar设置Date对象表示的日期
DategetTime()使用Date描述Calendar表示的日期并返回
异常处理
JAVA异常处理机制
如产生异常抛出异常捕获异常异常处理
简单地说,发现异常的代码可以“抛出”一个异常,运行系统“捕获”该异常,并交由程序员编写的相应代码进行异常处理
常用方法
PublicStringtoString()该方法返回描述当前Exception类信息的字符串
PublicvoidprintStackTrace()输出当前异常对象的堆栈使用轨迹;即程序先后调用并执行了那些对象或类的的哪些方法,使程序产生了这个异常对象
StringgetMessage()得到有关异常对象的信息
Throwablegetcase()得到产生异常的原因
除RuntimeException之外,其他非运行时异常,必须在程序中使用try-catch-finally语句捕获并进行相应的处理
Try
{
要检查的语句序列try块
}
Catch(异常类名形参对象名)
{
异常发生时的处理语句序列catch块
}
Finally
{
一定会执行的语句序列finally块
}
抛出异常
方式一在方法体内使用throw语句抛出异常对象
throw用异常类所产生的对象
方法二在方法头部添加throws子句表示方法抛出异常
方法名()throws异常类列表,异常类多于一个用“,”隔开
自定义异常类
一般要完成如下工作
声明一个新异常类,用户自定义异常类必须是Throwable类的直接或间接子类,建议以Exception为直接父类
为用户自定义的类定义属性和方法,或覆盖父类的属性和方法,是这些属性和方法能够体现该类所对应的错误信息
自定义异常类必须要抛出异常
什么时候用异常处理:
非运行时异常必须抛出异常;能处理的用Try-catch-finally处理不知如何处理的只抛出交由调用此方法的对象处理(常见的如IOException)
输入输出与文件处理
流是指计算机各部件之间的数据流动,按照数据的传输方向,流可分为输入流与输出流,从流的内容上划分为字接流和字符流。
字节流一次读写8位二进数,字符流一次读写16位二进制数,并将其作为一个字符而不是二进制未来处理。
在流的输入输出操作中InputStream和OutputStream通常用来处理位流(BitStream)这种流通常被用来读写诸如图片、音频之类的二进制数据也就是二进制文件,但也可以处理文本文件;
Reader和Writer类用来处理字符流(CharacterStream)也就是文本文件。
基本的字节输入输出流
InputStream流类和OutputStream流类
常用的方法
publicintread()
读取一个字节的二进制数据,以int形式返回,若返回-1这表示当前位置没有数据
publicintread(byte[]b)
连续读取多个字节并保存在数组b中,同时返回所读到字节数
publicintread(byte[]b,intoff,intlen)
连续读取len个字节,从数组b的off+1个位置开始存放,同时返回所读到的字节数
publicintavailable()
返回输入流中可以读取到的字节数
publicvoidclose()
关闭输入流并释放所占用的系统资源
publicvoidwrite(intb)
将参数b的地位字节写入到输出流
publicvoidWrite(byte[]b)
将字节数组b中的字节按顺序写入到输出流
publicvoidwrite(byte[]b,intoff,len)
将字节数组b中第off+1个元素开始的len个数据,顺序的写入到输出流
publicvoidflush()
强制清空缓冲区并执行向外设写操作
publicvoidclose()
关闭输出流,并释放所占用的系统资源
文件输入输出流
FileInputStream和FileOutputStream的对象表示一个文件字节,输入输出流可以向流中读取或写入一个或一批字节。
构造方法
PublicFileInputStream(Stringstr)
以名为name的文件为数据源建立文件输入流
PublicFileInputStream(Filefile)
以指定名字的文件对象file为数据源建立文件输入流
PublicFileOutputStream(Stringname)
以指定名字的文件为接收端建立输出流
PublicFileOutputStream(Stringname,booleanappend)
以指定名字的文件为接收端建立文件输出流,并指定写入方式
Append为true时写入字节被追加在文件末尾
PublicFileOutputStream(FileFile)
以指定文件名字的对象为接收端建立文件输出流
文件复制
publicstaticvoidmain(String[]args)throwsIOException{
FileInputStreamfis=newFileInputStream("ab.jpg");
FileOutputStreamfos=newFileOutputStream("cd.jpg");
System.out.println("文件大小"+fis.available());
byte[]b=newbyte[fis.available()];
fis.read(b);
fos.write(b);
System.out.println("文件已复制");
intlen=-1;
byte[]data=newbyte[1024*10];
while((len=fis.read(data))!
=-1){
fos.write(data,0,len);
}
System.out.println("复制完毕!
");
fos.close();
fis.close();
}
顺序输入流
SequenceInputStream其功能是将多个输入流顺序的连接在一起,形成一个输入数据流,没有对应的输出了流数据存在。
构造方法
PublicSequenceInputStream(inputStreams1,inputStreams2)
创建一个串行输入流,连接输入流s1和s2
管道输入输出流
PipedInputStream和pipedOutputStream管道流常用来将一个程序或线程的输出连接到另一个程序或线程作为输入,使相连线程能够进行数据交换,从而实现程序内部线程间的通信或不同程序间的通信。
构造方法
PipedInputStream(PipedOutputStreamsrc)
出流创建一个管道字节输入流,并将其连接到src指定的管道字节输
PipedOutputStream(pipedInputStreamsrc)
出流创建一个管道字节输出流,并将其连接到src指定的管道字节输入流
常用方法
Protectedvoidreceive(intb)
从管道中接收一个字节的数据
Publicvoidconnect(PipedInputStreamsnk)
连接到指定输入流,管道输出流将从该输入流读取数据
标准输入输出
标准输入:
Java的标准输入System.in是BufferedInputStream类的对象,当程序需要从键盘上读数时,只需调用System.in的read()方法即可。
System.in.read()方法应包含在try-catch块中。
标准输出:
Java的标准输出System.out是打印输出流PrintStream类的对象,标准输出用print()和println()方法,前者输出后不换行后者换行
PrintWriter是具有自动行刷新的缓冲字符输出流,printWriter提供了若干重载print()和println()的方法,println()方法在写出数据后自动追加一个系统支持的换行符。
1.voidprint(inti)//打印整数
2.voidprint(charc)//打印字符
3.voidprint(booleanb)//打印boolean值
4.voidprint(char[]c)//打印字符数组
5.voidprint(doubled)//打印double值
6.voidprint(floatf)//打印float值
7.voidprint(longl)//打印long值
8.voidprint(Stringstr)//打印字符串
缓冲字节输入输出流
BufferedInputStream和BuffereOutputStream
为了提高读写效率我们使用缓冲输入输出流来一次性批量读写若干数据,在缓冲流的内部有一个缓冲区,每当我们向该流读写数据时,都会先将数据存入缓冲区,当缓冲区满时,缓冲流会一次性全部读取或写出。
基于缓冲流实现复制
1.BufferedInputStreambis=newBufferedInputStream(fis);
2.FileOutputStreamfos=newFileOutputStream("copy_java.zip");
3.BufferedOutputStreambos=newBufferedOutputStream(fos);
4.intd=-1;
5.while((d=bis.read())!
=-1){
6. bos.write(d);
7.}
8.bis.close();
9.bos.close();
10.FileInputStreamfis=newFileInputStream("java.zip");
对象序列化
对象是存在内存上的,有时候我们需要将对象保存到硬盘上或是传输到另一台计算机上,这是我们需要将对象转化成一个字节序列,这个过程就叫做对象序列化。
相反,我们有这样一个序列将其转换成对应的对象就叫做对象反序列化
ObjectOutputStream是用来对对象进行序列化输出的流,其实现对象序列化的方法为
VoidwriteObject(Objecto)该方法可以将一个给定的对象转化为一个字节序列后输出
ObjectInputStream是用来对对象进行反序列化输入的流,其实现对象反序列化的方法为
VoidreadObject()该方法可以从流中读取字节并转换为对应的对象
ObjectOuputStream用来对对象进行序列化时,要序列化的对象所属的类必须实现serializable接口(不需要重写任何方法只是作为一个可序列化标志)
转换流
InputStreamReader字符输入流
InputStreamReader使用该流可以设定字符集,并按照指定字符集从流中按照该编码将字节数据转换为字符并读取
OutputStreamWriter字符输出流
OuputStreamWriter使用该流可以设定字符集,并按照指定字符集转换为对应的字节后通过该流写出。
构造方法
InputStreamReader(InputStreamin,StringcharsetName)
基于给定的字节输入流及字符编码创建对象ISR
IputStreamReader(InputStreamin)
根据系统默认的字符集创建对象ISR
OuputStreamWriter(OuputStreamout,StringcharsetName)
基于给定的字节输出流及字符编码创建对象OSW
OutputStreamWriter(OutputStreamout)
根据系统默认的字符集创建对象OSW
实现指定字符编码格式
1. FileOutputStreamfos
2. =newFileOutputStream("demo.txt");
3. OutputStreamWriterwriter
4. //这里使用的字符编码为UTF-8
5. =newOutputStreamWriter(fos,"UTF-8");
6. Stringstr="大家好!
";//UTF-8中文为3个字节,英文符号占1个字节
7. writer.write(str);//写出后该文件大小应该为10字节
8. writer.close();
字符输入输出流
Reader类和Writer流,它们是抽象类
字符输入输出流FileReader类和Filewriter类和字节输出流类方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 内容 小结