ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:24.18KB ,
资源ID:4728402      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4728402.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Javase总结笔记终极版讲解.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Javase总结笔记终极版讲解.docx

1、Javase总结笔记终极版讲解Javase复习笔记Day01:1.文档注释可以在:类,常量,方法上声明,分别用来说明它们的功能及作用。文档注释会被javadoc命令在读取当前源程序的时候解析并使其生产说明文档2.int length():获取当前字符串中字符个数(长度),无论中英文每个字符都算一个长度。3.int indexOf(String str):查找给定字符串在当前字符串中第一次出现的位置。4.int indexOf(String str,int from):从当前字符串指定下标位置开始查找第一次出现给定字符串的位置。5.int lastIndexOf(String str):查找当前

2、字符串中最后一次出现给定字符串的位置。6.String subString(int start,int end):获取指定字符串中部分内容,含头不含尾。7.String trim():去除当前字符串中两边的空白。8.char charAt(int index):获取当前字符串中指定位置对应的字符9.boolean startsWith(String str) boolean endsWith(String str):判断当前字符串是否以给定的字符串开头,另一个是判断是否是以给定的字符串结尾的。10.String toUpperCase()、String toLowerCas():将当前字符串中

3、的英文全部转换为大写或全小写。11.Static String valueOf():字符串提供若干的静态方法valueOf()作用就是就将其他类型转换为字符串。比较常用的是将基本类型转换为字符串。Day02:1.boolean matches(String regex):验证当前字符串是否满足给定的正则表达式的格式要求,需要注意正则表达式是否使用了“”,“$”都是全匹配验证。2.String split(String regex):将当前字符串中满足正则表达式的部分“切掉”,保留剩余的部分。拆分字符串操作。3.String replaceAll(String regx,String str):

4、将当前字符串中满足正则表达式部分的内容替换为给定的字符串。4.包装类:由于java中8个基本类型,它们不是以对象的形式存在,没有面向对象的特征,所以不能参与面向对象的开发,为了解决这个问题,java针对它们定义了8个包装类。基本类型的转换为包装类的静态方法valueOf,在valueOf在某些情况下可以减少内存开销的。所以比new来说强一些。5.MAX_VAUE,MIN_VALUE:分别用来标志其对应的基本类型的取值范围。6.parseXXX:可以将给定的字符串转换为包装类对应的基本类型值。Day03:1.java.util.Date:获取当前系统时间2.内部为一个long值,该值是从UTC时

5、间至当前时间之间的毫秒差。3.SimpleDateFormat:该类的作用是使用给定的字符串格式在Date与String之间进行相互转换。4.String format(Date date):按照创建SimpleDateFormat是指定的日期格式,将当前给定的date对象表示的时间转换为字符串。5.Date date = sdf.parse(str):将给定的字符串解析为Date对象并返回。6.Calendar的getIntance():可以根据当前系统所在地区创建合适的实现类,通过格里高利法。7.Calendar提供的getTime():可以将其表示的时间以Date形式返回。8.Void

6、setTime()方法,可以使当前Calendar表示给定的date所表示的时间。9.Calendar.YEAR:年10.Void add(int field,int value):用来计算时间,对指定的时间分量加上给定的值,若value为负数,则减去指定的值。11.Collection:用来存放一组元素。提供若干功能,比数组使用方便。12.Boolean add(E e):将当前集合添加给定的元素,若成功添加返回true。13.Int size():获取当前集合的元素个数14.Boolean isEmpty():判断当前集合是否包含任何给定元素,当前集合没有元素时,返回true。15.Voi

7、d clear():清空集合元素,16.Boolean contain():判断当前集合是否包含给定元素,含则返回true,判断依据是看给定元素与集合中现有是否存在equals比较为true的,有则认为包含。17.Boolean remove(E e):将给定的元素删除,成功删除返回true。18.boolean addAll(Collection c):将给定集合中的所有元素添加到当前集合中当执行完毕后,当前集合中元素发生了改变就返回true。19.由于集合的具体实现类各不相同,Set集合大部分实现是无序的,所以不能像数组那样根据下标位置获取具体的某一个元素。20.集合提供了统一的获取集合元

