增强型for循环

shu3614 2017-03-20 02:02:35
迭代器循环 从数组中获取元素速度最快的方法
for (Iterator it = arry.iterator();it.hasNext();) {
System.out.println(it.next());
}
增强型for循环
for (Object object:arry) {
System.out.println(object);
}
java 1.5 版本以后才出现的循环功能,能够快速遍历循环中的所有元素,无需知道元素的顺序,在程序开发中使用频率很高,同时效率也很好。
集合的相关操作
String i ="12.4";
Integer aa = Integer.valueOf(i);//装箱
aa++ ;
System.out.println(aa);
double kk = Double.parseDouble(i);//拆箱
int a = Integer.parseInt("1234");
a++ ;
System.out.println(a);
String s = " as dg f as dg ";
String s1 = "gdsadgsdf";
据下标拿字符 下标从0开始
System.out.println(s.charAt(1));//根
//比较两个字符串是否一致 一致的时候等于0 不一致的时候不等于0 前面减后面
System.out.println(s.compareTo(s1));
//忽略大小写 其他同comparseTo
System.out.println(s.compareToIgnoreCase(s1));
//链接两个字符串
System.out.println(s.concat(s1));
//字符串中是否包含该元素
System.out.println(s.contains("asd"));
//判断字符串是否以“dg”结尾
System.out.println(s.endsWith("dg"));
//判断字符串是否以“asd”开始
System.out.println(s.startsWith("asd"));
//将数组自动转为byte型数组
byte [] ds = s.getBytes();
for (byte b:ds){
System.out.println(b);
}
//根据给定字符串获取下标 没有返回-1
System.out.println(s.indexOf("asd"));
//判断字符串内是否为空,字符串不能赋值为null否则会有空指针异常
System.out.println(s.isEmpty());
//从后向前找碰到的第一个字符的下标
System.out.println(s.lastIndexOf("g"));
//获取字符串的长度
System.out.println(s.length());
//将字符串中碰到的“asd”全部替换成“666”
String aa = s.replace("asd", "666");
//String add = s.replaceAll("asd", "333");
// 把首个匹配的字符串替换成新的字符串
String asd = s.replaceFirst("asd", "888");
System.out.println(aa);
// 截取字符串 左包右不包
System.out.println(s.substring(3));
System.out.println(s.substring(2, 5));
char [] ce = s1.toCharArray();
for (char c : ce) {
System.out.println(c);
}
//字符串全部转成大写
System.out.println(s.toUpperCase());
//字符串全部转成小写
System.out.println(s.toLowerCase());
//取出字符串两端的空格
System.out.println(s.trim());
//将一切对象转为String
System.out.println(String.valueOf(2)+8);
Set set = new HashSet();
set.add(1);
set.add("asd");
set.add(new Date());
for (Object object : set) {
System.out.println(object);
}
Map map = new HashMap() ;
map.put("aa",124);
map.put(2,'a');
map.put(12.3,"adgdf");
map.put(-2,-981);
System.out.println(map);
// 判断键是否存在
System.out.println(map.containsKey(2));
// 判断值是否存在
System.out.println(map.containsValue(125));
System.out.println(map.entrySet());
正则表达式在Java中的应用
// 表达式对象
Pattern p = Pattern.compile("^(([1][9][7-9]\\d|2000)\\.((0?1|0?3|0?5|0?7|0?8|10|12)\\.([0-2]\\d|[3][0|1])|(0?2)\\.([0|1]\\d|[2][0-8])|(0?4|0?6|0?9|11)\\.([0-2]\\d|[3][0])))$", Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE | Pattern.COMMENTS);
// 创建 Matcher 对象
Matcher m = p.matcher("1972.4.15\n1972.02.06\n1972.08.41\n1999.03.01");
// 是否完全匹配
boolean yesorno = m.matches();
System.out.println(yesorno);
// 查找
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher("asd1jh24hk23j4h5");
while(m.find()){
System.out.println(m.group());
System.out.println(m.start());
System.out.println(m.end());
}
String ss = m.replaceAll("H");
System.out.println(ss);
String fff= "kjh23dj3fhaj3kg54djkl";
String aa = fff.replaceAll("\\d+", "P");//利用正则法则进行替换
System.out.println(aa);
String [] ff = fff.split("\\d+");//分割
for(String str:ff){
System.out.println(str);
}
System.out.println(ff.length);
}
// 获得所有下标
for (Object object : map.keySet()) {
System.out.println(object);
}
// 获得所有值
for (Object o : map.values()) {
System.out.println(o);
}
// 根据键值获得值
System.out.println(map.get(-2));
}
I/O 流的相关操作
File file = new File("c:\\a.txt");
if(!file.exists()){
file.createNewFile();
}
if(file.exists()){
file.delete();
}
File file1 = new File("c:\\a\\b\\c");
if(!file1.exists()){
file1.mkdir();//创建文件夹 该方法只能创建一重文件夹
file1.mkdirs();//该方法可以创建多重文件夹
}
}
// FileOutputStream os = new FileOutputStream(file);
// String s = "你好";
// os.write(s.getBytes());;
// os.close();
// FileWriter ff = new FileWriter(file);
// ff.write("nihao hello");
// ff.close();
FileReader fa = new FileReader(file);
// System.out.println(file.length());
char [] as = new char[(int)file.length()];
fa.read(as);
fa.close();
// for(char c:as){
// System.out.print(c);
// }
String ss = new String (as);
ss+="\r\n你好吗?";
FileWriter fd = new FileWriter(file);
fd.write(ss);
fd.close();
/ FileReader fi = new FileReader("c:/b.txt");
// BufferedReader br = new BufferedReader(fi);
// String str = "";
// System.out.println(str);
// while(str!=null){
// str = br.readLine();
// System.out.println(str);
// }
// br.close();
// fi.close();
// true 的意思是 我准备在文件后面追加文字
// FileWriter fw = new FileWriter("c:/b.txt",true);
// BufferedWriter wr = new BufferedWriter(fw);
// wr.write("asdgasdg");
// wr.newLine();
// wr.write("gdadfg");
// fw.close();
// wr.close();
FileInputStream fis = new FileInputStream("c:/a.jpg");
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] img = new byte[bis.available()];//available的作用是获得文件长度
bis.read(img);
bis.close();
fis.close();
FileOutputStream fos = new FileOutputStream("c:/b.jpg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
bos.write(img);
bos.close();
fos.close();
获取类型信息清单 三种方法
//第一种 用户知道路径
Class cls = Class.forName("com.bdqn.java0316.XuLie");
//第二种 用户直接用类名
Class csl1 = XuLie.class;
//第三种 用户有1个该类的对象
XuLie ss = new XuLie (22,"dsf",new Date());
Class cls2 = ss.getClass();
//根据清单获取类中所有的属性
Field [] file = cls2.getDeclaredFields();
for(Field files : file){
files.setAccessible(true);//修改属性的权限
System.out.println(files.getType()+":"+
files.getName()+":"+files.get(ss));
if(files.getName().equals("name")){
files.set(ss, "slh");
}
}
序列化和反序列化
XuLie xu = new XuLie(1,"aaa",new Date());
ObjectOutputStream opt = new ObjectOutputStream(new FileOutputStream("c:/aa"));
opt.writeObject(xu);
opt.close();
ObjectInputStream opt1 = new ObjectInputStream(new FileInputStream("c:/aa"));
XuLie ff = (XuLie)opt1.readObject();
opt1.close();
System.out.println(ff.getName()+"\n"+ff.getUserid()+"\n"+ff.getBirthday());
XuLie xx = new XuLie(2,"asd",new Date());
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("c:/ab"));
os.writeObject(xx);
os.close();
ObjectInputStream ois1 = new ObjectInputStream(new FileInputStream("c:/ab"));
XuLie mm = (XuLie)ois1.readObject();
ois1.close();
System.out.println(mm.getName()+"\n"+mm.getUserid()+"\n"+mm.getBirthday());
...全文
98 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