实用类介绍(枚举类型,包装类,Math类)
一.枚举类型(Enum)
1.定义
由一组固定的常量组成的类型,使用关键字enum定义
2.定义枚举语法格式
[Modifier]enum enumName{
enumContantName1[,enumContantName2[;]]
//[field,method]
}
枚举常量之间以逗号隔开,如果除了枚举常量还定义了其他成员,则枚举常量列表必须以分号(;)结尾
注:里面的直接写的值都是该类的公共静态常量,可以用类型.值的方式调用
3.好处
- 类型安全
- 易于输入
- 代码清晰
示例
public enum Week {
MON,TUE,WED,THU,FRI,SAT,SUN,D
}
public class Choose {
public static void doWhat(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("星期日,休息,打篮球!");
break;
default:
System.out.println("一个星期就7天");
}
}
public static void main(String[] args) {
doWhat(Week.MON);
doWhat(Week.SAT);
doWhat(Week.SUN);
doWhat(Week.D);
}
}
二.包装类
1.定义
对应每个数据类型,都有一个包装类型与之对应
2.作用
可以把基本数据类型转成对象
也可以把字符串转成相应的基本数据类型
泛型不可以放基本数据类型
3.包装类和基本数据类型的转换
- 基本数据类型转换成包装类(装箱)
1.Integer num=new Integer(“123”);//用字符串的构造方法,必须是数字,否则会抛异常
2.Integer s= Integer.valueOf(“123”);
注:Character ch=new Character(‘d’);//Character没有String类型的构造方法,不能使用双引号的字符串类型 - 包装类转换成基本数据类型(拆箱)
int b=new Integer(“123”);//自动拆箱 - 基本类型和包装类的自动转换
Interger intObject=5;//基本数据类型转换成包装类
int intValue=intObject;//包装类转换成基本数据类型
public class TestInteger {
public static void main(String[] args) {
/*Integer num=new Integer(123);
Integer a=1;//自动装箱
//用字符串的构造方法,必须是数字,否则会抛异常
int b=new Integer("123");//自动拆箱
System.out.println(b);*/
Integer a=120;
Integer b=120;
System.out.println(a==b);
Integer c=new Integer("123");
System.out.println(a==c);
Integer d=Integer.valueOf(123);
String str="123";
Integer s= Integer.valueOf("123");
Character ch=new Character('d');//Character没有String类型的构造方法
Character chw='a';
Boolean falg=new Boolean("true");
System.out.println(falg);
Double dou=new Double("123.1");
System.out.println(dou.intValue());
Float f=123.1f;
Integer i= Integer.parseInt("123");
}
}
三.Math类
Math.abs:绝对值
Math.sqrt:开平方
Math.random:产生随机数
Math.ceil向上取整
Math.floor:向下取整
Math.round:四舍五入
public class TestMath {
public static void main(String[] args) {
double a= Math.round(23.4999999);
System.out.println(5/2.0);
double i=Math.sqrt(3);
int p=Math.abs(-56);
double pi=Math.PI;
double e=Math.E;
double y=Math.log(3);
System.out.println(y);
System.out.println(e);
System.out.println(pi);
System.out.println(p);
System.out.println(i);
}
}