Java基础--常用类(2)
来源:互联网 发布:pdf网络虚拟打印机 编辑:程序博客网 时间:2024/05/29 14:46
Java.lang.StringBuffer代表可变的字符序列
StringBuffer和String类似,但StringBuffer可以对其字符串进行改变,String类要是执行s1=s1+s2的语句,需要先分配一个空间让s1和s2都拷贝过去,在将s1指向这个区域,而StringBuffer则不需要。
StringBuffer类的常见构造方法:
StringBuffer() 创建一个不包含字符序列的空的StringBuffer对象
StringBuffer(String str) 创建一个StringBuffer对象,包含与String对象str相同的字符序列
StringBuffer常用方法:
1.重载方法public StringBuffer append(…)
可以为该StringBuffer对象添加字符序列,返回添加后的该StringBuffer对象引用,例如:(String str)/(StringBuffer sbuf)/(char[] str)/(char[] str,int offset,int len)添加一个字符数组的一部分/(double d)/(Object obj)
2.重载方法public StringBuffer insert(…)
可以在该StringBuffer在指定位置插入字符序列,返回修改后的该StringBuffer对象引用,例如:
public StringBuffer insert(int offset,String str)public StringBuffer insert(int offset,doublie d)…… …
方法public Stringbuffer delete(int start,int end)可以删除从start开始到end-1为止的一段字符序列,返回修改后的该StringBuffer对象引用。
3.和String类含义类似的方法:
public int indexOf(Stirng str)
public int indexOf(String str,int fromIndex)
public String substring(int start)
public Stirng substirng(int start,int end)
public int length()
方法public StringBUffer reverse()用于将字符序列逆序,返回修改后的该StirngBuffer对象引用。
例:
public class TestStringBuffer { public static void main(String agrs[]) { String s = "Mircosoft"; char a[] = {'a', 'b', 'c'}; StringBuffer sb1 = new StringBuffer(s); sb1.append('/').append("IBM").append('/').append("Sun"); System.out.println(sb1); StringBuffer sb2 = new StringBuffer("数字"); for (int i = 0; i <= 9; i++) { sb2.append(i); } System.out.println(sb2); sb2.delete(8, sb2.length()).insert(0, a); System.out.println(sb2); System.out.println(sb2.reverse()); }}
结果:Mircosoft/IBM/Sun
数字0123456789
abc数字012345
543210字数cba
2.基础数据类型包装类
包装类(如:Integer,Double等)这些类封装了一个相应的基本数据类型数值,将数据分配在堆空间上,并为其提供了一系列操作。
以java.lang.Integer类为例,构造方法:
Integer(int value)
Integer(String s)
包装类常见方法:以下方法以java.lang.Integer为例
public static final int MAX_VALUE 最大的int型数(2的31次方-1)
Public static final int MIN_VALUE 最小的int型数(-2的31次方)
public long longValue() 返回封装数据的long型值
public double doubleValue 返回封装数据的double型值
public int intValue 返回封装数据的int型值
public static int parseInt(String s)throws NumberFormatException 将字符串解析成int型数据,返回该数据
public static Integer valueOf(String s)throws NumberFormatException 返回Interger对象,其中封装的整型数据为字符串s所表示
例如:
public class TestStringBuffer { public static void main(String agrs[]) { Integer i = new Integer(100); Double d = new Double("123.456"); int j = i.intValue() + d.intValue(); float f = i.floatValue() + d.floatValue(); System.out.println(j); System.out.println(f); double pi = Double.parseDouble("3.1415926"); double r = Double.valueOf("2.0").doubleValue(); double s = pi * r * r; System.out.println(s); try { int k = Integer.parseInt("1.25"); //只能把整数的字符串转换成整型 } catch (NumberFormatException e) { System.out.println("数据格式不对"); } System.out.println(Integer.toBinaryString(123) + "B"); System.out.println(Integer.toHexString(123) + "H"); System.out.println(Integer.toOctalString(123) + "O"); }}
结果是:
223
223.456
12.5663704
数据格式不对
1111011B
7bH
173O
数组解析器代码:public class ArrayParser { public static void main(String[] args) { double[][] d; String s = "1,2;3,4,5;6,7,8"; String[] sFirst = s.split(";"); d = new double[sFirst.length][]; for (int i = 0; i < sFirst.length; i++) { String[] sSecond = sFirst[i].split(","); d[i] = new double[sSecond.length]; for (int j = 0; j < d[i].length; j++) { d[i][j] = Double.parseDouble(sSecond[j]); } } for (int i = 0; i < d.length; i++) { for (int j = 0; j < d[i].length; j++) { System.out.print(d[i][j] + " "); } System.out.println(); } }}
结果是:
1.0 2.0
3.0 4.0 5.0
6.0 7.0 8.0
3.Math类
java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。
abs绝对值 acos反余弦,asin,atan,cos,sin,tan
sprt平方根 pow(double a,double b)a的b次幂
log 自然对数 exp e为底指数
max(double a,double b) min(double a,double b)
random()返回0.0到1.0的随机数
long round(double a) double型的数据a转换成long型(四舍五入)
toDegrees(double angrad)弧度->角度
toRadians(double angrad)角度->弧度
Math.E是一个静态常量 e = 2.718281828459
4.File类
java.io.File类代表系统文件名(路径和文件名)
public File (Stirng pathname) 以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储
public File(String parent,Stirng child) 以parent为父路径,children为子路径创建File对象
File的静态属性Stirng separator存储了当前系统的路径分隔符
File类常用方法
通过File对象可以访问文件的属性。
public boolean canRead()
public boolean canWrite()
public boolean exists() 是不是存在
public boolean isDirectory() 目录
public boolean isFile() 文件名
public boolean isHidden() 是不是隐藏的
public long lastModified() 上次修改时间ms
Public long length()
public String getName()
public String getPath()路径
通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)public boolean createNewFile() throws IOException
public boolean delete()
public boolean mkdir()//创建路径
public boolean mkdirs()// 创建在路径中的一系列目录
例如:import java.io.*;
public class TestFile { public static void main(String[] args) { String separator = File.separator; String filename = "myfile.txt"; String directory = "mydir1" + separator + "mydir2"; //String directory = "mydir1/mydir2"; //String directory = "mydir1\\mydir2"; File f = new File(directory, filename); if (f.exists()) { System.out.println("文件名:" + f.getAbsolutePath()); System.out.println("文件大小:" + f.length()); } else { f.getParentFile().mkdirs(); try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } }}
结果是:
文件名:C:\Users\Administrator\workspace\helloworld\mydir1\mydir2\myfile.txt
文件大小:6
递归列出目录结构:
public class FileList { public static void main(String[] args) { File f = new File("d:/A"); System.out.println(f.getName()); tree(f, 1); } private static void tree(File f, int level) { String preStr = ""; for (int i = 0; i < level; i++) { preStr += " "; } File[] childs = f.listFiles(); for (int i = 0; i < childs.length; i++) { System.out.println(preStr + childs[i].getName()); if (childs[i].isDirectory()) { tree(childs[i], level + 1); } } }}
结果是:
A
B
E
F.txt
C
D.txt
5.Enum枚举类
枚举类型:只能够取特定值中的一个,使用enum关键字,是java.lang.Enum类型
定义一种新的类型不是变量就是一个类,然后在定义变量
举例:
public class TestEnum { public enum MyColor {red, green, blue}; public static void main(String agrs[]) { MyColor m = MyColor.red; switch (m) { case red: System.out.println("red"); break; case green: System.out.println("green"); break; default: System.out.println("default"); } System.out.println(m); }}
结果是:
red
red
- Java基础--常用类(2)
- Java基础-常用类
- java基础--常用类
- java基础-常用类
- java常用类(基础)
- Java基础--常用类
- java基础常用类
- java常用基础类
- java常用基础类
- [ java ] java基础常用类!
- Java基础回顾_常用类_String常用2
- java基础常用类心得
- Java基础入门-常用类
- java基础之常用类
- Java基础总结-常用类
- java基础—常用类
- java基础---一些常用类
- Java基础之常用类
- iOS中对图片拉伸的四种方式
- android与HTML混合开发总结
- (昨天的)codevs 天梯 统计单词个数 dp
- 使用CSDN-markdown模板
- bzoj1061--线性规划
- Java基础--常用类(2)
- 常量&变量
- js动态生成年份
- 职场中脱颖而出
- curl模拟post请求提交
- curl模拟post请求提交
- 匿名内部类
- jsp三个指令
- 位运算