枚举
可以认为是类的变种,里面的直接写的值都是该类的公共静态常量,可以用类型.值的方式调用
可以和普通类一样定义属性和方法
valueOf方法常用来将该类的枚举和字符串进行比较
public class Aid {
public enum Level {
L1,L2,L3
}
public static void main(String[] args) {
HashMap map=new HashMap();
map.put(Level.L1,"大数据开发工程师");
map.put(Level.L2,"大数据挖掘工程师");
map.put(Level.L3,"大数据架构师");
Set key=map.keySet();
for (Object o : key) {
System.out.println(o+":"+map.get(o));
}
}
}
注:枚举可单独定义,也可定义在类中
包装类
-
定义
对应每个基本数据类型,都有一个包装类型与之对应. -
目的
可以把基本数据类型转成对象,也可以把字符串转成相应的基本数据类型 -
装箱和拆箱
把基本数据类型赋值给包装类型叫装箱,反之叫拆箱
byte–>Byte
short–>Short
int–>Integer
long–>Long
float–>Float
double–>Double
char–>Character
boolean–>Boolean
以Integer为例:几种赋值方法
new Integer(整型)
new Integer (字符串)
Integer.valueOf(字符串/整型)
Integer.parseInt(字符串)
public class TestInteger {
public static void main(String[] args) {
// Integer num=new Integer(123);
// Integer a=1; //自动装箱
// 用字符串的构造方法必须是数字,否则会抛异常
// int b=new Integer("123");//自动拆箱
Integer a=10; //这里a和b在0~127之间是相等的,128后超过内存缓冲区所以会不相等
Integer b=10;
System.out.println(a==b);
Integer c=new Integer(1);
System.out.println(a==c);
Integer d=Integer.valueOf(123);
String str="123";
int num=Integer.valueOf(str);
Character ch=new Character('a');// Character没有String类型的构造方法
Character ch1='1';
System.out.println("***********");
Boolean flag=new Boolean("TruE");
System.out.println(flag);
Double dou=new Double("123.5");
System.out.println(dou.intValue());
Integer i=Integer.parseInt("123");
}
}
注:只有在需要方法的时候或者集合泛型中用到的时候需要包装
Math类常用方法
ceil( ) 向上取整
floor( ) 向下取整
round( ) 四舍五入 double返回long ,float返回int
sqrt( ) 开根号