一边工作一边培训,就算再辛苦也要坚持下去。只要付出就会有收获,趁着年轻,加油!
系统基础类库
一、系统相关类
1、System类:可以获取系统属性,获取环境变量。
System.getenv()方法:获取所有环境变量,返回一个Map类型
System.getenv("JAVA_HOME");获取JAVA_HOME的路径
System.currentTimeMillis()方法:获取当前时间的毫秒数,即距离1970/1/1的时间差
2、Runtime类:代表java程序的运行环境,每个java程序都有与之对应的Runtime实例
System.out.println("处理器数量:" + runtime.availableProcessors());
System.out.println("空闲内存数:" + runtime.freeMemory()/1024/1024+"M");
System.out.println("总内存数:" + runtime.totalMemory()/1024/1024+"M");
System.out.println("可用最大内存数:" + runtime.maxMemory()/1024/1024+"M");
二、字符串相关类
1、String类:不可变类,一旦创建,字符序列是不可改变的,以下为String类较为常用的几个方法:
charAt(int i):返回字符串中指定索引的字符
length():返回长度
getBytes():返回字节数组
equals():比较字符串内容是否相同
equalsIgnoreCase():忽略大小写比较
indexOf():查找字符串第一次出现的位置,返回索引
Substring(int startIndex,int endIndex):截取某个位置间的字符串
replace(char oldChar, char newChar):字符串替换
trim(0):去掉起始和尾部的空格
toLowerCase():小写转换
toUpperCase():大写转换
2、StringBuffer:字符序列可变的字符串,线程安全(推荐使用)
3、StringBuilder:字符串可变,线程不安全,效率高
课堂作业
作业一:设计程序,找到adb执行文件的所在目录
提示:adb在Android sdk 的platform-tools 下
public class FindAdb {
public static void main(String[] args) {
String adbPath = System.getenv("ANDROID_SDK_HOME");
if(adbPath!=null){
System.out.println(adbPath);
}else{
System.out.println("请配置android环境变量!");
}
}
}
作业二:
百度输入关键字“Android”,拿到当前的URL,对URL进行拆分。
要求:获取后面的参数(QueryString)并获取域名和对应的端口。
在百度输入“Android”搜索后,得到的URL如下:
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&tn=mswin_oem_dg&wd=Android&oq=Android&rsv_pq=a940df51001217bb&rsv_t=39ee34S%2FkIxPIRkeTNQrjdgmCRn%2B4FOaa2lIpTZrNMENj8UCwue1et2UbgetPl9e7sDi&rqlang=cn&rsv_enter=0&prefixsug=Android&rsp=0&rsv_sug=2
package mashenHomeWork;
import java.util.ArrayList;
public class SearchAndroid {
//获取参数,存放进集合中
public static ArrayList<String> QueryString(String url) {
//获取所有参数
String allkey = url.substring(url.indexOf('?')+1);
//剩余参数
String keyleave = allkey;
//第一个参数
String firstkey = "";
String temp = allkey;
ArrayList<String> keylist = new ArrayList<String>();
while (!temp.equals("")&&temp.indexOf('&')!=-1) {
firstkey = temp.substring(0, temp.indexOf('&'));
keyleave = temp.substring(temp.indexOf('&') + 1);
temp = keyleave;
//将得到的参数存放进集合中
keylist.add(firstkey);
}
return keylist;
}
//获取域名
public static String getDomainName(String url) {
String result = url.substring(url.indexOf('.')+1, url.indexOf('/', url.indexOf('.')));
return result;
}
public static void main(String[] args) {
String url = "https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&tn=mswin_oem_dg&wd=Android&oq=Android&rsv_pq=a940df51001217bb&rsv_t=39ee34S%2FkIxPIRkeTNQrjdgmCRn%2B4FOaa2lIpTZrNMENj8UCwue1et2UbgetPl9e7sDi&rqlang=cn&rsv_enter=0&prefixsug=Android&rsp=0&rsv_sug=2";
ArrayList<String> keylist = SearchAndroid.QueryString(url);
String domain = SearchAndroid.getDomainName(url);
System.out.println("域名为:"+domain);
System.out.println("参数列表为:");
for (String string : keylist) {
System.out.println(string);
}
}
}