------- android培训、java培训、java学习型技术博客期待与您交流! ----------
常用API
1、String类
字符串是一个特殊对象。
字符串是常量,这类被final修饰,不能被继承,一旦初始化就不可改变
字符串在程序中经常使用,虚拟机会将其缓存在String池中
package cn.itcast;
public class APIDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// StringBuffer sbuf = new StringBuffer("asddda");
// method();
// method_1();
// method_2();
// method_3();
// method_4();
method_5();
}
/*5. String类其它方法
|-- String[] split()切割字符串
|-- String replace(old char ,new char)替换字符串
|-- String trim()去掉字符串两端的空格*/
private static void method_5() {
// TODO Auto-generated method stub
String str =" ands.sdf.we.gd.sdf ";
String[] s= str.split("\\.");
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
String ss= str.replace('d', 'b');
System.out.println(ss);
String sss= str.trim();
System.out.println(sss);
}
/*4. String类的转换方法
|-- char[] toCharArray()将字符串转成字符数组
|-- byte[] getBytes()将字符串转成字节数组
|-- String toUpperCase()将字符串转成大写
|-- String toLowerCase()将字符串转成小写
|-- static String valueOf
*/
private static void method_4() {
// TODO Auto-generated method stub
String str = new String("sabsdfjlbed");
char[] ch = str.toCharArray();
byte[] b= str.getBytes();
String s = str.toUpperCase();
System.out.println(s);
String sl = s.toLowerCase();
System.out.println(sl);
String ss= String.valueOf(false);
System.out.println(ss);
}
/*3. String类的获取方法
|-- char chatAt(int index),指定索引,返回这个索引上的字符
|-- int indexOf(char c)返回字符在此字符串中第一个出现的索引
|-- int indexOf(char c ,int fromIndex)返回字符在此字符串中第一个出现的索引,从指定索引开始查找
|-- int indexOf(String s)返回字符串在此字符串中第一个出现的索引
|-- int indexOf(String s ,int fromIndex)返回字符串在此字符串中第一个出现的索引,从指定索引开始查找
|-- int lastIndexOf(char c) 反向索引
|-- String substring(int start ,int end)获取字符串中的一部分 包含头,不包含尾*/
private static void method_3() {
// TODO Auto-generated method stub
String str = new String("sabsdfjlbed");
char a = str.charAt(2);
System.out.println(a);
int b = str.indexOf('b');
System.out.println(b);
int c= str.indexOf('b',3);
System.out.println(c);
int s= str.indexOf("ab");
System.out.println(s);
}
/*2. String类的判断方法
|-- boolean equals(Object obj) 比较字符串的内容是否相等
|-- boolean contains(String s) 判断一个字符串是否包含另一个字符串
|-- boolean startsWith(String) 判断一个字符串是否以另一个字符串开头
|-- boolean endsWith(String) 判断一个字符串是否以另一个字符串结尾
|-- boolean isEmpty()判断一个字符串是否有内容*/
private static void method_2() {
// TODO Auto-generated method stub
byte[] b=new byte[]{1,2,5,5,8,97,6,6};
char[] ch=new char[]{1,2,5,5,8,97,6,6};
int[] arr=new int[]{1,2,5,5,8,97,6,6};
long[] longs=new long[]{1,2,5,5,8,97,6,6};
String str1 = new String(b);
String str2 = new String(ch);
String str3 = new String(arr,0,8);
System.out.println(b);
System.out.println(ch);
System.out.println(arr);
System.out.println(longs);
System.out.println(str1.contains(str2));
System.out.println(str1.endsWith(str2));
System.out.println(str2.startsWith(str3));
System.out.println(str3.equals(str1));
System.out.println(str3.isEmpty());
}
/*1. String类的构造方法
|-- String(byte[] bytes) 将字节数组转成字符串
|-- String(byte[] bytes, int offset, int length) offse开始索引 length个数
|-- String(char[] value)
|-- String(char[] value, int offset, int count)
将字节数组中的数查询ASCII表看数字所对的字符
*/
public static void method_1() {
byte[] b={1,2,'5',5,53};
char[] ch={1,2,'5',5,8,97,6,6};
int[] arr={1,2,5,5,8,97,6,6};
System.out.println(b[2]);
System.out.println(ch[1]);
String str1 = new String(b);
String str2 = new String(ch);
String str3 = new String(arr,0,8);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
private static void method() {
// TODO Auto-generated method stub
StringBuffer sbuf = new StringBuffer("asddda");
System.out.println(sbuf);
}
}
字符串缓冲区
package cn.itcast;
public class BufferedStringDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
method_1();
}
/* StringBuffer常用方法
|-- 向缓冲区中,追加数据 StringBuffer append(任意类型) return this
方法调用链,方法的运算结果还是本类的对象引用
|-- 删除容器中的字符串 StringBuffer delete(int start,int end)包含头,不包含尾
|-- 在容器中,指定位置上,插入数据 StringBuffer insert(int index,任意类型)
|-- 替换容器中的字符串 StringBuffer replace(int start,int end ,String s)包含头,不包含尾
|-- 修改指定位置上的字符 void setCharAt(int index ,char c)
|-- 将缓冲区中的数据,变成字符串 String toString()*/
private static void method_1() {
// TODO Auto-generated method stub
StringBuffer sbuf = new StringBuffer();
System.out.println(sbuf);
sbuf.append(false).append('s').append(8).append(8.0);
System.out.println(sbuf);
sbuf.delete(0, 4);
System.out.println(sbuf);
sbuf.replace(0, 2, "strdewf");
System.out.println(sbuf);
sbuf.setCharAt(1, 'c');
System.out.println(sbuf);
sbuf.toString();
System.out.println(sbuf);
}
}
2 包装类:JDK提供了对所有数据类型的包装类
byte >>> Byte
short >>> Short
int >>> Integer
long>>> Long
double >>> Double
float >>> Float
char>>> Character
boolean >>> Boolean
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
包装类的常用方法:
toString方法:用于基本数据类型与字符串 之间的转换
parseInt方法:Integer.parseInt(String s)
valueOf方法:Double.valueOf(String s)
基本数据类型对象包装类新特性,JDK1.5以后,简化了定义方式:
Integer x = new Integer(4);可以直接写成
Integer x = 4;//自动装箱。
x = x + 5;//自动拆箱。通过intValue方法。x = new Integer(x.intValue()+5);
注意:
在使用时,Integer x = null;上面的代码就会出现NullPointerException。
3 Integer类
/*3. Integer类
|-- static int parseInt(String s)将数字格式的字符串转成int类型 *****
|-- static int parseInt(String s, int radix)
int radix指明s数字格式字符串的进制,方法运行的结果都是10进制
|-- 构造方法 new Integer(String s)
int intValue()将构造方法中,写入的数字格式的字符串,转成int类型*/
private static void method_1() {
// TODO Auto-generated method stub
int a = Integer.parseInt("4324234",14);
System.out.println(a);
Integer i = new Integer("44645");
int in=i.intValue();
System.out.println(in);
}
4 Math类,这是一个数学运算类
/*4. Math类,这是一个数学运算类
|-- 静态的常量 圆周率 PI double
|-- static int abs()绝对值
|-- static int max(int a,int b)返回较大的数
|-- static double ceil(double d) ***** 返回大于或者等于指定数最小数
|-- static double floor(double d)***** 返回小于或者等于指定数最大数
|-- static double pow(int x,int y)幂运算 x的y次幂
|-- static int round(double d) 四舍五入
|-- static double random()伪随机数 0.0-1.0
|-- 新的产生随机数的方式,用的是 Random类 类中的方法nextInt(参数就是随机数的范围)
|-- 导包,导入的是包中的类 java.util.Random; *****
*/
private static void method_2() {
// TODO Auto-generated method stub
System.out.println(Math.PI);
int a = Math.abs(-5);
System.out.println(a);
double d = Math.ceil(8.9);
System.out.println(d);
double d1 = Math.floor(8.9);
System.out.println(d1);
double d2 = Math.pow(2, 3);
System.out.println(d2);
long i2 = Math.round(4.5);
System.out.println(i2);
System.out.println(Math.random());
}
5 Date类
/*5. Date类
|-- 构造方法 new Date()
|-- 构造方法 new Date(long date)毫秒值,可以将毫秒值,转成日期对象*****
|-- 有了日期对象,怎么转成毫秒值呢 long getTime() *****
|-- boolean after(Date d)当前日期在指定日期之后嘛
|-- boolean before(Date d)当前日期在指定日期之前嘛
|-- boolean equals(Date d)当前日期和指定时期相等吗
|-- int compareTo(Data d)*/
private static void method_3() {
// TODO Auto-generated method stuby
System.out.println(System.currentTimeMillis());//1378308748784
Date d = new Date();
System.out.println(d);
Date d1= new Date(1378308748784l);
System.out.println(d1);
int i = d.compareTo(d1);
System.out.println(i);
}
6 对日期进行格式化 SimpleDateFormat
/*6. 对日期进行格式化 SimpleDateFormat *****
|-- 对日期对象格式化步骤:
|-- 建立SimpleDateFormat对象,在构造方法中,传递格式化的格式
|-- 使用SimpleDateFormat类中的方法,format方法,对日期对象进行格式化,返回一个字符串
|-- 打印字符串*/
private static void method_4() {
// TODO Auto-generated method stub
SimpleDateFormat sd= new SimpleDateFormat("yyyy年MM月dd日HH时ss分mm秒");
String str = sd.format(new Date());
System.out.println(str);
Random r = new Random();
System.out.println(r.nextInt(10));
}
7 其他类
package cn.itcast;
import java.util.*;
import java.text.*;
class targer extends TimerTask {
public void run() {
// TODO Auto-generated method stub
System.out.println("发邮件");
}
}
public class APIDemo1 {
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
// method_1();
// method_2();
// method_3();
// method_4();
method_5();
}
/*11. Timer定时器
|-- 实现定时完成某些任务
|-- 构造方法建立对象
|-- void schedule */
private static void method_5() {
Timer t = new Timer(false);
t.schedule(new targer(), new Date(), 2000);
}
/*10. Runtime类,此类采用单例模式构建
|-- static Runtime getRuntime()
|-- Process exec()*/
private static void method_4()throws Exception {
// TODO Auto-generated method stub
Runtime rt = Runtime.getRuntime();
rt.exec("");
}
/*9. System类
|-- static Prorerties getProperties()
|-- static String getProperty(String key)*/
private static void method_3() {
// TODO Auto-generated method stub
// Properties p =System.getProperties();
// System.out.println(p);
String name = System.getProperty("os.name");
System.out.println(name);
}
/* 8. Calendar 日历类
|-- static Calendar getInstance() 返回的是Calendar类对象
|-- int get(日历字段) 返回给定日历字段的值。
|-- add(日历规则,偏移量)
|-- setTime(Date d)改变当前日历类,对应的日期
|-- 请你计算出这一年,是不是闰年 ******/
private static void method_2() throws Exception {
// TODO Auto-generated method stub
//Calendar 是抽象类不能创建对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse("2013-08-03");
Calendar c = Calendar.getInstance();
c.setTime(d);
c.add(Calendar.DAY_OF_MONTH, 15);
System.out.println( c.get(Calendar.YEAR)+"年"+method_1((c.get(Calendar.MONTH)+1))+"月"+
method_1(c.get(Calendar.DAY_OF_MONTH))+"日"+c.get(Calendar.HOUR_OF_DAY)+"时"+c.get(Calendar.MINUTE)+"分"+
c.get(Calendar.SECOND)+"秒 "+method(c.get(Calendar.DAY_OF_WEEK)));
}
// static DateFormat getDateInstance(int style)
public static String method_1(int i){
if (i<10) {
return "0"+i;
}
return ""+i;
}
private static String method(int i) {
// TODO Auto-generated method stub
String[] str = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
return str[i-1];
}
private static void method_1() {
// TODO Auto-generated method stub
Date d = new Date();
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
String str =df.format(d);
System.out.println(str);
}
}