黑马程序员——JAVA学习整理笔记——常用类库
来源:互联网 发布:若风淘宝店 编辑:程序博客网 时间:2024/06/05 13:33
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. StringBuffer 类
1.1 与String比较:
当使用一个字符串内容需要频繁修改时,使用StringBuffer类可以提升操作性能,其原因为:使用String进行“+”修改字符串是其真正改变的是字符串的引用(地址),而不是改变堆内存中的内容,而使用StringBuffer定义可以改变其内容。
1.2 StringBuffer类中的一些常用方法:
append()------>与String中“+”类似,此方法可以添加任何数据类型;
insert()------>在指定位置上为其添加内容;
reverse----->将一个指定字符串逆向,如“Hello”变为“olleH”;
replace()----->对指定范围的内容进行替换;在String中用replaceAll();
substring()----->可以直接从StringBuffer的指定范围中截取内容;
delete()------->删除指定范围的内容
indexOf()------>可以查找指定的内容是否存在。注:如果存在返回内容的具体位置,如果不存在返回-1.
举例:
public class StringBufferTest{
publicstatic void main(Sting args[]){
StringBuffer sbf=new StringBuffer();
sbf.append("world!!");
System.out.println("当前sbf为:"+sbf);
sbf.insert(0,"hello");
System.out.println("当前sbf为:"+sbf);
Stringstr1=sbf.reverse().toString();
System.out.println("反转sbf后为:"+str1);
sbf.replace(6,11,"JAVA");
System.out.println("当前sbf为:"+sbf);
Stringstr2=abf.substring(6,11);
System.out.println("截取的内容为:"+str2);
Stringstr3=sbf.delete(6,11).toString();
System.out.println("删除的内容为:"+str3);
if(sbf.indexOf("hello")==-1){
System.out.println("没有查找到指定的内容");
}else{
System.out.println("查找到指定的内容");
}
}
}
运行结果:
2. Runtime类
2.1概念:
Runtime类表示运行时操作类,是一个封装了JVM进程的类,每一个JVM都对应着一个Runtime类的实例,次实例由JVM为其实例化。
如果想获取一个Runtime实例,则只能通过以下方式:
Runtimerun=Runtime. getRuntime();
2.2 Runtime类中的常用方法:
Public static Runtime getRuntime() -------->取得Runtime类的实例
Public long freeMemory() -------->返回虚拟机中的空闲内存量
Public long maxMemory() -------->返回JVM中的最大内存
Public void gc() -------->执行垃圾回收,释放内存空间
PublicProcess exec(String command)throws IOException -------->执行本机命令
实例:
Publicclass RuntimeTest
{
public static void main(String[] args)
{
Runtime run=Runtime.getRuntime();
System.out.println("JVM的空闲内存:"+run.freeMemory());
System.out.println("JVM的最大内存:"+run.maxMemory());
StringBuffer sbr=new StringBuffer();
for(int i=1;i<100;i++){
sbr.append("i");
}
System.out.println("JVM的空闲内存:"+run.freeMemory());
run.gc();
System.out.println("JVM的空闲内存:"+run.freeMemory());
}
}
运行结果:
3 .System类
3.1概念:
指的是一些与系统相关属性和方法的集合。
3.2常用方法:
exit(int status) ------>当status为非0时表示系统退出;
gc() ------>调用Runtime的gc方法
currentTimeMillis() ------>获取以毫秒为单位的当前时间
arraycopy(Object src ,int srcPos,Object dest, int destPos, int length) ------>数组复制操作
getProperties() ------>取得当前系统的全部属性
getProperty(String key) ------>根据键值取得属性的具体内容
举例:class Test6
{
public static void main(String[] args)
{
longcurrenttime=System.currentTimeMillis();
System.out.println(currenttime);
System.out.println("系统版本为:"+System.getProperty("os.name"));
System.gc();
}
}
运行结果:
3.3 对象的生命周期:
一个类加载后进行初始化,然后就可以进行对象的实例化,对象实例化时会调用构造方法完成,当一个对象不再使用时就要等待被垃圾收集,然后对象终结,最终被程序卸载。
4. 日期操作类
4.1Date类
得到当前系统时间,但是此日期格式并不是我们日常生活中的格式:
如:public classTest2 {
publicstatic void main(String[] args) {
Date day = new Date();
System.out.println("当前时间为:" + day);
}
}
运行结果:
4.2Calendar类
可以取得的时间精确到毫秒;
Calendar类本身是一个抽象类,故此需通过其子类GregorianCalendar类实例化:
Calendar calendar=newGregorianGcalendar();
常用的一些变量,为static final变量:
YEAR 取得年
MONTH 取得月
DAY_OF_MONTH 取得日
HOUR_OF_DAY 取的小时,24小时制
MINUTE 取得分
SECOND 取得秒
MILLISECOND 取得毫秒
提供的方法:
Public static Calendar getInstance() ---------->根据默认的时区实例化对象
Public boolean after(Object when) --------->判断一个日期是否在指定之后
Public boolean before(Objectwhen) --------->判断一个日期是否在指定之前
Public int get(intfield) --------->返回给定日历字段值
举例:
import java.util.Calendar;
importjava.util.GregorianCalendar;
class Test6
{
public static void main(String[] args)
{
Calendar calendar = new GregorianCalendar();
System.out.println("年:" + calendar.get(Calendar.YEAR));
System.out.println("月:" + calendar.get((Calendar.MONTH) +1));
System.out.println("日:" +calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("时:" +calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("分:" + calendar.get(Calendar.MINUTE));
System.out.println("秒:" + calendar.get(Calendar.SECOND));
System.out.println("毫秒:" +calendar.get(Calendar.MILLISECOND));
}
}
运行结果:
注意:此时取得的月份初始值为0,所以应当在这个基础上+1;
4.3 DateFormat类
可以取得一个非常正确的时间;但是其格式不是国人的习惯要求;但是可以进行格式化操作,使其按照自己喜欢的格式显示(打印);
具体使用方法与Date相似
具体代码:
import java.text.DateFormat;
import java.util.Date;
class Test6
{
public static void main(String[] args)
{
DateFormat df1 = DateFormat.getDateInstance();
DateFormat df2 = DateFormat.getDateTimeInstance();
System.out.println("日期为:" + df1.format(new Date()));
System.out.println("精确时间为:" + df2.format(new Date()));
}
}
运行结果:
DateFormat类可以用其默认的显示风格进行格式化;
如下代码:
import java.text.DateFormat;
import java.util.Locale;
import java.util.Date;
class Test6
{
public static void main(String[] args)
{
DateFormat df1 =DateFormat.getDateInstance(DateFormat.YEAR_FIELD,newLocale("zh","CN"));
DateFormat df2 =DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,newLocale("zh","CN"));
System.out.println("日期为:" + df1.format(new Date()));
System.out.println("精确时间为:" + df2.format(new Date()));
}
}
运行结果:
4.4 SimpleDateFormat类
可以把2015-03-19 22:12:49.345 变为:2015年3月19日22时12分49秒345毫秒
使用SimpleDateFormat类就是定义一个日期模版,让对应的时间按照模版样编辑输出;
其中日期格式化模版标记如下:
yyyy------->表示年,为4位数
MM------->表示月,为2位数
dd------->表示天数,为2位数
HH------->表示小时,为2位数
mm------->表示分,为2位数
ss------->表示秒,为2位数
SSS------->表示毫秒,为3位数
常用方法:publicSimpleDateFormat(String pattern) 通过一个指定的模版构造对象
Public Date parse(String source) throws ParseException
Public final String format(Date date) 将一个Date类型按照指定的格式为String类型
操作代码:
importjava.text.SimpleDateFormat;
import java.util.Date;
import java.text.*;
class Test6
{
public static void main(String[] args)
{
String str =new String("2015-03-19 22:12:49.345");
String pat1 = "yyyy-MM-dd HH:mm:ss.SSSS";
String pat2 = "yyyy年MM月dd日 HH时mm分ss秒SSSS毫秒";
SimpleDateFormat sdf1 = new SimpleDateFormat(pat1);
SimpleDateFormat sdf2 = new SimpleDateFormat(pat2);
Date day = null;
try {
day = sdf1.parse(str);
} catch (ParseException e) {
e.getStackTrace();
}
System.out.println(sdf2.format(day));
}
}
运行结果:
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
- 黑马程序员——JAVA学习整理笔记——常用类库
- 黑马程序员——java高新技术1学习笔记整理
- 黑马程序员——java高新技术2学习笔记整理
- 黑马程序员——Java集合框架—整理笔记
- 黑马程序员——Java网络编程-整理笔记
- 黑马程序员——Java反射-整理笔记
- 黑马程序员——Java面向对象-整理笔记
- 黑马程序员——Java基础-整理笔记
- 黑马程序员——多线程-整理笔记
- 黑马程序员——泛型-整理笔记
- 黑马程序员 JAVA 学习笔记——类加载器
- 黑马程序员 java学习笔记——类加载器
- 黑马程序员——Java集合类学习笔记
- 黑马程序员——java学习笔记--日期操作类
- 黑马程序员—java中的Scanner类学习笔记
- 黑马程序员—NPOI的学习整理
- 黑马程序员—学习小心知识整理
- 黑马程序员--Java学习笔记之Web开发—JavaScript常用触发事件总结
- Java 中字符串比较equals()和equalsIgnoreCase()的区别(学习笔记)
- bzoj2024: [SHOI2009] 舞会 dp
- struts2 <s:iterator>遍历Map的多种方法
- The CUDA® 7.0正式发布了。。。。。。
- Linux 进程虚拟内存的问题
- 黑马程序员——JAVA学习整理笔记——常用类库
- 第2周项目3多文件组织
- JAVA基础编程50题(7-9题)详解
- Linux驱动基础开发2
- Java多线程之Lock的使用
- 关于Https 和 http 的区别
- App Store官方的邮箱列表
- 跟踪分析Linux内核的启动过程(从start_kernel到init进程)
- PHP开发学习门户第三版UI正式上线