学习内容:
1.基本类型包装类:
byte:Byte short:Short int:Integer long:Long
float:Float double:Double boolean:Boolean char:Character
(1)数值转字符串:
public class Test { public static void main(String[] args) { //数值转字符串 int j = 5; String s = String.valueOf(j); Integer in = j; String ss = in.toString(); String st = Integer.toString(10);//这里的toString()是包装类特有的方法,非继承自Object int a = 1; String t = a+"";//字符串拼接转换 } }
(2)字符串转数值:
public class Test { public static void main(String[] args) { //字符串转数值 String str = "999"; int i= Integer.parseInt(str); double d = Double.parseDouble(str); } }
(3)基本数值类型转包装类(装箱)
public class Test { public static void main(String[] args) { //基本类型转包装类(装箱) Integer e = new Integer(10); Integer es = new Integer("10"); Integer ts = Integer.valueOf(5); //自动装箱 int nt = 5; Integer tn = nt; Integer au = 5; } }
(4)包装类转基本数值类型(拆箱)
public class Test { public static void main(String[] args) { Integer e = new Integer(10); //拆箱 int em = e.intValue(); //自动拆箱 int ea = e; //自动拆装箱是JDK1.5版本特性 } }
(5)数值范围问题
public class Test { public static void main(String[] args) { //在Byte(-128-127)范围内,创建新的引用自动指向同一地址 Integer i1 = 100; Integer i2 = 100; System.out.println(i1 == i2); //true Integer i3 = 140; Integer i4 = 140; System.out.println(i1 == i2); //false } }
2.System类
System的类方法都是静态方法,构造方法私有化,所以不能实例化,
常用方法:
currentTimeMillis() 返回自1970/1/1 00:00:00到现在经过的毫秒数
arraycopy(src,srcPos,dest,destPos,length) 复制数组
//src: 源数组
//srcPos: 从源数组复制数据的启始位置
//dest: 目标数组
//destPos: 复制到目标数组的启始位置
//length: 复制的长度
public class Test { public static void main(String[] args) { int[] a = {1,2,3,4}; int[] b = new int[4]; System.arraycopy(a, 0, b, 0,4); for(int i=0;i<b.length;i++) { System.out.println(b[i]); } } }
3.Math类
常用方法
public class Test { public static void main(String[] args) { double d = -3.14; double a = 3.14; double c = 3.6; double e = 3.2; double max = Math.max(3, 5); double min =Math.min(3, 5); double p = Math.pow(2,3); double r = Math.random(); System.out.println(Math.abs(d));//取绝对值 System.out.println(Math.ceil(a));//向上取整 System.out.println(Math.floor(c));//向下取整 System.out.println(Math.round(e));//四舍五入 System.out.println(max);//取最大值 System.out.println(min);//取最小值 System.out.println(p);//次方运算 System.out.println(r);//随机数 } }
4.Arrays方法
import java.util.Arrays; public class Testm { public static void main(String[] args) { int[] arr = {5,12,2,7,10}; Arrays.sort(arr);//由小到大排序 for(int i=0;i<arr.length;i++) { System.out.println(arr[i]); } String sa = Arrays.toString(arr);//转为字符串 System.out.println(sa); int[] arr2 = {1,2,3,4,5};//必须是有序数组 int index = Arrays.binarySearch(arr2, 7);//返回指定数据的索引值,如果没有,则把该值按大小顺序插入数组,返回插入点下标-1 System.out.println(index); } }
5.BigInteger与BigDecimal
(1)BigInteger,用于操作大于long最大长度的整数
import java.math.BigInteger; public class Testm { public static void main(String[] args) { BigInteger big1 = new BigInteger("12345678909876543210"); BigInteger big2 = new BigInteger("98765432101234567890"); BigInteger bsub = big1.add(big2);//加法 BigInteger bm = big1.subtract(big2);//减法 BigInteger bmt = big1.multiply(big2);//乘法 BigInteger bmd = big2.divide(big1);//除法 } }
(2)BigDecimal,用于解决两个小数运算数值不准确问题
import java.math.BigDecimal; public class Testm { public static void main(String[] args) { System.out.println(0.09 + 0.01); //输出0.09999999999999999 精度丢失 BigDecimal big3 = new BigDecimal("0.09"); BigDecimal big4 = new BigDecimal("0.01"); //add实现加法运算 BigDecimal bigAdd = big3.add(big4); System.out.println(bigAdd);//输出0.1 } }