Java常用类
1.Random类
1.1 Random包含两个构造方法
Random()
:创建一个新的随机数生成器;
Random(long seed)
:使用单个 long
类型种子创建一个新的随机数生成器。
用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的。
//不同对象使用同一个种子
Random rand1=new Random(5);
Random rand2=new Random(5);
for(int i=0;i<20;i++){//随机生成20个随机整数,并显示
int i1 = rand1.nextInt(10);//返回下一个伪随机数,整型的
int i2 = rand2.nextInt(10);//nextInt()传入的数值是随机数范围,[0-10),左闭右开
System.out.println("i1第"+(i+1)+"个随机数是:"+i1);
System.out.println("i2第"+(i+1)+"个随机数是:"+i2);
System.out.println("=================");
}
局部运行结果为:
i1第1个随机数是:7
i2第1个随机数是:7
=================
i1第2个随机数是:2
i2第2个随机数是:2
=================
i1第3个随机数是:4
i2第3个随机数是:4
=================
2.String类
String类位于java.lang包中,具有丰富的方法
2.1length()
方法:确定字符串的长度
equals()
方法:比较存储在两个字符串对象的内容是否一致
String str1 = "qwe";
String str2 = "qwe";
System.out.println(str1.equals(str2));//true
System.out.println(str1 == str2);//true
equals():检查组成字符串内容的字符是否完全一致;
==:判断两个字符串在内存中的地址,即判断是否是同一个字符串对象.
String str3 = new String("asd");
String str4 = new String("asd");
System.out.println(str3.equals(str4));//true
System.out.println(str3 == str4);//false
2.2 equalsIgnoreCase()
方法:不区分字符串的大小写进行判断
String str5 = "lucky";
String str6 = "LUCKY";
//不区分大小写
System.out.println(str5.equalsIgnoreCase(str6));//true
2.3 toLowerCase()
方法:将大写字符串转换为小写
toUpperCase()
方法:将小写字符转换为大写
String str5 = "lucky";
String str6 = "LUCKY";
System.out.println(str6.toLowerCase());//lucky
System.out.println(str5.toUpperCase());//LUCKY
2.4 concat()
方法:将两个字符串拼接
String s1 = "blue sky &&";
String s2 = " white cloud";
System.out.println(result);//blue sky && white cloud
2.5 split()
方法:可以按指定的分割符对目标字符串进行分割,分割后的内容存放在字符串数组中。
@Test
public void test5(){
String s4 = "不懂爱恨情愁煎熬的我们 都以为相爱就像风云的善变 相信爱一天 ";
String[] str = s4.split(" ");//以空格进行拆分 返回值为一个数组
for (String s : str) {
System.out.println(s);
}
2.6 endsWith()
、startsWith()
方法:判断字符串是否以指定内容结尾和开头
@Test
public void test6(){
String s5 = "HelloWorld.java";
System.out.println(s5.endsWith(".java"));
System.out.println(s5.startsWith("He"));
}
2.7 getBytes()
:将字符串变成byte类型的数组
@Test
public void test7(){
String str1 = "Open Sesame!";
byte[] bytes = str1.getBytes();
for (byte aByte : bytes) {
System.out.print(aByte+"\t");
// System.out.print((char) aByte);//再将数组内的数据转换为字符串
}
}
2.8 字符串常用提取方法
方法名 | 说明 |
---|---|
public int indexOf (int ch) | 搜索第一个出现的字符ch,如果没有找到, 返回-1 |
public int indexOf (String value) | 搜索第一个出现的字符串value,如果没有找到, 返回-1 |
public int lastIndexOf (int ch) | 搜索最后一个出现的字符ch,如果没有找到, 返回-1 |
public int lastIndexOf (String value) | 搜索最后一个出现的字符串value,如果没有找到, 返回-1 |
public String substring (int index) | 提取从位置索引开始的字符串部分 |
public String substring (int beginindex, int endindex) | 提取beginindex和endindex之间的字符串部分 |
public String trim() | 返回一个前后不含任何空格的调用字符串的副本 |
3.StringBuffer类
对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率
3.1 声明StringBufer类:
StringBuffer strb = new StringBuffer();
StringBuffer strb = new StringBuffer("aaa");
3.2 StringBuffer的使用:
sb.toString(); //转化为String类型
sb.append("**"); //追加字符串
sb.insert (1, "**"); //插入字符串
3.3 String、StringBuffer之间的区别
String是不可变对象,StringBuffer是可变的字符串;
经常改变内容的字符串最好不要使用String,字符串经常改变的情况可使用StringBuffer,更高效;
JDK5.0后提供了StringBuilder,等价StringBuffer;
4.日期相关类
4.1 Date类:表示日期和时间,提供操作日期和时间各组成部分的方法。
4.2 SimpleDateFormat类:使得可以选择任何用户定义的日期-时间格式的模式。
//创建日期对象
Date date = new Date();
//定制日期格式
SimpleDateFormat formater = new SimpleDateFormat("yyyy- MM-dd HH:mm:ss");//年月日 时分秒
String now = formater.format(date);
System.out.println(now);
4.3 Calendar类:是一个抽象类,用于设置和获取日期/时间数据的特定部分。可以通过对于的字段,获取需要的数值。
//Calender类是一个抽象类,不能进行实例化,可以通过该类的一个静态方法创建引用
Calendar calendar = Calendar.getInstance();
//获取年
System.out.println(calendar.get(Calendar.YEAR));
//获取月
System.out.println(calendar.get(Calendar.MONTH)+1);//从0开始进行计算 0-11
//获取今天是一月中的哪一天
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));