第二章 实用类介绍
目录
第二章 实用类介绍
1.枚举
2.包装类及其构造方法
3.Math类
4.Random类
5.String类
总结
内容仅供学习交流,如有问题请留言或私信!!!!!
有空您就点点赞
1.枚举
枚举指由一组固定的常量组成的类型。
使用枚举的好处:类型安全,易于输入,代码清晰。
枚举使用关键字enum来创建,如下图所示:
我们经常把能够且便于一一列举的类型用枚举来表示。就比如:一周的星期、性别、月份……
eg:
枚举成员之间用,(逗号)隔开,enum Week为枚举的类型,{ }内为枚举类型的取值,简称枚举常量。
使用:
//用户一周做什么事(条件判断)
public class WeekDo {
//根据用户输入星期几,对用户要做的事情做一个提示
public void doWhat(int day) {
if(day>7 || day<1) {
System.out.println("参数错误,必须在1-7之间。");
return;
}
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作");
break;
case 6:
System.out.println("休息");
break;
case 7:
System.out.println("休息2");
break;
}
}
//使用枚举:根据用户输入星期几,对用户要做的事情做一个提示
public void doWhat2(Week day) {
switch (day) {
case MON:
case TUE:
case WED:
case THU:
case FRI:
System.out.println("工作");
break;
case SAT:
System.out.println("休息");
break;
case SUN:
System.out.println("休息2");
break;
}
}
public static void main(String[] args) {
WeekDo week = new WeekDo();
week.doWhat(5);
week.doWhat2(Week.SUN);
}
}
2.包装类及其构造方法
- 包装类把基本数据类型转换为对象。
- 每个基本类型在 java.lang 包中都有一个相应的包装类
- 包装类的作用
- 提供相应的方法
- 集合无法存放基本数据类型,基本数据类型->包装类,放进去。
需要特别记忆的是下图的 Integer 和 Character ,其余的均为基本数据类型首字母大写。
包装类的构造方法:
- 所有包装类都可将与之对应的基本数据类型作为参数,来构造他们的实例
数据类型转换 :
// new 包装类(字符串) 字符串 ==> 包装类(char除外)
// 包装类.toString(基本类型) 基本类型 ==》字符串
// 包装类.parsexxx(字符串) 字符串 ==》基本类型
// new 包装类(基本类型) 基本类型 ==> 包装类
// 类名.xxxValue() 包装类 ==》 基本类型
// 包装类.valuOf(基本类型) 基本类型==》包装类
// 包装类.valueOf(字符串) 字符串 ==》基本类型(char除外)
int i = 6;
// new 包装类(基本类型)
Integer integer1 = new Integer(i);
// new 包装类(字符串)
Integer integer2 = new Integer("123");
System.out.println(integer2 + 1);
// 类名xxxvalue() 包装类 ==》 基本类型
Boolean b = new Boolean("true");
boolean bool = b.booleanValue();
System.out.println(b);// 包装类.toString(基本类型)
int a = 25;
String str = Integer.toString(a);
// 包装类.parsexxx(字符串)
int num = Integer.parseInt(str);// 包装类.valuOf(基本类型)
Integer num1 = Integer.valueOf(num);// 包装类.valuOf(基本类型)
Integer num2 = Integer.valueOf("1");
System.out.println(num2);
注意事项:
- Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false。
- 当Number包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出NumberFormatException异常。
装箱:基本类型转换为包装类的对象
拆箱:包装类对象转换为基本类型的值
包装类的特点:
- 包装类并不是用来取代基本数据类型的
- 在基本数据类型需要用对象表示时使用
- JDK1.5以后,允许基本数据类型和包装类型进行混合数学运算
3.Math类
常用:
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)。
System.out.println(Math.abs(-8.8)); //绝对值
System.out.println(Math.max(100,9)); //最大值
System.out.println(Math.min(100,9)); //最小值System.out.println(Math.random()); //随机数(0-1)
4.Random类
生成随机数的其他方法:java.util.Random类
Random rand=new Random(); //创建一个Random对象
for(int i=0;i<20;i++){//随机生成20个随机整数,并显示
int num=rand.nextInt(10);//返回下一个伪随机数,整型的
System.out.println("第"+(i+1)+"个随机数是:"+num);
}
用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的。
5.String类
String类:位于java.lang 包中,被fifinal修饰,没有子类,具有丰富的方法。
常用方法:
String str = "zhangSaN";
str.length(); //获取字符串长度
str.equals("lisi"); //比较
str.equalsIgnoreCase("zhangSAN");//忽视大小写进行比较
str.toLowerCase(); //将字符串转为小写
str.toUpperCase(); //将字符串转为大写
str.concat("真帅"); //拼接字符串
str.indexOf("a"); //查找指定字符串出现的位置(下标),没找到返回-1
str.lastIndexOf("n");//查找指定字符串最后一次出现的位置
str.subSequence(3, 4);//截取字符串
str.trim(); //去除字符串两端的空格
str.split("\\|"); //分割字符串
str.charAt(4); //根据下标获得单个字符
str.endsWith(".com");//判断是否以指定后缀结束
str.getBytes(); //字符串转换字节数组
str.isEmpty(); //判断字符串长度是否为0
str.replace("zhangSaN", "张三");//根据指定字符替换所有内容(字符串)
str.replaceAll("\\d", "*");//根据指定字符替换所有内容(正则表达式)
split方法详解:分隔符可以是任意字符、符号、数字、字符串等。
特殊情况:
- 字符串开头有分隔符:开头产生一个空字符串,其余正常。
- 分隔符相互紧挨着:每两个分隔符产生一个空字符串,若有三个分隔符则会有2各空字符,以此类推。
- 字符串最尾部有分割符:末尾产生一个空字符串,其余正常。
split(String str, int limit)
- 如果 limit > 0,(从左到右)最多分割 n - 1 次,数组的长度将不会大于 n,结尾的空字符串不会丢弃。
- 如果 limit < 0,匹配到多少次就分割多少次,而且数组可以是任何长度。结尾的空字符串不会丢弃。
- 如果 limit = 0,匹配到多少次就分割多少次,数组可以是任何长度,并且结尾空字符串将被丢弃。
总结
练习:这里写练习及链接等。