8、素的方式:遍历集合,而遍历是使用迭代器来完成的。21.java.util.Iterator是迭代器的接口,定义了用于遍历集合相关方法。不同的集合的都实现了一个可以遍历自身的迭代器实现类。我们无需记住实现类的名字,只当是迭代器使用即可。22.迭代器迭代元素需要遵循:问,取,删。这个步骤。其中删除不是必须的。23.若需要遍历集合,可以调用集合的方法:Iterator interator():该方法会返回可以遍历当前集合的迭代器。24.Boolean hasNext():询问迭代器,其遍历的集合是否还有元素没有遍历,有则返回true。25.使用迭代器遍历集合的过程中,不能通过集合的方法改变元素,否则

9、肯会抛出异常。26.迭代器也支持泛型,泛型与该迭代器遍历的集合的泛型一致即可。Day04:1.JDK5.0以后推出了一个新的特性:增强型for循环。又叫做新循环,增强循环,for each。新循环不能代替传统循环重复工作的需求。新循环是用来遍历集合和数组的。2.新循环并不是JVM认可的新语法。而是编译器认可的。编译器在编译程序时若发现我们使用新循环来遍历集合。所以新徐楠遍历集合的本质上就是迭代器遍历。所以新循环遍历过程中不允许通过集合方法修改元素数量。3.List集合:有序集,可重复集。List的特点是可以像数组一样,根据下标操作元素。所以List提供了一个独有的方法。4.常用实现类:Arra

10、yList:内部由数组是实现,查询快。LinkList:内部由链表实现,增删快。5.E get(int index):获取指定下标对应的元素。6.E set(int index,E e):将给定的元素设置到指定的位置上,返回值为原位置上的元素。所以该操作是替换元素的操作。7.Viod add(int index,E e):向指定位置插入给定元素,原位置及后续元素向后移动。8.E remove(int index):删除并返回给定位置的元素。9.List subList(int start,int end):获取当前给定范围内的部分子集。10.subList.clear():清空子集,原集合部分

11、内容也被删除。11.Collection中提供了一个方法toArray允许我们将现有的集合转换为数组。12.数组转换为集合,使用Arrays的静态方法(),需要注意,数组只能转换为List集合。不能转换为Set。原因在于:Set大部分是无许实现,Set不允许存放重复元素,所以转换后可能丢失元素。修改该集合元素内容,原数组内容也会发生改变。对于数组转换为集合来说,添加新元素是不受支持的。所有集合都支持一个构造方法,参数要求传入另一个集合。这个构造方法的作用是:创建当前集合的同时将给定的集合中的所有元素添加当前集合中。Day05:1.Collections:集合的工具类,该类提供了若干静态方法,可

12、以方便操作集合。其中sort方法是用来排序List集的。进行自然排序。Sort会给定的List集合中的元素进行排序。即:从小到大的顺序。Collections的sort方法排序时排序的注意事项,若当前元素若希望可以比较大小,需要实现Compareable接口。Compareable支持反省,而反省的实际类型就是当前类。意思是说,那个类实现Comparea接口,泛型就是哪个类。2.Collections的sort方法若希望对集合进行排序,必须保证集合中的元素比较大小的。所以要求元素必须实现Compa接口,并重写其中比较大小的方法,才可以进行排序。3.字符串String实现了Compareable

13、接口。排序规则:按照首字母的编码比较大小。4.Collection的重载方sort方法要求我们传入两个参数:待排序的集合和比较器。5.Queue:队列,保存一组元素,但是对于存取有所要求,必须遵循先进先出原则。6.Boolean offer(E e):向队列末尾追加一个元素。7.E poll():从队首获取元素。注意,获取后该元素就从队列中被移除!出现操作。8.E peek():同样可以获取队首元素,但是与poll不同的是并不会将该元素从队列中删除。9.栈:存储一组元素,存取必须遵循先进后出原则,通常来实现具有“后退”功能的地方。10.Duque是Queue的子接口。双端队列的特点是,队列的两

