java 常用类介绍
2017-11-16 17:27
459 查看
java.util.Random
Random 有两种构造
Random() 默认用当前系统时间的毫秒数来作为种子
Random(long send) 可以指定种子
种子是随机算法的起源数字和随机数的区间没有任何关系。相同种子的Random对象,生成的随机数序列是一样的。
输出结果为:
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) 左闭右开的区间
Math.random()=0.2842742811901736
num=1
java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间。get() 方法获取日期时间信息,参数为需要获得的字段的值 Calendar.Year 等为 Calendar 类中定义的静态常量。通过getTimeInMillis() 可以获取时间的毫秒数,通过getTime()可以获取Date,也是转换为Date的一种方式。
当前时间为: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() 字符串的长度
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() 字符串的长度
相关文章推荐
- Java常用类介绍
- Java常用类介绍
- 黑马程序员 Java基础_6 常用类介绍
- Java常用类介绍
- Java常用类介绍
- Java常用类介绍
- 【Java安全技术探索之路系列:Java可扩展安全架构】之十四:JAAS(一):JAAS架构介绍
- python调用Java-JPype使用介绍(一)(转)
- Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例
- Java学习记录-Jdk包简单介绍
- java时间格式化的全面介绍
- 详细介绍JAVA和C++区别
- 回调方法介绍之中国好室友篇(Java示例)
- java学习笔记(二十)java常用类
- java线程池的简单介绍与使用
- java.util.Properties类的介绍-配置文件的读写【-Z-】
- Java 语言中 Enum 类型的使用介绍
- JAVA 服务提供者框架介绍
- java project 导出介绍
- JAVA之常用类2!!!