java学习(9)
来源:互联网 发布:网络都市小说大纲模板 编辑:程序博客网 时间:2024/06/06 10:07
java学习(9)
这篇接着上篇写一个Calendar类以及正则表达式的一些内容。
10. Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法。
Calendar(日历类) 这个了可以获取具体的年,月,日,时,分,秒。
调用方法:public int get(int field):返回给定日历字段的值
代码示例:
//创建Calendar对象
Calendar c = Calendar.getInstance();
//输出年份
System.out.print(c.get(Calendar.YEAR)+"年"+" ");
//输出月份
System.out.print(c.get(Calendar.MONTH)+1+"月"+" ");
//输出日期
System.out.print(c.get(Calendar.DATE)+"日"+" ");
//输出小时
System.out.print(c.get(Calendar.HOUR)+12+"点"+" ");
//输出分钟
System.out.print(c.get(Calendar.MINUTE)+"分"+" ");
//输出秒
System.out.print(c.get(Calendar.SECOND)+"秒");
结果:
注意:在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY
,它为 0;最后一个月取决于一年中的月份数,即为0~11月,因此要显示符合我们习惯的月份,在输出的时候要加上1。
修改日历对象:
public void add(int field,int amount):根据amount修改field的值
public void set(int year,int month,int date):设置当前日历的年月日
代码示例:
//创建Calendar对象
Calendar c = Calendar.getInstance();
//输出年份
System.out.print(c.get(Calendar.YEAR)+" ");
//输出月份
System.out.print(c.get(Calendar.MONTH)+1+" ");
//输出日期
System.out.println(c.get(Calendar.DATE)+" ");
System.out.println("===========");
//public void add(int field,int amount):根据amount修改field的值
c.add(Calendar.DAY_OF_MONTH, -2);
System.out.println("修改后的日期:");
System.out.println(c.get(Calendar.DATE));
System.out.println("===========");
//public void set(int year,int month,int date):设置当前日历的年月日
System.out.println("修改后的日历:");
c.set(2012,3,1);
//输出年份
System.out.print(c.get(Calendar.YEAR)+" ");
//输出月份
System.out.print(c.get(Calendar.MONTH)+1+" ");
//输出日期
System.out.print(c.get(Calendar.DATE)+" ");
注意:与前面写的一样,由于默认的月份为0~11,因此如果要设置4月,在set()方法中设置月份为3,即为4月!!!但在输出的时候,要加1以符合我们的看时间习惯。
结果:
*****************************************************************************************
常用API就写到这里,接下来写关于正则表达式的一些内容:
11. 正则表达式:符合一定规则的字符串
11.1 规则字符在java.util.regex Pattern类中
1)字符
x 字符x
\\ 反斜线字符
2)字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[0-9] 0-9字符
3)预定义字符类
. 任何字符
\d 数字:[0-9]
\w 单词字符:[a-zA-Z_0-9]
4)Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
关于正则表达式的表示内容过多,这里只写出了常用的部分内容。
11.2 判断功能:public boolean matches(String regex):告知此字符串是否匹配给定的正则表达式。
就是对于给定了一个正则表达式,对于接受到的字符串进行判断,是否满足给定的正则表达式。
代码示例:
//判断功能:
//public boolean matches(String regex):告知此字符串是否匹配给定的正则表达式。
String s = "13245678901";
String reg = "1[38][0-9]{9}";
boolean flag = s.matches(reg);
System.out.println(flag);
分析:matches方法返回的是一个布尔值,如果满足正则表达式,返回true,否则返回false。
11.3 替换功能:public String replaceAll(String regex,String replacement):把符合regex的用replacement替换
代码示例:
/**
* 替换功能
public String replaceAll(String regex,String replacement)
把符合regex的用replacement替换
*/
String s = "密码:123124";
String reg = "[0-9]";
String replac="*";
String s2 = s.replaceAll(reg,replac);
System.out.println(s2);
分析:对于一些隐私信息,我们希望可以保密,因此replaceAll方法结合正则表达式,可以有效的实现隐私保密。
结果:
11.4 分割功能:public String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
代码示例:
//public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
//String s = "aa bb cc";
String s = "aa bb cc";
String reg = " +";
String[] strs = s.split(reg);
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
分析:对于给定的字符串,调用split方法进行分割,返回的是一个字符串数组,对于这种中间空格数量不确定的字符串,使用“ +”即“空格和+号”组合的字符串进行切割字符串。
结果:
- java学习(9)
- java学习(9)
- Java---学习(9)
- JAVA基础学习(9)
- java学习笔记(9)
- 【java】java学习(一)
- 【java】java学习(二)
- Java学习笔记18天---(9)
- 孙鑫-JAVA学习笔记(9-10)
- 我的java学习日记(9)
- 黑马程序员 -- Java基础学习(9)
- 黑马程序员--java学习总结(9)
- java学习(9) 匿名内部类
- java 反射机制-学习笔记(9)
- Java学习记录9
- java学习笔记9
- java基础学习(9
- Java学习笔记9
- List To Map的转换
- awk与sed
- SSD( Single Shot MultiBox Detector)关键源码解析
- studio小技巧
- 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
- java学习(9)
- IE 浏览器js 中文传参出现乱码问题的解决办法
- NYOJ-251-AMAZING AUCTION(第三届河南省程序设计大赛H题(模拟))
- 排序算法入门之冒泡排序
- Linux服务器 tomcat 远程调试,
- JAVA EE总结
- 51nod_1069 Nim游戏
- Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
- xcode建立工程项目访问不了外网解决办法