您的位置:首页 > 编程语言 > Java开发

java 常用类介绍

2017-11-16 17:27 459 查看
java.util.Random 

Random 有两种构造 

Random()  默认用当前系统时间的毫秒数来作为种子

Random(long send)  可以指定种子

种子是随机算法的起源数字和随机数的区间没有任何关系。相同种子的Random对象,生成的随机数序列是一样的。

public void test2(){
Random r1 = new Random(5);
Random r2 = new Random(5);
//相同种子的随机数实例,将产生相同序列的随机数,并且和范围没有关系
System.out.println("r1产生的随机数");
for(int i = 0 ; i < 10 ; i++){
int i1 = r1.nextInt(20);
System.out.print(String.valueOf(i1+" "));
}
System.out.println("");
System.out.println("r2产生的随机数");
for(int i = 0 ; i < 10 ; i++){
int i1 = r2.nextInt(20);
System.out.print(String.valueOf(i1+" "));
}
}


输出结果为:

r1产生的随机数

7 12 14 4 6 5 14 11 2 1 

r2产生的随机数

7 12 14 4 6 5 14 11 2 1 

从输出结果可以确认 种子和随机数产生的区间没有关系,相同种子的Random实例产生随机数的序列一致。

java.lang.Math.Random

Math.Random 能返回带正好的double值范围为[0.0,1.0) 左闭右开的区间

@Test
public void test3(){
System.out.println("Math.random()=" + Math.random());// 结果是个double类型的值,区间为[0.0,1.0)
int num = (int) (Math.random() * 3); // 注意不要写成(int)Math.random()*3,这个结果为0,因为先执行了强制转换
System.out.println("num=" + num);
}


Math.random()=0.2842742811901736

num=1

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间。get() 方法获取日期时间信息,参数为需要获得的字段的值 Calendar.Year 等为 Calendar 类中定义的静态常量。通过getTimeInMillis() 可以获取时间的毫秒数,通过getTime()可以获取Date,也是转换为Date的一种方式。

@Test
public void test4(){
//创建Calendar对象
Calendar c=Calendar.getInstance();

int year=c.get(Calendar.YEAR);

int month=c.get(Calendar.MONTH)+1;

int day=c.get(Calendar.DAY_OF_MONTH);

int hours=c.get(Calendar.HOUR_OF_DAY);

int minute=c.get(Calendar.MINUTE);

int scond=c.get(Calendar.SECOND);

System.out.println("当前时间为:"+year+"-"+month+"-"+day+" "+hours+":"+minute+":"+scond);

//将Calendar对象转换为Date对象
Date date=c.getTime();
//获取当前毫秒数
Long time=c.getTimeInMillis();
System.out.println("当前时间:"+date);
System.out.println("毫秒数:"+time);

}

当前时间为:2017-11-16 15:43:37

当前时间:Thu Nov 16 15:43:37 CST 2017

毫秒数:1510818217580

String 类  底层基于字符数组,创建后引用存在栈空间,值存在堆空间或者常量池。

String s1 = null 表示没有对象指向   String s2 ="" 表示指向一个没有内容的对象。

equals判断的为字符串值是否相同,相同则equals 返回为true

string s1 ="abc" 会直接从常量池中寻找是否存在abc 如果存在 s1直接指向该值,不存在新创建一个。

String s1 =new String("abc"); 创建一个新的对象,值相同则equals相同

== 判断是否为同一个对象。 String s1 ="abc" ;string s2 ="abc";  == 为true

常用方法 

  toLowerCase() 转换为小写  toUpperCase() 转换为大写

  valueOf() 转换为字符串  trim() 去掉起始和结尾的空格

  replace() 替换 注意替换后会返回一个新的对象 而不会修改原对象   concat() 连接两个字符串

  substring()   它有两种形式,第一种是:String substring(int startIndex) 第二种是:String substring(int startIndex,int endIndex)

  indexOf()和lastIndexOf()  indexOf() 查找字符或者子串第一次出现的地方。 lastIndexOf() 查找字符或者子串是后一次出现的地方。

  startsWith()和endsWith()  startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束

  getBytes() 替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。

  length() 字符串的长度
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Math Random String Calendar