java快速入手文档基础总结资料.docx
- 文档编号:4470105
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:24
- 大小:358.87KB
java快速入手文档基础总结资料.docx
《java快速入手文档基础总结资料.docx》由会员分享,可在线阅读,更多相关《java快速入手文档基础总结资料.docx(24页珍藏版)》请在冰豆网上搜索。
java快速入手文档基础总结资料
1Eclipse相关
1.1常见错误
eclipse项目红色感叹号
应该是你的JDK路径不一致,重新设置下就好了
Addlibraryjresystemlibrary
1.2编辑器正则表达式替换
删除空行:
^\s*\n
删除
2Java基础
2.1数组
声明:
int[]s;
ints[];
定义:
S=newint[5];
1.动态初始化:
数组定义与为数组分配空间和赋值的操作分开进行;
2.静态初始化:
在定义数字的同时就为数组元素分配空间并赋值;
3.默认初始化:
数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化.
2.2文件输入输出流
Input读入output写出
FileOutputStreamoutputStream=newFileOutputStream(contextRealPath+"/"+fileName);
InputStreaminputStream=item.getInputStream();
inputStream.read();
outputStream.write();
3Java类集
collection:
父接口;
Set:
接口---一个实现类:
HashSet
List:
接口---三个实现类:
LinkedList,Vector,ArrayList
3.1List(Collection的一个子接口——允许重复且有序)
3.1.1Arraylist简单操作
List
/***************插入元素******************/
mylist.add("hello");
mylist.add(0,"MLDN");//在位置0插入元素
/***************删除元素******************/
mylist.remove(0);//两种删除方式
mylist.remove("world");//此处为string,若为匿名对象,可能无法删除。
/***************输出元素1******************/
for(inti=0;i { System.out.println(mylist.get(i)); } 或System.out.println(mylist); 3.1.2Linklist简单操作 LinkedList /***************添加数据***********************/ link.add("A"); //System.out.println(link); link.addFirst("FIRST"); link.addLast("LAST"); //System.out.println(link); System.out.println("链表头: "+link.getFirst()); System.out.println("链表头: "+link.getLast()); /***************读取数据***********************/ for(inti=0;i { System.out.println(link.element()); } 3.1.3VectorandEnumeration Vector vec.add("a"); vec.add("b"); vec.add("c"); Enumeration while(enume.hasMoreElements()) { System.out.print(enume.nextElement()+"、"); } HashMap Map /* *Hashtable和HashMap的区别: *HashMapJDK1.0时推出,同步,性能低,线程安全 **/ map.put("zhangsan",1); map.put("zhangsan",2); map.put("lisi",3); map.put("wangwu",4); Integervalue=map.get("zhangsan");//根据key取value /**************集合返回所有的key***************/ Set /**************取所有value***************/ Collection Iterator /**************取所有的键值对***********/ Iterator while(keyiter.hasNext()) { Stringkey=keyiter.next(); System.out.println(key+"-->"+map.get(key)); } 3.2Set不允许重复的子接口 3.2.1HashSet(散列存放的子类) Set set.add("A"); set.add("B"); set.add("C"); set.add("C");//可放入重复元素,但是不重复存储和显示 System.out.println(set); 3.2.2TreeSet(排序存放的子类) Set //有序的集合 set.add("B"); set.add("A"); set.add("C"); System.out.println(set); 3.3集合输出 遍历的方式有如下四种,它们的使用率是不一样的: Iterator--95% ListIterator--1% Enumeration--4% foreach--0% 3.3.1Iterator(迭代输出) List allList.add("a"); allList.add("b"); allList.add("c"); Iterator while(iter.hasNext()) { Stringstr=iter.next();//取当前元素,指针下移。 if("c".equals(str)) { //iter.remove();//正确,但是很少使用 allList.remove(str);//错误,不能直接用集合中的remove方法。 } } 3.3.2ListIterator(双向迭代输出) List allList.add("a"); ListIterator System.out.println("从前向后输出: "); while(iter.hasNext()) { System.out.print(iter.next()+"、"); } System.out.println("从后向前输出: "); while(iter.hasPrevious()){ System.out.print(iter.previous()+"、"); } 3.3.3Foreach(新的支持) 1. List 2. all.add("hello"); 3. all.add("world"); 4. for (String str : all) { 5. System.out.println(str); 6. } 3.4Map接口 3.4.1HashMap /* *Map的输出: *1.Set *2.通过Set为Iterator进行初始化 *3.通过Iterator取出每一个MapEntry *4.通过Map.Entry进行key与value的分离 **/ Map map.put("zhangsan",1); map.put("zhangsan",2); map.put("lisi",3); map.put("wangwu",4); Integera=map.get("wangwu"); /*******遍历方法1********************/ Set Iterator while(iter.hasNext()) { Map.Entry System.out.println(me.getKey()+"-->"+me.getValue()); } /**********方法2************************/ for(Map.Entry map.entrySet()){ System.out.println(me.getKey()+"-->"+me.getValue()); } /******keyset*******/ Set Iterator while(it.hasNext()){ Stringkey=it.next(); System.out.println(key+"|-->"+map.get(key)); } 3.4.2TreeMap(有序的存放) /*treemap可以进行排序*/ Map map.put("zhangsan",1); map.put("zhangsan",2); map.put("lisi",3); map.put("wangwu",4); Set Iterator while(iter.hasNext()){ Stringkey=iter.next(); System.out.println(key+"-->"+map.get(key)); } 3.4.3Hashtable 1. Map 2. all.put("BJ", "BeiJing"); 3. all.put("NJ", "NanJing"); 4. Set 5. Iterator 6. while (iter.hasNext()) { 7. Map.Entry 8. System.out.println(me.getKey() + " --> " + me.getValue()); 9. } 3.5Stack类 1. Stack 2. s.push("A"); 3. s.push("B"); 4. s.push("C"); 5. System.out.println(s.pop()); 6. System.out.println(s.pop()); 7. System.out.println(s.pop()); 8. System.out.println(s.pop()); 3.6其他 3.6.1collections List Collections.addAll(allList,"e.hello","d.hello"); Collections.sort(allList); 3.6.2compareTo classPersonTestimplementsComparable privateStringname; privateintage; publicPersonTest(Stringname,intage){ this.name=name; this.age=age; } publicStringtoString(){ return"姓名: "+this.name+",年龄: "+this.age; } @Override publicintcompareTo(PersonTesto){ if(this.age return1; }elseif(this.age>o.age){ return-1; }else{ returnpareTo(o.name); } } } publicclassComparableTest{ publicstaticvoidmain(String[]args){ Set PersonTesta=newPersonTest("张三",20); PersonTestb=newPersonTest("张三",30); PersonTestc=newPersonTest("张三",40); all.add(a); all.add(b); all.add(c); System.out.println(all); System.out.println(pareTo(b)); } } 4正则表达式 4.1正则表达式语法 正则表达式符号: 句点符号(.): 匹配所有字符,如t.n 方括号([]): 定义匹配集合,单字符匹配,如t[aeio]n 或符号(|): 或运算,如t(a|e|i|o|oo)n $: 匹配行结束符。 ^匹配一行的开始。 /转义符,用来将元字符当作普通的字符来进行匹配。 ^“^”符号称为“否”符号。 常用的限定符 代码/语法说明 *重复零次或更多次 +重复一次或更多次 ? 重复零次或一次 {n}重复n次 {n,}重复n次或更多次 {n,m}重复n到m次 常用的元字符: 代码说明 .匹配除换行符以外的任意字符 \w匹配字母或数字或下划线或汉字 \s匹配任意的空白符 \d匹配数字 \b匹配单词的开始或结束 ^匹配字符串的开始 $匹配字符串的结束 常用的反义代码 代码/语法说明 \W匹配任意不是字母,数字,下划线,汉字的字符 \S匹配任意不是空白符的字符 \D匹配任意非数字的字符 \B匹配不是单词开头或结束的位置 [^x]匹配除了x以外的任意字符 [^aeiou]匹配除了aeiou这几个字母以外的任意字符 4.2常用正则表达式 1[正则表达式]文本框输入内容控制 2整数或者小数: ^[0-9]+\.{0,1}[0-9]{0,2}$ 3只能输入数字: "^[0-9]*$"。 4只能输入n位的数字: "^\d{n}$"。 5只能输入至少n位的数字: "^\d{n,}$"。 6只能输入m~n位的数字: 。 "^\d{m,n}$" 7只能输入零和非零开头的数字: "^(0|[1-9][0-9]*)$"。 8只能输入有两位小数的正实数: "^[0-9]+(.[0-9]{2})? $"。 9只能输入有1~3位小数的正实数: "^[0-9]+(.[0-9]{1,3})? $"。 10只能输入非零的正整数: "^\+? [1-9][0-9]*$"。 11只能输入非零的负整数: "^\-[1-9][]0-9"*$。 12只能输入长度为3的字符: "^.{3}$"。 13只能输入由26个英文字母组成的字符串: "^[A-Za-z]+$"。 14只能输入由26个大写英文字母组成的字符串: "^[A-Z]+$"。 15只能输入由26个小写英文字母组成的字符串: "^[a-z]+$"。 16只能输入由数字和26个英文字母组成的字符串: "^[A-Za-z0-9]+$"。 17只能输入由数字、26个英文字母或者下划线组成的字符串: "^\w+$"。 18验证用户密码: "^[a-zA-Z]\w{5,17}$"正确格式为: 以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 19验证是否含有^%&',;=? $\"等字符: "[^%&',;=? $\x22]+"。 20只能输入汉字: "^[\u4e00-\u9fa5]{0,}$" 21验证Email地址: "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。 22验证InternetURL: "^http: //([\w-]+\.)+[\w-]+(/[\w-./? %&=]*)? $"。 23验证电话号码: "^(\(\d{3,4}-)|\d{3.4}-)? \d{7,8}$"正确格式为: "XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 24验证身份证号(15位或18位数字): "^\d{15}|\d{18}$"。 25验证一年的12个月: "^(0? [1-9]|1[0-2])$"正确格式为: "01"~"09"和"1"~"12"。 26验证一个月的31天: "^((0? [1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。 27匹配中文字符的正则表达式: [\u4e00-\u9fa5] 28匹配双字节字符(包括汉字在内): [^\x00-\xff] 29应用: 计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 30String.prototype.len=function(){returnthis.replace(/[^\x00-\xff]/g,"aa").length;} 31匹配空行的正则表达式: \n[\s|]*\r 32匹配html标签的正则表达式: <(.*)>(.*)<\/(.*)>|<(.*)\/> 33匹配首尾空格的正则表达式: (^\s*)|(\s*$) 4.3详解Pattern类和Matcher类 Patternp=Ppile("\\w+"); p.pattern();//返回\w+ 4.3.1Pattern.split(CharSequenceinput) Patternp=Ppile("\\d+"); String[]str=p.split("我的QQ是: 456456我的电话是: 0532214我的邮箱是: aaa@"); 结果: str[0]="我的QQ是: "str[1]="我的电话是: "str[2]="我的邮箱是: aaa@" 4.3.2Pattern.matches 是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串. Java代码示例: Pattern.matches("\\d+","2223");//返回true Pattern.matcher(CharSequenceinput) pattern=Ppile("b*g"); Matchermatcher=pattern.matcher("bbg"); System.out.println(matcher.matches()); 4.3.3Matcher.matches()/Matcher.lookingAt()/Matcher.find() matches()对整个字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 快速 入手 文档 基础 总结 资料