---------------------- android培训、java培训、期待与您交流! ----------------------
一.包装类
1.什么是包装类
8种基本数据类型都会对应一个包装类
int是Integer, char是Character, 其他都是首字母大写double Double
2.什么时候使用
集合的泛型中只能写包装类型
后面的课程中会学到集合, 集合是只能装对象的, 而基本数据类型不是对象不能直接装入
在JDK5之前, 如果想把基本数据类型装入集合, 必须人工的进行包装(转为包装类对象)
JDK5之后, 基本数据类型和包装类之间可以自动的互相转换了
Integer i = 10;
int x = i + 20;
Integer i1 = 98;
Integer i2 = 98;
i1 == i2?
Integer i3 = 198
Integer it = 198
i3== i4
3.包装类常用的方法
static int parseInt(String s) //将数字字符串转换成数字,如果是非数字字符串会转换失败,抛异常
Integer.toBinaryString() //将一个十进制数字,转换成二进制的字符串
Integer.toOctalString() //将一个十进制数字,转换成八进制的字符串
Integer.toHexString() //将一个十进制数字,转换成十六进制的字符串
static long parseLong(String s)
static double parseDouble(String s)
static char forDigit(int digit, int radix)// radix代表的是进制例如二进制就传2,八进制就传8,digit代表后面进制里面的元素,而且不能超出后面进制的范围
String s = "123";
int x = Integer.parseInt(s);
String s = "abc";
char ch = Character.parseChar(s);
二.Scanner
1.创建对象
使用构造函数Scanner(InputStream)传入一个输入流, 该Scanner就可以读取数据了System.in
2.读取各种类型的数据
nextInt() 可以读取一个int
nextLine() 读取一行字符串
3.关闭问题
使用结束后要调用close()方法释放资源
三.BigInteger
1.创建对象
可以使用BigInteger(String)来创建一个很大的整数, 精度可以无限大, 值创建之后不会被改变(类似String)
2.常用方法
BigInteger add(BigInteger val) //加
BigInteger subtract(BigInteger val) //减
BigInteger multiply(BigInteger val) //乘
BigInteger divide(BigInteger val) //除
BigInteger mod(BigInteger m ) //模
BigInteger max(BigInteger val) //两个数的最大值
BigInteger min(BigInteger val) //两个数的最小值
四.BigDecimal
1.创建对象
BigDecimal(double); //不建议用,运算结果不精确
BigDecimal(String); //可以,但是每次都要传字符串给构造函数
static BigDecimal valueOf(double) //可以,而且可以直接传double数
因为double数是不精确,是无限接近那个数,用BigDemal这个类可以让其精确
2.常用方法
BigDecimal add(BigDecimal augend)
BigDecimal subtract(BigDecimal subtrahend)
BigDecimal multiply(BigDecimal multiplicand)
BigDecimal divide(BigDecimal divisor)
五.时间类
1.Date
比较古老的一个类, 大多数方法已过时, 但通常我们还会用它来获取当前时间
new Date()可以创建日期对象, 然后使用SimpleDateFormat可以将其格式化成我们需要的格式
通常使用的格式为: "yyyy-MM-dd HH:mm:ss", 具体格式说明详见SimpleDateFormat类yyyy年MM月dd日 E HH:mm:ss
a.获取当前时间的毫秒值
Date d = new Date();
d.getTime(); //获取的是1970年1月1日0时0分0秒到当前时间的毫秒值
System.currentTimeMillis();
b.将毫秒值转换成时间对象
Date d = new Date(毫秒值) //同毫秒值获取时间对象
Date d = new Date();
d.setTime(毫秒值);
2.Calendar
很多方法都是替代了Date类的方法, 最常用的就是
int get(int field)(Calendar.YEAR) //通过传入的字段获取对应的值,(获取年对应的值)
void add(int field, int amount) //field代表传入的时间字段可以是年月日等,amount代表是数值,整数就是在传入的字段上加,负数减
void set(int field, int value) //field代表传入的时间字段可以是年月日等,value代表设置的值,想设置哪一年或月日等,就写哪个值
void set(int year, int month, int date)
可以对指定的字段获取, 设置, 以及增减
六.计时器
1.Timer
Timer类可以在指定的时间或者延迟指定毫秒之后执行一个任务
定义类继承TimerTask, 重写run()方法, 定义任务
调用Timer类的schedule()方法安排任务
七.系统类
1.System
System.in是程序的标准输入流, 默认指向键盘输入
System.out是程序的标准输出流, 默认指向控制台
System.exit()是退出Java虚拟机
System.gc()回收虚拟机中的垃圾对象
2.Runtime
Process exec(String command) 方法可以执行一个Dos命令
八.算术类
1.Math
提供了一些和数学运算相关的方法,
static double PI //获取π(派)的值
static double floor(double a) //是小于等于a这个double值的最大整数对应的double值
static double ceil(double a) //是大于等于a这个double值的最小整数对应的double值
static long round(double a ) //四舍五入,返回是一个long值
static double sqrt(double a) //开平方
static double pow(double a, double b) //a是底数,b是指数返回的是a的b次幂
九.随机类
1.Random
可以生成随机数, nextInt(), nextDouble(), nextBoolean()
---------------------- android培训、java培训、期待与您交流! ----------------------