A
1. String
a.
name == name1 false name1为创建出来的对象,所以指向不同的地址
name.equals(name1) true 将name1拆分成char[]做比较,按照数组的内容作比较,不是拿内存作比较,所以为true
equals方法的源码分析:
c. 字符串的常用方法
trim() : 取出左右的空格(中间的不去除);
toUpperCase() : 转化为大写字母;
内部实现:
charAt(int i) : 拿出下标为i的字符;
equalsIgnoreCase(String a) : 不区分大小写的比较;
indexOf(String a,int b); 从前面b位置查找a在第几位;
lastIndexOf(String a,int b); 从后面b位置查找a在第几位;
indexOf(String a); 字符串a的下标为第几个;
endWith(String a); 后面有没有包含a;
startWith(String a); 前面有没有包含a;
substring(int a); 截取下标为a以后的字符串
split(String a); 若a为“,”以逗号分割,取出所有的值,若为“.”要加上“\\.”(加上转义符)
replace(String a,String b); 将所有的a字符串替换为b;
例题:
1 将字符串“fskdjfhkaljsdaojskfbasmfkjhffggfgjkuouaqda”排序;
2.找出“kjavaljkajavasbjavakduajavagsjvdjavabasljavakfjhjavaalsjavabf”java字符串的个数;
3. 把字符串“daFDSsFSDFkhfGkFsGjhJKflUjflGsDFkdhJfHYkjFdshVkfjlsd”大写变小写,小写变大写
4.把“fdk jdf hka sjf f als kd flk ah fjj”中间的空格去掉
2. StringBuffer
方法里都加了synchronized,有同步的效果,需要排队,速度慢,但是安全
append() 追加 ,什么类型都可以追加
insert(int i,String a) 在下标为i的地方插入a
replace(int index1,int index2,String a) 下标为index1到index2替换为a
3. StringBuilder
方法里没有synchronized,不需要排队,速度快,不安全
方法和StringBuffer差不多
Integer
Integer 是 -128~127 ,用 == 比较可以,超过这个范围用equals
Integer b = 12;默认的是找的Integer.valueOf()方法,会先判断是不是 -128~127,如果是,会从池里拿出这个对象。所以结果为false;
Integer可以按照进制数打印相应的十进制
Integer十进制转化为二进制、八进制、十六进制
Double
Float
Charater
Long
Short
Byte
Boolean
System
一些常用的方法:
Runtime
相当于dos执行命令
打开一个网页
打开记事本
启动qq
杀进程
Date
1 获得年月日时分秒
date.getTime() 获得一个长整型的时间毫秒数
date.toLocalString() 工具本地区域,打印这个区域的日期格式,用Locale.setDefault(Local.US)设置
java.util.Calendar(日历类)
日历类获得时分秒
日历设置时间的加减
查看当月有多少天
查看星期几
java.text.DateFormat(日期格式)
打印结果:
java.text.SimpleDateFormat
设置Date的格式
Date转化为String
字符串转化为日期对象
Local(区域)
Local类,获取国家和相对的语言
Toolkit(工具类)
获得屏幕分辨率
Robot(机器人)
敲键盘的SHIFT+B
把鼠标移动到(50,50)
rebot.mouseMove(50,50)
单击鼠标
鼠标滚轴滚动
math
π的值
绝对值
100以内的随机数
四舍五入
舍去
random(随机数)
Bigdecimal