14、端都可以进出元素。若我们只调用一侧进出方法,就形成了栈的结构。11.Void push(E e):将元素“压入”栈中,入栈操作,新入展的元素会在栈顶(栈中的第一个元素)12.E pop():出栈操作,获取栈顶元素,获取后该元素就从中被删除。13.可以使用peek引用栈顶元素,而不做出栈操作。14.Map:Map看起来像一个多行两列的表格,每条记录分为两部分:key,value其中在一个Map中key是不允许重复的。(equals比较)常用的实现类:java.util.HashMap(三列算法实现).15.V put(K k,V v):将给定的key与value存入Map中,由于Map中的key

15、不允许重复,所以会出现两种情况:1:存入的key在Map总还不存在,那么直接将这对key-value存入Map,返回值为null;2:存入的key在Map中已经存在,那么会将对应的value替换原来这个value,并将被替换的value值返回。16.V get(K k);根据给定的key值去获取对应的value,若当前Map中不含有给定的key,则返回null。17.V remove(K k):将给定的key对应的这一对内容从Map中删除,并将对应的value值返回。18.boolean containsKey(K k):查看当前Map包中是否含有给定的key,包含判断的依据key的equal

16、s比较的结果。19.遍历Map的方式: A.遍历所有的key; B.遍历每一组的键值对;C.遍历所有的value值(不常用). LinkHashMap:内部使用一个LinkList维护顺序,可以做到遍历的时候与put书序一致。若不需要顺序通常就不使用该类。 遍历所有的key:Set keyset():该方法会将所有的key存入一个Set集合后返回,所以遍历该集合就相当于遍历了所有的key了。 遍历每一组键值对SetentrySet():Entry是Map的内部类,每一个实力表示一组键值对。其中包含两个属性,key,value 将每一组键值对(entry实例存入一个Set集合后将其返回)。 Co

17、llection values():将当前Map中所有的value值存入一个集合后返回。JavaSE2:Day01:1.java.io.File:该类用于描述文件系统中的一个文件或目录。File可以访问文件或目录的属性信息。File可以操作文件或目录。File可以查看一个目录有哪些子项2.描述目录时应当注意两点: A.尽量不用绝对路径,因为不同的操作系统有差异。 B.目录的层次分隔符不要直接写“/”或“/”,因为不同的系统也有差异,所以使用File的常量:File.separaror就可以了。在eclipse中开发时”.”这个当前目录的位置是在当前项目的根目录。3.File file = fi

18、le.getName():获取文件名 File.length():获取文件大小。 File.exists():判断当前文件或目录是否在硬盘中已经存在了。 Long time = file.lastModified():获取最后修改时间,1970年元旦到这一刻的毫秒差。 isHidden = file.isHidden():是否是隐藏文件。 file.canRead():是否可读。 file.canWriter():是否可写。 file.canExcute():是偶可运行。 4.使用File创建一个文件。当前项目跟目录下创建文件test.txt。若直接书写文件名,默认就认为是在当前目录下所有“.

