java 常用类介绍

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() 字符串的长度


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值