Java基础学习笔记.pdf
《Java基础学习笔记.pdf》由会员分享,可在线阅读,更多相关《Java基础学习笔记.pdf(184页珍藏版)》请在咨信网上搜索。
1、目录1.小知识点.72.两个变量的值互换(不使用第三方变量).73.new.84.取数组最大值问题.85.s w ic h.96.for.97.排序.97.1 选择排序.97.2 冒泡排序.108.折半查找.119.进制转换.1110二维数组小知识.141 1.构造代码块.141 2.t his 关键字.151 3.java中的访问控制.151 4.s t at ic.1515.主函数.1616.静态代码块.1717.对象的初始化过程.1718.设计模式-一单例设计模式.171 8.1 饿汉式.181 8.2 懒汉式.1919.继承.2020.方法的覆盖.2021.子父类中的构造函数.2022
2、.final.2123.abs t rac t 抽象.2124.模板设计模式.2225.接口.2226.多态.2327.内部类.2328.匿名内部类.2428.1 概念.2428.2 题目:补充代码,要用匿名内部类.2629.异常.2829.1 t hrow 和 t hrow s.2829.2 Runt imeExc ept ion.2829.3 异常在子父类中的用法.2830.访问权限.2931.多线程.2931.1 概念.2931.2 小知识.3031.3 线程的第二种创建方式.3031.4 继承和实现的区别.3031.5 多线程安全问题一同步代码块.3131.6.多线程安全问题一同步函数
3、.3131.7 多线程安全问题一静态函数的同步锁.3231.8 多线程安全问题一单例模式一懒汉式.3231.9 多线程安全问题一死锁.3331.1 0.等待唤醒机制.3431.1 1.生产者消费者.3431.1 2 停止线程.3531.1 3.守护线程.3531.1 4.join 方法.3531.1 5.线程优先级(1-1 0级).3531.1 6.yiel d.3531.1 7.多线程一实际用法之一.3632.St ring 类.3732.1 St ring 说明.3732.2.St ring 常见操作.3732.3.字符串练习.3932.4.练习二,字符串反转.3932.5.获取子串出现的
4、次数.4032.6.练习四:判断两个字符串中最大的相同子串.4132.7改 进版:判断两个字符串中最大的相同子串.4233.St ring Buffer.4234.St ring Buil der.4435.基本数据类型对象的包装类.4436.集合框架.4636.1.迭代器.4636.2.Lis t.4836.3.Lis t it erat or.4936.4.常用集合.5036.5.使用LinkedLis t实现队列.5136.6.ArrayLis t取出重复元素.5136.7.迭代器中的错误使用.5236.8 Lis t判断元素相同.5236.9.Has hSet.5236.1 0.Tre
5、eSet.5336.1 1.泛型.5436.1 2.泛型类.5536.1 3.泛型方法.5636.1 4.静态方法泛型.5636.1 5.泛型定义在接口上.5736.1 6.泛型限定.5736.1 7.Map.5936.1 8.Map子类对象的特点.6036.1 9.Map的共性方法.6036.20.Map 集合的取出-keySet 和 ent rySet.601.keys et取出方式.612.ent rySet.6136.21.TreeMap 练习 1.6336.22.TreeMap 练习 2.6436.23.map扩展一集合嵌套.6636.24 Col l ec t ions-s ort
6、.6936.25.c ol l ec t ions-max.7036.26.c ol l ec t ions-binarySearc h.70L举例.702.原理.713.自定义比较器.71l.fil l 方法.722.repl ac e.723.反转 revers e.734.revers Order.735.s huffl e打乱集合中的元素顺序.7436.28.Arrays.74L 举例.742.集合变数组.763.高级for循环.764.可变参数.775.静态导入.7838.Sys t em.7939.Runt ime.804O.Dat e 类.8141.Cal endar.8142.
7、Mat h-Random(java.ut il 中有一个 Random 类).8343.1 0.8443.1 简介.8443.2 字符流.8543.3.1 0的异常处理.8643.4 文件的续写及换行.8643.5 文件的读取1.8743.6 文件的读取2.8743.7 文件的复制.88L复制方式一:读一个写一个.882.复制方式二:先读到缓冲区,再写入.893.原理图.8943.8.BufferedWrit er.9043.9.Buffered Reader.9043.1 0 带缓冲区的c opy.9143.1 1.readLine 原理.9143.1 2 装饰设计模式.9243.1 3.L
8、ineNumberReader带行号的字符缓冲区.9343.1 4 自定义的 LineNumberReader.9443.1 5 字节流.951.写方法,不用刷新就可写入.952.读方法1.963.读方法2(建议使用这种方法).964.读方法3.9643.1 6 复制一个图片.9743.1 7.mp3 的复制.9843.1 8 自定义缓冲区.9843.1 9 读取键盘录入.9943.20 字节流转换成字符流.10143.21 字符流转换成字节流.10243.22 流的操作规律.10243.23 改变标准输入输出设备.10543.24 异常的日志信息.10543.25 系统信息.10643.26
9、 Fil e 类.1061.概述.1062.Fil e对象功能.10743.27 Propert ies.1131.简介.1132.存取.1143.propert ies练习:记录软件运行次数.11543.28 打ER流 Print erWrit er.11643.29 Sequenc einput s t ream.11743.30 切割文件.11843.31 对象的序列化.11943.32 管道流.12043.33 特殊类 RandomAc c es s Fil e(重点掌握).1211.简介.1212.写方法.1223.读方法.12243.34 操作基本数据类型的流对象 Dat al n
10、put St ream 和 Dat aOut put St ream.1231.写入.1232.读取.1233.w rit eUTF()和 readUTF().12343.35 Byt eArraySt ream.12443.36 字符编码.1261.简介.1262.原理图.1273.字符的再编码再解码1.1274.字符的再编码再解码2.1285.联通一g bk和ut f-8重复的地方.1283.练习.12844.GUI.13244.1总体架构.13244.2布局管理器.13344.3活动监听和鼠标事件监听.13444.4.列出指定目录的内容.13544.5对话框.13644.6 菜单.137
11、44.7打开文件.13844.8保存文件.13844.9 jar包双击执行.13945.网络编程.14045.1 基本知识.14045.2.IP 地址.14145.3.TCP 和 UDP(重要).14145.4 Soc ket.14245.5 Udp.142l.udp发送端.1422.udp接收端.1433.读取键盘录入.1444.聊天.14545.6 TCP.147L 概念.1472.演示TCP传输.1483.服务端和客户端的交互.1494.TCP 练习.1515.TCP复制文件.1536.上传图片.1547.并发上传图片.1568.客户端并发登录.1599.自定义服务端.16210.自定义
12、浏览器客户端-t omc at服务端.1621 1.URL.16346.正则表达式.16446.1.演示.16446.2 匹配.16546.3 切割 St ring s pl it().16646.4 点的切割.16646.5 反斜杠的切割.16746.6 组.16746.7 替换.16746.8 获取.16846.9 练习 1.16946.1 0 练习 2.17046.1 1 练习3:校检邮箱地址(必须掌握).17046.1 2 网页爬虫(蜘蛛).1711.获取指定文档内容中的邮箱地址.1712.从网页上获取.17147.知识点补充.17247.1 字符集简介.17247.2 JDK7的新特
13、性.17247.3 运算的类型提升.17347.4 程序执行过程的内存分析图.17347.5 垃圾回收机制(Garbag e Col l ec t ion).17547.6 构造方法(构造器).17547.7 s t at ic 关键字.17647.8 t his 关键字.17747.9 继承.17847.1 0 Objec t 类.17847.1 1 s uper 关键字.17947.1 2 final 关键字.17947.1 3 访问控制 publ ic defaul t prot ec t ed privat e.1 8047.1 4 多态.1 80L小知识点1.1 命令行中的s et
14、pat h1.2 可以使用注释来调试程序,来缩小问题范围1.3 先写注释:需求,思路,步骤1.4 进制之间的转换,-6的二进制是6的二进制取反加11.5 生成文档说明书1.6 byt e 4 位,s hort 8 位,int 32 位,l ong 64 位,fl oat 32 位,doubl e 64 位,整数默认 int,小数默认doubl e。c har 16位1.7 a-97,A-65,0481.8 取模正负看左边(也就是被模数)-1%5=-1 1%-5=11.9 字符串和任何数据使用+,都会连接成字符串1.1 0 w indow s系统中回车符是有两个字符表示的rn1.1 1 s ho
15、rt s=4;s=s+5;(出错)s+=5;(不出错,这个会有一个自动转换的过程)1.1 2 x左移n位是x乘以2的n次基,x右移n位是x除以2的n次幕。位运算是最快的。空位补原来的最高位数据,空位补01.1 3 位运算符:&、卜(取反)、人(异或,一个数异或一个数两次,还是原来的数)&:6&3=2;110 1&01 1 丁010=2;2,两个变量的值互换(不使用第三方变量)方法一:int m=3,m=8;n=n+m;m=n-m;n=n-m;如果n和m的之非常大可能会超出int范围方法二:n=n A m;m=nAm;/(nAm)Amn=nAm;/nA(nAm)3.newnew出来的东西都在堆里
16、面。堆内存里的数据有默认的值,int默认0,布尔默认fal s e。只 有引用类的才能使用nul l4,取数组最大值问题取得数组最大值,可以初始化max为arr,也可以初始化角标(/System.out.printin(Integer.toBinaryString(60);int num=60;获取60的最低4位,通过&15;int nl=num&15;System.out.printin(nl9?(char)(nl-10+*A*):nl);要获取下一组四位,将60右移4位.int temp=60 2s 4;对temp的值进行最低四位的获取.int n2=temp&IS;System.out.
17、printin(n29?(char)(n2-10+*A):n2);/*0-9 A B*C1*D*E 1F,65 66 6710 11 12 13 14 1512-10=2+A*=(char)67;*/int x=lr y;y=(xl)?,a1:200;System,out.printIn(My=,+y);5.swichs w it c h 里只能定义 byt e、s hort、int、c har 类型6.forfor(int x=0/y=l;x9;y+,x+)for(;)for的最简单无限循环尖朝上动条件w:for(int x=0;x3;x+)q:for(int y=0;y3;y+)break
18、 w;跳出外层for循环7,排序.7.1 选择排序public static void selectSort(int arr)for(int x=0;xarr.length-1;x+)(for(int y=x+l;yarr.length;y+)if(arr x|arr ly)(int temp=arrx;arrx=arry;arry=temp;)7.2 冒泡排序冒泡排序:相邻的两个元素进行比较,如果符合条件换位。8.折半查找public static int getlndex_2(int arr,int key)(int min=O,max=arr.length-1,mid;while(min
19、arrmid)min=mid 4-1;else if(key 二进制*/public static void toBin(int num)pgBuffer sb=new StringBuffer();while(num0)/System.out.printin(num%2);sb.append(num%2);num=num/2;)System.out.printin(sb.reverse();+进制一 十六进制.*/public static void toHex(int num)(StringBuffer sb=new StringBuffer();for(int x=0;x9)/Syste
20、m.out.printin(char)(temp-10-sb.append(char)(temp-10+else/System.out.printin(temp);sb.append(temp);num=num 4;System.out.println(sb.reverse();,4,5,6,7 8-9 A3 A,C-D-EF;定义一个临时容器U char arr=new char8;int pos=arr.length;while(num!=0)(int temp=num&15;/System.out.printin(chstemp);arr-pos=chstemp;num=num 4;$干
21、System.out.printin(M-s=n+pos);存储数据的arr数组遍历。for(int x=pos;x 1;)for(inr x=pos;xJava MainDemo hahaliaha he he he ihe iD:Jaua0217day06 16.静态代码块当一个类加载的时候,先加载静态代码块,再加载构造代码块,最后加载构造函数17.对象的初始化过程Pers on p=new Pers on(zhang s an/20);该句话都做了什么字情?1,因为new用到了Pers on.c las s.所以会先找至Pers on.c las s文件并加找到内存中一2,执行该类中的s
22、 t at ic代码块,如果有的话,给Pers on.c laS3类进行而始立u3,在堆内存中开注空间,分配内存_4 在eT芬中建二七客函:手有底性.一运;亍题认3砧化.5,对属性进行显示初始花.6,对对象进行构造代码块初始化。7,对对装进行对应的构造函数初始化.8,将内存地址付给我内存中的p变鬟.18.设计模式.一单例设计模式/*设计模式:解决某一类问题最行之有效的方法.j aval 2 3种设计模式:单例设计模式:解决一个类在内存只存在一个对象:想要保证对象唯一.1,为亍避免竟他警序过多建立该类对象=先禁止其他程序建立该类对象2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个
23、对象.3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式.这三部怎么用代码体现呢?声,将构造函数私有化=吼 在类中创建一个本类对象.3,提供一个方法可以获取到该对象.对于事均该怎么描述,还怎久描述.当需要将该事物的对象保证在内存中唯一时,就将以上的三步加上即可.18.1饿汉式class Student j(private int age;I private static Student s=new Student();private Student()public static Student getStudent()return s;|)实现单例设计模式最简单的方法,上面三步
24、一public void setAge(int age)(this.age=age;)public int getAge()这个是先初始化对象.称为:母汉式.Sing le类一进内存,就已经创建好了对象.c las s Sing le(privat e s t at ic Sing le s=new Sing le();privat e Sing le()public s t at ic Sing le g et lns t anc e()ret urn s;)18.2懒汉式对象是方法被调用时,才初始倜,也叫做对象的延时加载。成为:酸汉式.“Sing le类进内存,对象还没有存在,只有调用了g
25、 et lns t anc e方法时,才建立对象.c las s Sing le(privat e s t at ic Sing le s=null;privat e Sing le()public s t at ic Sing le g et lns t anc e()(if(s=null)s=new Sing le();ret urn s;)懒汉式有一个缺陷改进见下图:对象是方法被调用时,才初始化,也叫做对象的延时加载.成为:懒汉式.“Sing le类进内存,对象还没有存在,只有调用了g et lns t anc e方法时,才建立对象=c las s Sing le(privat e s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础 学习 笔记
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。