19、/”是可以忽略不谢的。 File file = new File(“test.txt”); if(!file.exists() file.createNewFile();File.delete():删除当前目录中的test.txt文件。dir.mkdir():在当前根目录下创建目录Dir.mkdirs():创建当前目录的同时会将所有不存在的父目录一同创建出来。5.删除多里目录,当删除一个子项的怒路时,直接使用delete方法是删除不成功的,需要先将该目录的所有子项删除以后,该目录才可以成功删除。删除给定的File表示的文件或目录,先将目录中的所以子项都删除。6.File listFiles()

20、:改方法会获取当前目录下的所有子项,由于一个目录下不包含的非法还是文件或目录,那么都可以有一个File对象表示,所以获取一个目录里所有子项就等于获取了若干File对象,没一个表示其中一个子项。7.sub.isFile():判断当前File表示的是否为一个文件。sub.isDirectory():判断当前File表示的是否为一个目录。8.FileFiles:文件过滤器。 File:有一个重载的listFiles方法,允许我们传入一个文件过滤器,并将满足过滤器要求的子项返回。不满足则忽略。过滤器的的过滤条件:当给定的file对象满足要求,返回true即可。file.getName().starts

21、With(“.”)9.java.io.RandomAccessFile该类用于读写文件数据。创建该类有两种常用模式: A.只读,对文件仅进行读取操作(“r”)read B.读写,对文件数据读写(“rw”)read,write 常用构造方法: RandomAcessFile(file file,String mode) RandomAcessFile(String path,String mode)Void write(int i):该方法向文件中写出1个字节,即8位的二进制写的是该int的值二进制的“第八位”。Int read():读取字节Day02:1.void write(byte dat

22、):将给定的字节数组中的所有字节一次性写出。2.Byte getBytes():将字符串按照当前系统默认的字符集转换为一组字节。3.Byte getBytes(string charsetName):String 提供了一个重载的getByte()方法,允许根据给定的字符集将当前字符串转换为对应的字节。4.Int read(byte data):一次性尝试读取给定的字节数组data的长度的字节量,并将这些字节存入该数组中,返回值为实际读取到的字节量,若返回为-1,表示读取到了文件末尾(EOF end of file)5.String提供了一个构造方法,允许我们将给定的字节数组的字节转换为对应的

23、字符串:String(byte data):按照当前系统默认字符集将字节数组中所有字节转换为字符串。6.String(byte data,int start,int len):将当前字节数组中从start处开始,连续取len个,然后将他们按照当前系统默认的字符集转换为对应的字符串。7.RandomAccessFile总是基于指针当前位置进行读或写操作的。并且每当读或写完当前字节后,指针会自动向后移动。8.Long getFilePointer():获取当前RandomAccessFile的指针位置(指向文件的第几个字节)刚创建出来的RAF默认指向文件第一个字节。下标从0开始。9.Void wr

24、iteInt(int i):连续写出4个字节,将给定的int值完整写出。写出其他基本类型数据的方法也有。10.读取上面写入的long值,我们需啊哟先将指针移到到long值的第一个出,然后连接读取8个字节将其读取回来。Void seek(long pos):该方法可以将指针移动到指定位置。11.Long readLong():从指针当前位置处开始,连续读取8个字节并转换为long值返回。12.java.io.FileOutputStream:文件的字节输出流。用于向文件中写出字节其中一个低级流。默认创建的FOS是覆盖写操作。该覆盖操作是写内容前将原文件中所有数据清楚,然后重写写入新的内容。还支持

25、一个重载的构造方法,第二个参数传入一个boolean值,若该值为true,则是追加写操作,即:通过刘写出的数据会在当前文件的末尾写入。而不是将原来的数据都清除。流使用完毕后也要关闭,释放资源!13.java.io.FileInputStream:低级流,用于读取文件数据的流。14.缓冲流写出数据的注意事项:void flush()该方法会强制将缓冲区中的数据一次性写出,不管缓冲区数据是否已经装满。频繁调用flush方法会提高写出次数从而降低写出效率,但是会保证写出的及时性。当关闭缓冲流的时候,他会首先多用flush将剩余在缓冲流的数据写出,然后在在将它处理的流关闭后,才能将自己关闭。Day01

26、:1.java.io.OjectOutputStream:该高级流的作用是将给定的java对象转为一组字节,然后通过其处理的流写出。将一个对象转换为一组字节的过程称为:对象的序列化。该对象转换为一组字节然后写入文件这里需要两个刘组合来实现:ObjectOutputStream目的:可以将一个对象转换为一组字节。FileOutputStream目的:可以将一组字节写入文件。Void writeObject(Object o):该方法将给定的对象o转换为一组字节然后在通过其他处理的流写出。2.若当前类的对象希望被ObjectOutputStream进行序列化,当前类必须实现java.io.Seri

27、alizable接口。否则在阻力恶化过程中会抛出异常。该接口没有任何抽象方法需要重写,这种结构的目的是给子类打一个标签,表示认可这件事。而不是用来约束子类应具有哪些行为。除了当前类之外,该类的属性若也是自定义类型的,那么除了该类外也必须实现Serializable接口才可以。 当我们的类实现了Serializable接口后,就应当定义下面的常量,该常量是版本号。最好自行维护。该版本号直接影响反序列化的结果。当我们要反序列化一个对象时,OIS首先会检查要反序列化的那一组字节表示的对象的版本号是否与当前类的版本号一致,不一致则直接抛出异常,告知版本不匹配,无法反序列化。若版本号一致,则会使用兼容默

28、认,即:原来对象中有的属性,现在类还有的,则还原它的值若原来对象中有的属性,现在没有了,则忽略。若原来对象中没有的属性,现在有的,则使用默认值。 若不自行维护版本号,那么OOS在进行序列化时,会根据当前类的结构生成一个版本号。这样做不好的地方在于,我们的类结构发生改变后,版本号也会改变,由于不可控,所以不能启用兼容模式。 当一个属性被transient关键字修饰后,该属性在序列化的时候将被忽略。忽略不必要的属性是为了对象在序列化为字节的时候瘦身。3.转换字符集:osw.txt文件中的字符是以utf-8编码保存的。希望转换为GBK编码思路:以UTF-8编码读取该文件每一个字符,再以GBK编码写入

29、另一个文件即可。代码如下:FileInputStream fis = new FileInputStream(osw.txt); InputStreamReader isr = new InputStreamReader(fis,UTF-8); FileOutputStream fos= new FileOutputStream(osw_gbk.txt); OutputStreamWriter osw = new OutputStreamWriter(fos,GBK); int len = -1; char buf = new char1024*5; while(len = isr.read(

30、buf)!=-1) osw.write(buf,0,len); System.out.println(转码完毕!); osw.close(); isr.close();4.缓冲字符输出流:BufferedWriter 由于内部维护了一个字符数组作为缓冲区,缩写写出字符串的效率较高,而且还有一个特点就是可以以行为单位写出字符串。 printWriter:具有自动刷新行功能缓冲字符流,由于该流的缓冲功能是使用BufferedWriter实现的并提供了更多功能,所以比较常用。 创建PrintWriter时,其总是先创建BufferedWriter作为缓冲功能。5.java.io.BufferedRe

31、ader 缓冲字符输入流,特点:需要处理一个字符流,并且可以以行为单位读取字符串。6.String readLine():BufferedReader提供了该方法可以以行为单位读取字符串。 该方法会顺序读取若干字符,指导遇到换行符为止,然后将换行符之前所有字符串后返回。该字符串不包含换行符!若返回为null,表示读取文件末尾。7.异常补货机制中的try-catch,try中包含的是肯出现代码片段。Catch用来补货try中出现的错误,并处理。8.Catch可以写很多个,针对不同的异常,若有不同的处理手段,可以分别捕获。但是应当有一个号的习惯,就是最后一个捕获的是Exception,这样至少可以保证程序不会因为一个未捕获的异常而导致终端。当catch的异常存在父子类继承关系时,要保证子类异常上,父类异常在下。9.Finally块:finally块必须定义在异常捕获机制的最后。可以定义在try之后,也可以定义在最后一个tcatch之后,finally可以保证其内部的代码无论try的语句是否出现异常都会执行。通常向是否资源这类代码就应当放在finally中,比如说关闭流。Day04:1.线程:并发进行可以“同时”完成多个任务。线程有两种创建模式 模式1:定义一个类并继承Thread,然后重写run方法,爱内部辫子额该程序要执行的任务。 注意:启动线程不要直接调用run

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1