常用类
系统相关类
System类
代表当前ava程序的运行平台。.
System. currentTimeMillis()获得系统当前时间的函数.
开始: System. out.println(System. currentTimeMilLis()); // 1毫秒== 1000*1000毫微秒.
结束 : System.out.println(System.currentTimeMilLis());
System. nanoTime ()这个函数并非是获取系统当前时间的函数,它是一个获得系统计时器的函数,该函数不能表示具体的日期,
它只能表示从某一个不确定的时间,到当前时间的时间差(有的人说:它是从CPU开始运行时,计算的与当前时间的时间差).
开始: long startTime = System.nanoTime();
System.out.println(stantTime);
System. nanoTime ()与钟表所定义的时间,没有任何关系,它的作用就只有1个,计算代码的执行时间?
结束: long endTime = System.nanoTime();
System.out.println("上述代码,总共耗时:"+ (endTime -startTime) /(1000*1000)/1000 +"秒的时间").
Syem.exit(0); // 关闭虚拟机 (慎用).
gc
public static void gc()
运行垃圾回收器。
调用gc方法暗示着Java 机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时虚拟机已经尽最大努力从所有天弃的对象中回收了空间
调用System.gc()实际上等效于调用:
Runtime. getRuntime ().gc()
System.gc(); // 提醒垃圾回收期,可以回收垃圾了.
System.out.println(System.getProperties());//得到系统的环境变量
Runtime类
代表Java程序的运环境。
每个Java应用程序都有一个Runtime类实例,使用程序与接。可以通过getRuntime方法获取当前运行时.
应用程序不能创建自己的Runtime类实例。
System.out.println(Runtime.getRuntime (). maxMemory () / 1024 / 1024);//得到最大的JVM虚拟机内存
System.out.println(Runtime.getRuntime (). freeMemory () / 1024 / 1024);//得到JVM虚拟机中的空闲内存
System.out.println(Runtime.getRuntime (). totalMemory() / 1024 / 1024);//当前程序正在使用的内存量
System.out.println(Runtime.getruntime (). availableProcessors());//得到处理器的数量
Runtime.getRuntime ().exec( "motepad.exe");//打开记事本
字符串相关类
String类
//string字符串,一旦确定,那么这个字符串,无论长度,还是内容,都不能改变.
//不是通过"构造器"创建的字符串,放置在常量池中.
string str="abc" ;
//使用"构造器"创建的字符串,数据存放在堆中
//下面这行代码,实际上创建两个对象,,一个对象在堆中, 1个对象在常量池中.
string str00 = new String("abc");
//获得字符串的长度
System.out.println(str.length());
//按照字符在字符串中,所在的位置获取对应的字符数据,取值范围是: 0-length()-1
System.out.println(str.charAt(2));
//按照字符在字符串中,所在的位置获取对应的字符数据的Ascl1码值.
System.out.printin(str.codePointAt(2));
//主要用户字符串拼接,不是在原有的字符串后面去追加,而是创建一个新的字符串.
System.out.println(str.concat("e"));
//判断字符串中,是否存在某一个字符串 .
System.out.println(str.contains ("bc"));
//判断两个字符串内容是否相同.
System.out.println(str.contentEquals("abc"));
//判断字符串,是否是以某一段字符串结束.
System.out.println(str.endswith("bcd"));
string str = "张三-李四-王五-赵六";
string [] names = str.split("-"); //拆分字符串
System.out.println(Arrays. tostring(names));
System.out.println(str. indexof("李四"));//得到某誉字符在字符串中,所出现首次位置下标,-1表示没有这个字符串.
System.out.println(str.lastIndexof("赵六"));//得到某些字符在字符串中,所出现最后一次位置下标.
System.out.println(str.replace("李四", ".二狗蛋"));//更改字符串,并不是真正的更改,而是重写创新的.
System.out.println("abcD".touppercase());
System.out.println("abcD".toLowerCase());//大小写转换.
char[] arrs = "abcD".toCharArray();//将字符串转换为字符数组
arrs[3] =97;
System.out.println(string.valueof(arrs));// 又转回成字符串.
System.out.println(" ad bc ".trim());//trim(),可以忽略字符串前后的空白(空格) .
System.out.println("abcdefg".substring(4));//返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
System.out.println("abcdefg".substring(4,6));//字符串截取函数(从哪一个位置开始,到哪个位置结束,规则是:包前不包后)
System.out.println("abcdefg".subSequence (4, 6));//字符串截取函数(从哪一个位置开始,到哪个位置结束,规则是:包前不包后)
//string.valueof()让基本数据类型和引用数据类型,以字符串的方式来进行展现
System.out.println(String.valueof(1));
StringBuffer类
方 法 描 述
StringBuffer append(数据) 将数据追加到StringBuffer所代表的字符串的末尾
int capacity() 返回StringBuffer的当前容量
StringBuffer delete(int start, int end) 删除字符串中从索引位置start到end(不包括)位置的字符。
StringBuffer deleteChartAt(int index) 删除指定位置的字符
StringBuffer insert(int offset, 数据) 将指定的数据插入到该StringBuffer指定位置
StringBuffer replace(int start, int end, String str) 用指定字符串中的字符替换该StringBuffer中的字符
StringBuffer reverse() 倒序替换该StringBuffer中包含的字符序列
void setCharAt(int index, char ch) 将该StringBuffer指定索引处的字符赋给ch
void setLength(int newLength) 设置该StringBuffer的长度
//StringBuffer实际上,就是前面的超级数组类的变换
StringBuffer buffer = new StringBuffer("abc第");
StringBuilder buider = new StringBuilder("abc第");
System.out.println(buffer.capacity());//得到StringBuffer类中的字符数组的长度
System.out.println(buffer.length());//得到StringBuffer类中的字符数组中,已经存放的元素的个数
//向StringBuffer所定义的数组中的尾部,追加新的数据
buffer.append("edh");
System.out.println(buffer.capacity());//得到StringBuffer类中的字符数组的长度
System.out.println(buffer.length());//得到StringBuffer类中的字符数组中,已经存放的元素的个数
System.out.println(buffer.toString());
buffer.delete(4, 6);//删除4,5号位的数据
System.out.println(buffer.toString());
buffer.deleteCharAt(4);
System.out.println(buffer.toString());
buffer.insert(4, "胡帅,你真可爱!");
System.out.println(buffer.toString());
buffer.replace(3, 5, "要死啊!");
System.out.println(buffer.toString());
buffer.reverse();//StringBuffer类中数组,倒序排列
System.out.println(buffer.toString());
char ch = '0';
buffer.setCharAt(5, ch);//使用新的字符,去替代某个下标所在的字符
System.out.println(buffer.toString());
//截取从开始位置,到结束位置之间的字符串(包前不包后)
System.out.println(buffer.substring(3, 7));
String str = "abc";
String str2 = new String("abc");
System.out.println(str.intern() == str2.intern());
string和stringBuffer和stringBuilder区别
三者在执行速度方面的比较:StringBuilder > StringBuffer > String
String 字符串常量---- 适用于少量的字符串操作的情况
StringBuffer 字符串变量(线程安全)---- 适用于单线程下在字符缓冲区进行大量操作的情况
StringBuilder 字符串变量(非线程安全)----适用多线程下在字符缓冲区进行大量操作的情况