String
- String str=“abc”; 字面量 static final String st="abc"常量 他们会复用 ,包括他们的运算
- charAt():输入下标返回对应的值
- indexof(); 输入字符返回下标 从前向后查找,
- (" ",int) 从下标几开始查找
- lastindexof ():从后向前查找,但是下标是正序的
- trim():去掉前缀空格,或者后缀空格,
- subString():截取字符串 包前不包后
- starswith();判断前缀名 是否存在,返回值boolean
- endwith (): 判断后缀名,是否存在
- 如果用String+=赋值 会创建多个StringBuilder 性能不好
- String + String 静态赋值 只会有一个
StringBuilder
- 初始值 char数组16个
- oppend() :追加赋值
- insert():插入数据 可以指定位置
- delete() 删除数据
正则表达式
- Pattern p=Pattern.compile(“传入你想要判定的规则”);
- String str=“你想要判定的那段话”;
- Matcher m=p.matcher(“str”); m代表检测结果
- m.matches()判断str整体,返回boolean值
- m.find()判断其中的,如果出现重复,第二次调用将会判断重复的
- m.start() 第一个字符的起始位置
- m.end() 最后一个字符的位置 (包前不包后)
-
常用的格式符号
- \d 代表数字 . 代表任何 \w 查询单纯字符 \s 代表空格 ? 表示可以可无
- x{n} x出现的次数 x{n,m} n-m之间的个数 \w+ 至少有一个,多不限制
- \d* 数字可以没有,或多个
- 案例 +86 8600 的电话
运行结果
Object
-
任何类型如果没有父类型,则默认继承与Object
-
最终任何类就继承与Object
-
java 将全部类型都有的属性方法定义到了Object类型上
-
Object 定义的方法,任何对象都有
equals() :
==和equals
用于比较值是否相等
基本类型,就是比较基本类型值是否相等
引用类型比价引用的值(对象内存地址),是否相等 -
== 只能比较两个引用是否比较了同一个对象,不能比较两个对象的内容(属性)是否相等.
-
java在Object类为全部对象定义了equals 方法用于判断,对象内容(属性)是否相等,简称判断对象是否相等
-
toString():返回对象的文本描述.,默认实现返回了没有意义的类全名@散列码
-java建议重写toString ,修改toString返回值,一般修改为返回对象当前的属性,用于Debug
Eclipse 提供了快捷工具,帮你重写toString 返回对象的属性
java很多api会自动调用toString方法 -
数据类型包装类
-
byte Byte
-
boolean Boolean
-
short Short
-
char character
-
float Float
-
int Integer
-
double Double
-
- Long LOng
-为什么有包装类,因为把基本类型转换成对象,就可以进行一些操作
java为了性能,设置了基本数据类型,
-
所有数值包装类型的父类都是 Number
-
与基本类型相似,转换的时候,可能发生精度损失,或者溢出
-
java1.5 提供了自动包装, Integer i=10 == Integer i=Integer.value(10)
-
int n=i; == int n=i.value(); n==i 返回true
-
各大类型的转换
-
Integer. parseInt() Integer.valueOf() 区别 第一个返回基本数据类型 ,第二个返回包装类数据类型功能一样 可以通过截取字符串进行转换
-
File
-
File file=new File( str (可有可无),“传入文件路径 字符串类型”);
-
file.mkdir(); 创建一个文件夹
-
file.mkdirs();创建系列文件夹
-
file.isDirectory(); 判断是否是文件夹
-
file.isFile();判断是否是文件
-
File file =new File(Str,"");String str=“D:/”; 指定文件夹,创建文件 ,构造方法
-
file.createNewFile(); 创建文件
-
file.delete() —删除文件
-
file.exists ----判断文件或者目录是否存在
-
file.LIstFiles() 有一个构造方法传入 FIleFilter , FileFilter有一个过滤器方法,须自己重写来过滤掉你自己不想要的文件,或者文件夹
-
以上方法返回值 全部是boolan
-
如何理解该用什么流,以程序为参照物,进入程序用输入流,出程序用输出流
-
RandomAccessFile file=new RandomAccessFile() ,传入两个参数,第一个文件路径,第二个.rw 读取,和写入
-
read() 读取一个八位二进制,返回是一个int型,int 型四位 自动补齐 如果读取不到,就返回-1
-
低级流-------FileInputStream() FileOutputStream();如果构造方法里面传入一个true,写的内容就会追加,如果没有,没创建一次流都会覆盖该文本信息
-
高级流------BufferedInputStream() ----BufferedOutputStream(); 它不会单独存在,
-
增加了文件读取的效率,它有一个方法.flash(); 刷出缓存,使文件字节强制流出,保证了文件的准确性,但多次使用会使效率变慢.
-
高级流-----ObjectInputStream() —ObjectOutputStream();对象输入输出流
-
数语
-
当对象经过OOS写出时,起将该对象按照结构转换,为了一组字节,“这个过程为对象序列化”"
* 当序列化的这组字节在经过fos写入到文件中(写入到磁盘做长久保存),这个过程称为"数据持久化"字节流 FileInoutStranm(),FileOutputStram()
字符流 OutPutStreamWirter(),InputStreamWriter(),
缓冲流 ,BufferedOutputStream(),BufferedInputStream(),PrintWriter(,con)构造方法传入true 将会自动刷新,第一个参数必须要是流
readLine() :读一行,如果没有就会返回null
*