java常用基础类:
在实际的项目开发中,经常借助于一些类来帮助完成特定的功能,例如进行数学运算、字符串运算、日期运算等等,这些类放在Java 2 Platform软件包内,不需要用户再次编写而直接使用,我们称这些类叫“Java工具类。包装类
对于Java的基本数据类型,Sun公司均提供了对应的包装类,如下表所示
一、Integer整数类
Integer是int基本类型的包装类
属性:
构造方法:
二、Character 字符类
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。
属性:
构造方法:
Character(char value):以char参数构造一个Character对象
三、String字符串类
字符串大量用于我们的程序中,Java提供了String类专门用于表示字符串,内有大量实用的方法
构造方法:
方法:
四、字符串的不变形:
public class Test01 {
public static void main(String[] args) {
String results = "ILOVEYOUbaby";
System.out.println(results.concat("susu"));
System.out.println(results);
}
}
结果如下:
五、StringBuffer字符串缓冲类
在实际应用中,经常会遇到对字符串进行动态修改。这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加、插入和替换等操作,对StringBuffer的修改,是直接的,不会创建多余的对象。
构造方法:
方法:
public class Test01 {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("ILOVEYOUbaby");
System.out.println(stringBuffer.append("sususu"));
System.out.println(stringBuffer);
}
}
结果如下:
六、Random随机类
构造方法:
方法:
public class Test01 {
public static void main(String[] args) {
Random r1 = new Random(50);
System.out.println("第一个种子为50的Random对象");
System.out.println("r1.nextBoolean():\t" + r1.nextBoolean());
System.out.println("r1.nextInt():\t\t" + r1.nextInt());
System.out.println("r1.nextDouble():\t" + r1.nextDouble());
System.out.println("r1.nextGaussian():\t" + r1.nextGaussian());
System.out.println("---------------------------");
Random r2 = new Random(50);
System.out.println("第二个种子为50的Random对象");
System.out.println("r2.nextBoolean():\t" + r2.nextBoolean());
System.out.println("r2.nextInt():\t\t" + r2.nextInt());
System.out.println("r2.nextDouble():\t" + r2.nextDouble());
System.out.println("r2.nextGaussian():\t" + r2.nextGaussian());
System.out.println("---------------------------");
Random r3 = new Random(100);
System.out.println("种子为100的Random对象");
System.out.println("r3.nextBoolean():\t" + r3.nextBoolean());
System.out.println("r3.nextInt():\t\t" + r3.nextInt());
System.out.println("r3.nextDouble():\t" + r3.nextDouble());
System.out.println("r3.nextGaussian():\t" + r3.nextGaussian());
System.out.println("结果一目了然!");
}
}
结果如下:
七、Data时间类
- 获取当前日期的时间
- 日期比较
- 使用 SimpleDateFormat 格式化日期
- 使用printf格式化日期
- 测量时间
一、获取当前日期的时间
java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间
代码如下:
public class Test01 {
public static void main(String[] args) {
// 初始化Data对象
Date date = new Date();
// 使用toString()函数显示日期时间
System.out.println(date.toString());
}
}
结果如下:
二、日期比较
java中使用以下三种方法来比较两个日期:
- 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
- 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
- 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
三、使用 SimpleDateFormat 格式化日期
- SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。
- SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行
代码如下:
public class Test01 {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
System.out.println(simpleDateFormat.format(date));
}
}
结果如下:
四、使用printf格式化日期
c 包括全部日期和时间信息
F "年-月-日"格式
D "月/日/年"格式
r "HH:MM:SS PM"格式(12时制)
T "HH:MM:SS"格式(24时制)
R "HH:MM"格式(24时制)
五、测量时间
public static void main(String args[]) {
try {
long start = System.currentTimeMillis( );//获取开始时间,以自1970年1月1日经历的毫秒数值表示
System.out.println("start time: "+new Date( ) + "\n");
Thread.sleep(1000*3);//sleep()使当前线程进入停滞状态(阻塞当前线程),可以使程序休眠一定的时间,这里休眠3秒
System.out.println("end time: "+new Date( ) + "\n");
long end = System.currentTimeMillis( );//获取结束时间
long diff = (end - start)/1000;//转换为秒数
System.out.println("time spand : " + diff);
} catch (Exception e) {
System.out.println("Got an exception!");
}
}
八、Calendar日历类
由于Calendar类是一个抽象类,所以不能直接通过new关键字创建Calendar类的实例,可以借助于该类提供的静态方法getInstance()来获得一个Calendar对象。正像Date类的默认构造方法一样,该对象所代表的日期正是当前系统日期:
Calendar rightNow = Calendar.getInstance();
Calendar抽象类有一个具体子类:GregorianCalendar。
public static void main(String[] args) {
//创建Calendar实例
Calendar ca = Calendar.getInstance();
//获得ca所包含的年份。注意写法
System.out.println("year is :"+ca.get(Calendar.YEAR));
//为年份增加2
ca.add(Calendar.YEAR, 2);
System.out.println("year is :"+ca.get(Calendar.YEAR));
//设置ca的年份
ca.set(Calendar.YEAR,2009);
System.out.println("year is :"+ca.get(Calendar.YEAR));
//今天是今年的第几天
System.out.println("day of year:"+ca.get(Calendar.DAY_OF_YEAR));
//今天是本周的第几天,注意默认情况下周日是第一天
System.out.println("day of week : "+ca.get(Calendar.DAY_OF_WEEK));
//获得对应的Date对象
Date date = ca.getTime();
System.out.println("date time : "+date.getTime());
System.out.println("calendar time : "+ca.getTimeInMillis());
}
九、Math算数运算类
Math类中的静态方法帮助我们完成基本的数学运算,它的定义形式为:
public final class Math extends Object
可以看出,Math类是一个最终类,也就是说,它不能被继承,更不能被重写,Math类中的方法全部为静态方法,直接使用就行。
public static void main(String[] args) {
// 绝对值
System.out.println("abs of -1 : " + Math.abs(-1));
// 比这个数大的最小整数
System.out.println("ceil of 9.01 : " + Math.ceil(9.01));
// 比这个数小的最大整数
System.out.println("floor of 9.99 :" + Math.floor(9.99));
// 取较大者
System.out.println("the max is : " + Math.max(101, 276.001));
// 随机数,区间为[0.0,1.0)
System.out.println("random number : " + Math.random());
// 四舍五入
System.out.println("round value of 9.49 :" + Math.round(9.49));
// 返回正确舍入的 double 值的正平方根
System.out.println("square root of 225 : " + Math.sqrt(225));
}