黑马程序员----------常用API

来源:互联网 发布:生成全排列的递归算法 编辑:程序博客网 时间:2024/05/01 01:58

------- android培训、java培训、期待与您交流! ----------

常用API

API: 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

String 字符串:java中用String类进行描述。对字符串进行了对象的封装。这样的好处是可以对字符串这种常见数据进行方便的操作。对象封装后,可以定义N多属性和行为。

定义字符串对象:String str1=”abc”;

字符串一旦被初始化就不会再改变,被存放在常量池中

String str2=new String(“abc”)  其中有两个对象,一个是new出来的,一个是“abc”

Syso(str1==str2)//false ==是比较的地址值

Syso(str1.equals(s2))//true   equals比较的是内容

字符串的方法

构造方法:String s1 = newString();//创建了一个空内容的字符串。

String s2 = null;//s2没有任何对象指向,是一个null常量值。

String s3 = "";//s3指向一个具体的字符串对象,只不过这个字符串中没有内容。

String s4 = new String("abc");//一般在定义字符串时,不用new。

String s5 = "abc"; 一般用此写法

new String(char[]);//将字符数组转成字符串。

newString(char[],offset,count);//将字符数组中的一部分转成字符串。

一般方法:获取长度int len=str.length();

       获取指定位置字符char ch=str.charAt(1)

       获取角标 int index=str.indexOf()

       将字符串转成数组  char[] chs=strs.tocharArray转成字符数组

       将基本数据类型转成字符串 strs.valueof(int)

字符串比较大小compareTo    int num= "a"comparTo("b")>0

例:对字符串比较

String[] strs={"fbc","buc","ega","req"}

for(int x=0;x<strs.length;x++){
    syso(strs[x]) }

public static void sort(String strs){

    for(intx=0;x<strs.length;x++){

for(int y=x+1;y<strs.length;y++){
    if((strs[x].comparTo[y])>0)

swap(strs,x,y)}}}

字符串缓冲区StringBuffer:构造一个其中不带字符的字符串缓冲区,初始容量为16个字符。

特点是:可以对字符串进行操作,是一个容器,长度可变,可以接受任意类型的数据

    最后都会转成字符串

容器一般都有固定的方法:

StringBuffer sb=new StringBuffer()

添加:sb.append()可以连续追加 sb.insert()在指定位置添加

删除:sb.delect(start,end)删除从开始到结束sb.delectcharAt(4)删除在指定角标的

修改:sb.replace()

查找:sb.indexof()

反转:sb.reverse

StringBulider:方法和StringBuffer一样,用在字符串缓冲区被单个线程使用的时候

StringBuffer和StringBulider的区别:

Stringbuffer线程安全  多线程操作

Stringbuilder线程不安全 单线程效率高

什么时候使用字符串缓冲区:

数据很多,个数无所谓确定,类型无所谓确定,只要最后都转成字符串就使用Stringbuffer

例子:class  Test{

    publicstatic void main(String[] args) {

        Strings1 = "java";

        Strings2 = "hello";

        method_1(s1,s2);

        System.out.println(s1+"...."+s2);//java....hello

        StringBuilders11 = new StringBuilder("java");

        StringBuilders22 = new StringBuilder("hello");

        method_2(s11,s22);

        System.out.println(s11+"-----"+s22);//javahello-----hello

    }

    publicstatic void method_1(String s1,String s2){

        s1.replace('a','k');

        s1 =s2;

    }

    publicstatic void method_2(StringBuilder s1,StringBuilder s2){

        s1.append(s2);

        s1 =s2;

    }

}

基本数据类型包装类:将基本数据类型封装成了对象

好处:可以通过对象中的属性和行为操作基本数据

    可以实现基本数据类型和字符串之间的转换

关键字      对应的类名

byte        Byte

short       Short

int     Integer

long        Long

char        Character

long        Long

boolean Boolean

float       Float

基本数据类型包装类都有xxx.parseXXX方法,character没有

Integer对象

数字格式的字符串转成基本数据类型的方法

Syso(Integer.parstInt("23")+4)//结果为27

将基本数据类型转成字符串

Syso(Integer.toString(3)+8)//结果为38

将整数转换成对象  Integer i=new Integer(4); 或者Integer i=Integer.valueOf(4)

将对象转成整数   Integer i=newInteger(5)   int x=i.intValue();

java.lang.System:其中的属性和方法都是静态的

long currentTimeMillis()//返回当前毫秒值

exit();//退出虚拟机

properties getProperties //获取当前属性值

Properties prop=System.Properties//获取系统属性值,并存储到properties集合中

System.setProperties()//给系统属性集添加具体属性

String name=System.getProperties()//获取指定属性的信息

Java.lang.Runtime:类中没有构造方法,不能创建对象

通过Runtim.getRuntime()的方法获取对象

Runtime是使用单例模式进行设计

Class RuntimeDemo{

    Main(){Runtimer=Runtime.getRuntime;

process p=r.exec()//括号内运行指定的程序

Thread.sleep(4000);p.destry()//摧毁程序}}

Java.lang.Math:数学上的工具类,该类是final,不允许继承

tatic double ceil(double a) ; //返回大于指定数值的最小整数

static double floor(double a) ; //返回小于指定数值的最大整数

static long round(double a) ; //四舍五入成整数

static double pow(double a, double b) ; //a的b次幂

static double random(); //返回0~1的伪随机数

Java.util.Date:日期类

日期对象和毫秒值得转换:Date d=new Date();long time=d.getTime();

毫秒值和日期对象的转换:long time=48469474545;Date d=newDate();d.setTime(long);

将日期字符串转成日期对象:使用的是DateFormat中的parse()方法

String str=2014/12/5;

DateFormat format=new SimpleDateFormat();括号内可以自定义日期形式

Date d=format.parse(str);

如果不需要自定义日期形式,可以通过DateFormat中的静态工程模式获取已经封装好的模式

Date d=new Date();

DateFormatdf=DateFormat.getDateIntance(DateFormat.LONG)

df.DateFormat.getTimeIntance(DateFormat.LONG,DateFormat.LONG);

String tiem=df.format(d);

将日期对象转成字符串的形式

DateFormat date=newSimpleDateFormat();date.format();对日期对象格式化

Java.util.Calendar:日历类

Calendar c=Calendar.getIntance();//获取日历类的实例对象

c.set(2012,4,1)//自定义年份

Syso(c.get(Calendar.YEAR))//获取年份

日历对象的偏移:c.add(Calendar.YEAE,4)//在现在的年份上加上四年

想要知道某一年的2月有多少天intyear=2012;c.set(year,2,1);c.add(Calendar.DAY_of_MONTH,-1);


0 0
原创粉丝点击