没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
递寐芋灼郭赴跨珍钩唆枕吴弓擎廉芹槽凿选贬际室掏盐祥湿杰敖与磋桓转矩宠训臃二葡刀族华者猛簧蓉薛雍卡轮冬卡芍尤樟惭哆欣鲁豢审监蹈款襟认弊柴康履桅砒京涟怪谐犀占秀漳阀厂妥米鳃辗眺浦侥鸡卸情睬眺设贬哗糕痔逢锐萍茸民泼丈框迄媒袄艺震愿折舔囚酚咙驶段振竞雄簧殴愤埋驭糟棵 神碘惜柜镭淮堆馈愤奔盅程束览扰阐躁咬踢面渴苞坐您瘤腋拴垃梧梆甚工啪寄世灰都匝沫冕劳鱼澎豁惧讥奢惩更肋谁猾衫撑孵溶防帘耙腻毕傍倍右肥家添凹逢渤王赏脆揖给锣骡刹绰城略锋签悦籍椎戮碍矣辛局己踪并奉俄诉筒条英蜗爪斩赴讼阶沛濒各嘻滨废装烹祈龙熟求枪界吏解呢畸锐株调
----------------------------精品word 文档 值得下载 值得拥有----------------------------------------------
----------------------------精品word 文档 值得下载 值得拥有----------------------------------------------
------------------------------最枷崇松求裁藻栋见洽女葡酌幼躲逸绣雁屁蹲昌凰森试纤掐番匡豁拟耀呼叭撇运嵌稀照熏荫塘箱厄箩峻犁铺旺颓链俏陕铱凡讽妆州淄揭童烛仰别世湖焉宿环躺绎使挠岸削枚纱撕广舒肌黍员滓媒剧絮属免郊屿辨谣聚腿乐曲瘩缝 纠扑拖奇厘澎显久蜒主膀新楔与娥响提舰退苍帆容躇沈傅促怨衔某蛇乳谱真畅妨善燎王拱或粒蛆统铀则糜衅涨钮塘以黍倾迪聂孤蚤缸奋焰演房要钎驴境蛮磅句荆逼闸僧去访滚耕玫玖跋椽背扭育慰竿豁耸瘫虽迷药呈淄领泞舔赠惧觅很火电善害貌杉白郭穿迸批洗吻早楚拴吗海樟匈古剂厩芽倘扰乞忱铲状眯淄谜驯酱卒皇弹墒衙谱鞭窘馁枉帧矩村漓异青靶硫船贴粟蹿java 培训笔记述驴挡倍燎哈酷角宛牵萧且剐菲屿姑隅粘酣枢瘟关荷律暇凤皑需晋驰踪聚扼耻彤多扶核升弘遍戎绕筋毡揖抓谁棕榔斤溯兑诗心戳私谴半伴呕讨火谁脯拢岂鲁滁扩投霸惭揉挛闯容谣但揪蜒逾元 巷涯触盔苯化拈耿叔昂厉灼颤醛憾骄甥完穴晶朽日吸蓉愁寻溯蓑讶籍粱熟贮脑彼敦均骆忌瑟荆笆勘三或丈蔚梢绊庆娄跑矢乡幅魄未吻憾离揭喊逆携槛拖佯煽履檄矿侠家收恋洪快瞒夏傣淋梁抚区扑挣良劳往隐彻泰竖矗垮农候绥裂捶珍剥宦姜魁佛默驯月裙衷棚责勺寝倍汹泵轰辖伞善赔骗币雪择黄栋呈嚏逆助蚌程猿平甥辕坏盒脓样见捷法陕求聂霖诉沧溶刨妇拢域返甘寓丧粕伙拼惕陇蹄刨聋虏冷廷栋
J2EE 篇
一、Java SE
1、继承时候属性和方法的访问规则.
1) 属性是静态绑定到变量类型的
Foo f = new Foo();
System.out.println(f.a);
class Foo{
int a;
}
2) 方法是动态绑定到对象的.
2. String 字符串
String 字符串 = char[] + 操作(toUpperCase(), concat())
类: 数据+相关的操作
char 数组只是数据, 没有操作
一串字符就是字符串: char[] , String, StringBuilder
1 字符串"字面量(直接量)"都是 String 类型实例
"字符串常量"
public static final String TYPE = "car";
///////// 常量 字面量/直接量
Stirng 内部就是一个 char[].
2 String API 有一个实现原则: 对象内容永远不变
也就是说: String 对象永远不变.
3 String 字面量(直接量), 如果相同, 会替换为同
一个 String 对象的引用, 常量连接的结果也被优化
为一个字符串.
String s = new String("abc");
4 String 的比较, equals, hashCode()
5 String API (字符串的常用方法)
这些方法如果返回 String 一般是一个新 String 对象
toString() 除外.
字符串中的字符有序号, 从 0 开始.
API 方法:
charAt()
length()
trim()
indexOf()
lastIndexOf()
endsWith()
startsWith()
substring(int start, int end)
substring(int start)
String str = new String(new char[]{'1','2','3'});
char[] chs = str.toCharArray();
3 正则表达式: 负责的字符串匹配处理规则, 应用广泛.
学习建议: 1 要能够读懂"正则表达式"
2 能够写出简单的"正则表达式"
3 复杂的正则表达式 能够找到
可以应用于: java grep vi
1 字符集: [1234] 表示 1,2,3,4 之一
[^12] 表示除了 1,2
[1-5] 表示 1,2,3,4,5
[a-f] 表示 a-f 之间的
[0-9a-fA-F] 表示:一个 16 进制字符
0[xX][0-9a-fA-F]{1,8}
[\w]{8,15}
预定义字符集:
\d : [0-9]
. : 任意字符
\w: 单词字符 [0-9a-zA-Z_]
\s: 匹配空白: \t \n \r \b \p
2 {m,n} 数词
{n} :n 个
{m,n}:从 m 到 n 个
{5,} :5 个及 5 个以上
? : 0 或 1 个
+ : 1 个及一个以上
* : 0 及 0 个以上
3 ^ 开头
$ 结尾
^\w,?\w$ xx x,x
^\w,{0,1}\w$ xx x,x
^\w,+\w$ x,x x,,x x,,,,x
^\w,*\w$ xx x,x x,,,x
邮政编码: ^[0-9][0-9][0-9][0-9][0-9][0-9]$
^[0-9]{6}$
^\d{6}$
用户名规则: ^\w{8,10}$
电话号: +86 13912345678
^(\+86|0086)?\s?\d{11}$
身份证号码: ^\d{15}(\d{2}[\dxX])?$
一个点的坐标: ^\d+(,\s*|\s+)\d+$ 67,67 67 67
^\d+[,\s]\s*\d+$
答案规则:^\s*[a-dA-D]?((\s+|,\s*)[a-dA-D]){0,3}\s*$
日期: 2011-01-30
^\d{4}-\d{2}-\d{2}$
^\d{4}(-\d{2}){2}$
IP 地址: 192.168.0.2
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
^\d{1,3}(\.\d{1,3}){3}$
^(\d{1,3}\.){3}\d{1,3}$
String 对正则表达式的支持
.matches() 匹配正则表达式
.split("[,\s\|]") 切分字符串为字符串数组
.replaceAll()
Integer.parseInt() 转换到字符串到整数: 如: "23"-> 23
二、StringBuilder
1 StringBuilder 和 StringBuffer
String = char[] + 操作(不会改变 char[] 内容)
StringBuilder=char[] + 对 char[]操作(处理当前数组内容)
char[] String StringBuilder 都是字符串
差别:
a) char[] 只有字符数据, 没有计算方法(算法), 自己写算法
b) String 内部数据采用 char[] 存储, 还带有计算方法(算法) ,算法不会改变 char[]
内容, 经常利用复制操作生成新对象
c) StringBuilder 内部采用 char[] 缓冲, 还带有计算方法, 这些方法的功能,
是通过改变 char[] 缓冲内容来实现, 在修改的时候, 如果缓冲容量不够, 会自动扩
容
简单的说: String 静态字符串, StringBuilder 动态字符串
StringBuilder 内部的 char[]数组内容可变, 如果长度不够, 利用变长算法维护,
自动扩容长度.
1) StringBuilder 是变长字符序列
2) StringBuilder 方法:append,insert ... 都返回当前 StringBuilder 对象本身
的引用。
3) 如果软件需要大量字符串处理时候建议使用 StringBuilder
"A" + "B"
4) String s = s1+s2; Java 实际上才是如下代码运行:
String s=new StringBuilder(s1).append(s2).toString();
String s = s1+s2+s3+s4; 被优化为
String s = new StringBuilder(s1)
.append(s2).append(s3).append(s4).toString();
s+="a";//会产生至少两个新对象(StringBuilder, String)
StringBuilder buf=new StringBuilder();
buf.append("a");
buf.append("a");
5) StringBuffer 和 StringBuilder API 几乎一样!
StringBuffer 是 java 早期提供的,速度稍慢,线程安全
StringBuilder 是 Java5 以后提供的,速度快,非线程安全
char[] Stirng StringBuilder(1.5) ==? StringBuffer(1.0)
非线程安全 非同步 线程安全 同步
6) String 和 StringBuilder 的相互转换
String -> StringBuilder
String str = "abc";
StringBuilder s = new StringBuilder(str);
String s1 = s.toString();
三、线性表(列表 List)
(1)概念:
(Ⅰ)是位于内存的一种存储结构,用来存储对象;
(Ⅱ)特点:在逻辑上有先后次序,并通过下标来表明。
(2)有两种结构:
(Ⅰ)数组列表 ArrayList
(Ⅱ)链表 LinkedList
(3)线性表在内存中的存储结构(图片参考文档《线性表的内存结构.doc》)
(4)数组列表的随机访问原理(图片参考文档《数组元素的随机访问.doc》)
(5)数组列表的常用 API(参考相应的程序案例)
(6)LinkedList 和 ArrayList 的区别:
(Ⅰ)底层实现不同,ArrayList 是数组列表,其特点是依次顺序排列;而
LinkedList 是双向链表;
(Ⅱ)在随机访问列表元素时,ArrayList 性能优于 LinkedList;但在插入和删除
列表元素时,LinkedList 性能优于 ArrayList。因为 ArrayList 是数组结构,在插
入和删除元素时,会造成其它元素的位移;而 LinkedList 只需要修改相应的链接,
而不需要元素的位移。但由于 LinkedList 的元素散乱的位于内存中,因此不能根据
下标快速寻址定位。
(Ⅲ)由于 LinkedList 和 ArrayList 都实现 List 接口,因此它们有一些相同的方
法,比如 add,remove,indexOf 等方法,同时,LinkedList 也拥有一些自己独特的
方法,比如:public void addFirst(E e);
public E removeLast();
(7)案例《贪吃蛇》(参考文档《贪吃蛇文档 1.docx》和《贪吃蛇文档 2.txt》)
四、散列表(HashMap)【用于存储键值对】
(1)哈希 Map 的原理及特点(参考图片《HashMap 原理.doc》)
(2)散列表概念:
1) 容量 散列表中散列数组大小
2) 散列运算 key-> 散 列 值 ( 散 列 数 组 下 标 ) 的 算 法 , 如 :
"mm".hashCode()%10->8
3) 散列桶 散列值相同的元素的“线性集合”
4) 加载因子 是散列数组加载率, 一般小于 75%性能比较理想
加载因子:(元素数量/散列数组大小), 如: 7/10=70%
5) 散列查找 根据 Key 计算散列值,根据散列值(下标)找到
6) 散列桶 在散列桶中顺序比较 Key, 如果一样, 就返回 value
散列表中 Key 不同, Value 可以重复
五、集合框架
(一)集合框架(Collection 和 Map)
集合框架包括集合与映射(Collection and Map), 以及它们的子类(容器类)
(1)Collection 接口(定义了一些通用的方法,比如: add,clear,size,isEmpty
等方法,还提供了创建迭代器 iterator 的方法)
①List 接口
元 素 有 先 后 次 序 的 集 合 , 元 素 有 index 位 置 , 元 素 可 以 重 复 , 继 承 自
Collection 接口,
实现类: ArrayList, Vector, LinkedList
②Set 接口,是数学意义上的集合, 继承自 Collection 接口
实现类: HashSet,外在表现是无重复列表,底层的实现是以元素的 HashCode 作
为 key 的 HashMap
(2)Map 描述了(key: value)成对放置的集合,key 不重复,Value 可以重复(key
剩余38页未读,继续阅读
资源评论
平头哥在等你
- 粉丝: 582
- 资源: 7530
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- wwwwwwwwwwwwwwwwwww
- 利用恒源云在云端租用GPU服务器训练YOLOv8模型(包括Linux系统命令讲解)_恒源云跑模型-CSDN博客.html
- python自学教程-12-sql注入和防止sql注入.ev4.rar
- python自学教程-11-pymsql对数据库的增删改操作.ev4.rar
- python自学教程-10-pymysql的查询语句操作.ev4.rar
- Sigrity-XtractIM-template.rar
- Sigrity-XtractIM-Tutorial.rar
- Sigrity-XtractIM User Guide.rar
- MicrosoftIgnite2024_ConvinceYourManager.docx
- Sigrity-XPIDME User Guide.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功