StringBuffer str1=new StringBuffer( ) ;
StringBuilder str2 //buffer安全于builder 但速度慢 主要用buffer
StringBuffer的用法
str1.append("*") //在str1后加上*(运行效率比字符串+快)
str1.reverse( ); //反转字符串
str1.insert(offset, all) //插入在offset位置上all的内容(可char,数字,string)
str1.delete(2, 4) //删除[2,4)
str1.deleteCharAt(index) //删除位置上的一个字符
str1.replace(2,4,"123") //将[2,4)替换成后面字符串123的内容
str1.setCharAt(index, ch); //在将该位置的元素设置成char(char可设置为中文)
str1.setLength(0); //清空字符串对象
@@总结:主要运用StringBuffer ,在文件中进行append操作
=================================================
拆装箱
作用:能对常用类型进行方法操作
以下给出double与char示例:
double-Double示例
double a=3.14
装箱
Double num1=new Double("3.14");
Double num2=Double.valueOf(a); //两种装箱方法
Double num3=3.14; //自动装箱
拆箱
a=num1; //自动拆箱
a=num2.doubleVaule(); //拆箱
Integer num1=100; //两者数值相同时且位于定义范围内时 两者num相同
Integer num2=100;
num1==num2
但超出范围(<-127||>128)
num1!=num2 //两者不等 因为两者超出范围后 系统重定义赋予地址
//两次都超出 赋予地址不同 因此比较时比较地址不同
num1.compareTo(num2) //此处比较两个数的数值 相等返回0 前大返回1 前小返回-1
char-Character示例
判断char型字符------boolean
Character.isAlphabetic(ch); //判断字符是否是字母
Character.isLetter(ch); //判断字符是否是文字(字母或者汉字)
Character.isDigit(ch) //判断字符是否是数字
Character.isLetterOrDigit(ch) //判断字符是否只含文字或数字
===================================================
文件IO流
File(path) //用file类型直接打开文件
content.append(System.getProperty("line.separator"));//拼接一个系统默认分隔符
字节流
InputStream
OutputStream //读/写byte型文件
子类
FileinputStream (file1)
FileOutputStream (file1) //打开文件
ObjectInputStream //对其目标文件进行强转成要得到的类型
ObjectOutputStream //序列化和反序列化(实现Serializable接口)
BufferedInputStream //缓存流包装
字符流
Reader
Writer //打开文件
子类
BufferedWriter //缓冲字符输出流用其write()方法写入字符串
BufferedReader
InputStreamReader
OutputStreamWriter
PrintWriter //用append拼接字符串
子类
FileReader(path/file) //字符流读取文件
FileWriter(path/file) //写入文件
RandomAccessFile //分块读取(用处大)
@@总结:以读取文件为例
两者都实例化后方可:
1.先用Reader/FileinputStream(上方红记号)打开文件后
2.再用其他子类去对文件修改
RandomAccessFile //分块读取(用处大)
=================================================
杂记
1.类型转换
char[] a= {‘c‘,‘a‘,‘f‘}; //字符数组
String str1=new String(a); //将字符数组类型转换为字符串
char[] b;
b=str1.toCharArray(); //将字符串转换为字符数组
2.忽视大小写 当answer为y或Y时为真1 反之其他为0
answer.equalsIgnoreCase("y")
3.1970-1-1到现在的毫秒数
long time=System.currentTimeMillis();
4.键盘输入
Scanner input=new Scanner(System.in)
之后对input进行函数调用 需导入头文件
5.java选项面板类
JOptionPane.showInputDialog(null,str); //将str以对话框的形式输出 (并在结尾输入 进行下一步)
JOptionPane.showMessageDialog(null, str); //将str以对话框的形式输出
JOptionPane.showMessageDialog(null, "hello", "world", JOptionPane.WARNING_MESSAGE, new ImageIcon("路径"));
参数1 对话框父窗体对象
参数2 对话框的提示信息
参数3 对话框的标题信息
参数4 对话框的消息类型(警告标志 0=不填等)
参数5 对话框中显示的图片对象
JOptionPane.showInputDialog(null, message, title, messageType, icon, selectionValues, initialSelectionValue)
参数6 对话框输入/选项(添加数组)
参数7 在参数6对话框中初始的信息
6.闰年判断条件