String类:不可变的字符串,一旦被赋值将不能被改变。
如 String str="123";
String str="111";
当值改变时,str指向的常量池的内存地址也会发生改变。
String类提供了操作字符串的常用方法。
String的几种声明
String s=new String ("123");
""与null的区别
"" 是一个字符串对象。存储在常量池中 ,可调用方法。
null是java关键字,在java堆内存中无存储空间。故不可调用方法,否则会出现空指针异常,并且不是常量。
StringBuffer是可变的字符串,通过append方法,insert方法改变值。操作的是同一块内存。
StringBuffer是线程安全的,里面的方法都是用synchronized修饰的。适用于多线程环境,效率相对StringBuilder较低。
StringBuilder是线程不安全的,适用于单线程环境,效率较高。
Math类:
java.lang.Math 类包含的方法进行基本的数字操作,如基本的指数,对数,平方根和三角函数等. Math提供了一些常量,E,表示自然对数,PI表示圆周率,均为double型。下面列举两种方法:
1. staticint abs(int a) 此方法返回一个int值的绝对值.
2. static double acos(double a)此方法返回一个值的反余弦值,返回的角度范围从0.0到pi.
Date类:位于java.util.Date包下。
long getTime();获取当前日期时间对象离1970年1月1日0点所经历的毫秒数。
Calendar:位于java.util.Calendar包下。Calendar是一个抽象类不能实例化,获取Calendar实例需要调用它的getInstance()。可通过set方法设值日历字段值。用get方法获取日历字段值。
SimpleDateFormat:位于java.text.SimpleDateFormat 包下 用来按照指定的格式输出时间。
Random:位于java.util.Random包 Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同
次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。
a、public boolean nextBoolean()该方法的作用是生成一个随机的boolean值,生成true和false的值几率相等,也就是都是50%的几率。
b、public double nextDouble()该方法的作用是生成一个随机的double值,数值介于[0,1.0)之间。