System类是一个final类,该类的所有属性和方法都是静态的
标准输入,指控制台输入
system属性:in、out、err(错误)
常用方法:
- currentTimeMillis() 获取当前时间用毫秒来表示
用于计算代码运行耗时。运行前有个毫秒,运行后的有个毫秒,两个相减得到代码运行时间
Long now1 = system.currentTimeMillis();
Long now2 = system.currentTimeMillis();
Now2 - now1;
- exit() 终止当前运行的系统属性
- getProperties() 确定当前的系统属性
- gc() 运行垃圾回收机制
String
string也是一个对象
在内存中的数据段中,有一个字符串常量池
池的特点:预先把一些对象预先放入到当中去,要用的时候直接从池里面去取
字符串特点:string对象的内容不可变,是给了一个新的string对象
对字符串方法的操作分类:
1.与字符数组相关,字符串中拥有一个方法是toChaarArray,可以把字符串放到数组当中去
返回第一个或者第几个的字符
返回字符串首次出现位置
返回字符串最后出现位置
看字符串长度
返回一个字符串是否包含另一个字符串
根据下标截取字符串(前闭后开,最后一个是不会截取到的)
替换(可以多个替换)
判断某个字符开头
判断某个字符结尾
把一个字符串加在另一个字符串的后面,用concat
2.与英文相关
toUpperCasse 转全大写
toLoweCasse 转全小写
equalsIgnoreCase 忽略大小写比较相等
比较两个字符串大小,根据首个字符前后位置(eg:a b c等,然后比较后面的字母,得到的结果是前面那个剪掉后面的ascll码,第一个相等就用第二个的去比,在相减,以此类推。若短的字符和长的字符一样,然后比较长 比如 hello和hellow)
3.重点方法:字符串判断
对任意一个字符串做非空判断,都要做两个判断(空与空串),而且顺序不能变
空是指没有指向一个对象(str != null)
空串是指向了一个对象,但是这个对象是一个空的对象(!Str.equals(” “))
trim()方法
去掉前面和后面的空格,如字符串中间有空格,中间的空格不会去掉
matches():正则表达式匹配
正则表达式理解为是一个字符串模版,规定了字符串的样式,去校验一个字符串的正确形式
regex
1.任何一个字符串都是一个正则表达式
2.学习模糊符号
暂学模糊符号:
2.1三种括号 [] () {} * +
书写好了过后,调用matches
Str.matches(正则);
模糊符号:
[] 一个方括号代表一个字符,在方括号内部书写上这个字符可以有哪些有效的选择
连续的东西可以用 - 来表示 eg:[0-9]
{} 话括号表示前面正则表达式反复出现的次数
具体语法是:正则表达式{m,n}
m和n分别表示最少出现出现m次,最多出现n次
若{m,} 表示最少出现m次,最多没有限制次数
若{m} 表示只能出现m次
* +? 这三种符号也可以表示前面表达式出现的次数
* 表示任意次
+ 表示至少一次,没有上限
? 表示零到一次
( | ) 一般会在中间用跟短竖线,表示可选择的表达式,指的是可以选择左边的也可以选择右边的。而且可以还在后面加上竖线在来进行选择。里面写的可以是一个字符串也可以是一个正则表达式
包装类
包装类是专门为基本数据类型设计的
八个包装类来对应八个基本数据类型
包装类的任务是:在基本数据类型和引用数据类型充当一个桥梁,使基本数据类型和引用类型进行互换(初次之外还可以使包装类、引用类、基本数据类型之间任意互换
eg:integer string int)
1.基本转包装类对象:
1.1调用包装类的带参构造,然后将形式参数传进去(需要new出来)
1.2还可以直接进行赋值——>这种叫做自动封箱(JDK1.5以后)
2.包装类对象转基本:
2.1直接赋值——>这种叫做自动拆箱(JDK1.5以后)
2.2调用包装类对象(没有static了,因为是向对象要的,而static修饰的都是与对象无关,与类有关的,所以是没static)的 (value前面写的是基本数据类型)Value方法
在不知道调用什么方法的时候,要自己去找方法,找方法的时候,先根据看返回类型,然后在看是不是需要传参,然后在看访问修饰符是什么,在去看可选修饰符是什么,最后来确定此方法
3.包装类对象转引用类(string):
3.1调用包装类对象的tostring方法
4.引用类(string)转包装类对象:
4.1调用包装类的带string的构造
5.基本转引用(string):
5.1用包装类的带参tostring方法(不是对象,中间借用integer帮忙,然后跟integer这个对象本身没什么关系,只是充当一个中间人的作用,就像生活中我们找个人帮忙递个东西,跟这个人身上有的东西没关系,只是我们要给他一个东西,因此在这里是有参的,而且是static的,是一个类)
6.引用类型(string)转基本—–>用的最多
6.1用包装类的带参parseInt方法(道理如同上面基本类型转引用类型)
6.2调用string本身的valueOf方法
当去调用方法的时候,在doc文档里没有的话,就需要借助包装类来协助完成转换
在使用字符串拼接的时候最好用stringBuffer或者stringBuilder
StringBuffer
内容是可变的字符串,他的用途主要集中在改变stringBuffer对象的内容
他是以个最终类,不能有子类
stringBuffer是要new出来的
是一个stringBuffer对象,不是String对象
append指的是在new出来的对象屁股末尾添加一个字符串
insert指的是往中间位置放,前面要写上数组的下标来表示放在哪个中间
reverse指的是反转过来,是在数组里的每一个元素都会转过来
stringBuilder
内容可变的字符串类型,他的用途主要集中在改变stringBuilder对象的内容,适用在单线程的时候,不考虑线程安全,执行效率高
StringBuffer他可以保证线程安全,适用于多线程,设计为线程安全,但是执行效率底
在大量需要做字符串拼接的时候,使用StringBuffer或者stringBuilder,具体看是否是多线程
凡是线程安全的执行速度一定慢,凡是线程不安全的,执行速度一定块,效率一定高
properties(属性):
1.是一个集合类
1.1集合特立
可变大变小
存放不占用连续空间
可存放object类型,但是操作文件时数据都被作为字符串String
*数据在内部存放是按照 键 值对 的方式存放
键和值是成对存在的,且键是不会重复的,是唯一的
如果键的名字是一样的那么就会形成后面那个键覆盖前面那个键,也就是平常说的修改数据
删的话直接用个remove 然后输入键就可以了,就是根据键移除数据
得到多少条数据有个size方法
(数组当中,数组下标就是键,里面存的数字就是值)
2.可以操作文件
2.1配置文件
属性文件
XML文件