Math(数学类)
Math:数学类,提供了简单的数学运算
-
这类
Math
包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数
public class VoidDemo { public static void main(String[] args) { //求绝对值 System.out.println(Math.abs(-10)); //求次幂(第一个参数是低,第二个参数是次幂) System.out.println(Math.pow(2.0, 3)); //8.0 //向上取整 System.out.println(Math.ceil(1.1)); //向下取整 System.out.println(Math.floor(1.1)); //四舍五入 System.out.println(Math.round(1.5)); } }
random():获取随机数(0.0-1.0)
public class VoidDemo { public static void main(String[] args) { //得到0.0到1.0的伪随机小数(不包括1.0) //底层根据伪随机算法获取 System.out.println(Math.random()); //表示30-40之间的随机数 System.out.println(30+(int)(Math.random()*10)); } } //----------------------------------------------------------------------- //应用public class VoidDemo { public static void main(String[] args) { //验证码 char[] cs={'中','F','B','Z','L'}; String s = ""; for(int i=0;i<cs.length;i++){ s+=cs[(int)(Math.random()*5)]; } System.out.println(s); } }
BigDecimal类:小数做精确运算——保证传入的参数是字符串
import java.math.BigDecimal; public class VoidDemo { //strictfp --- 用在方法上 在做运算的时候可以增至80位进行运算 public strictfp static void main(String[] args) { double d = 2.1-1.9; System.out.println(d); //精确运算 //传入的值必须是字符串 BigDecimal b1 = new BigDecimal("2.1"); BigDecimal b2 = new BigDecimal("1.9"); System.out.println(b1.subtract(b2)); } }
BigInteger超大数
import java.math.BigInteger; public class VoidDemo { public static void main(String[] args) { //超大数之间的运算 BigInteger in1 = new BigInteger("45654654654654654645646545646546546"); BigInteger in2 = new BigInteger("5466666666666666666666666666666666"); System.out.println(in1.multiply(in2)); } }
DecimalFormat
import java.text.DecimalFormat; public class VoidDemo { public static void main(String[] args) { // System.out.println(1.0/3); // 保留两位 // 0 --- 表示占位符,表示占用一位,如果有值,就展示,如果没有值,就用0表示 DecimalFormat df1 = new DecimalFormat("00.00"); System.out.println(df1.format(1.0/3)); //00.33 //如果有值就展示,没有值就不展示 DecimalFormat df2 = new DecimalFormat("##.###"); System.out.println(df2.format(1.0/3)); //0.333 //科学记数法 DecimalFormat df3 = new DecimalFormat("0.#E0#"); System.out.println(df3.format(23*67)); } }
思考:用java程序实现数据相乘的过程
public class VoidDemo { public static void main(String[] args) { //两个数组表示要做乘积的两个数 int[] arr1={3,2,1}; int[] arr2={5,4,3}; //结果数组 int[] result=new int[6]; //遍历两个数组相乘 for(int i=0;i<arr1.length;i++){ for(int j=0;j<arr2.length;j++){ result[i+j]+=arr1[i]*arr2[j]; } } //进位 for (int i = 0; i < result.length-1;i++) { int temp = result[i]; //保证每一位数都是一位数 result[i]=temp%10; //进位 result[i+1]+=temp/10; } for (int i:result) { System.out.print(i); } } }
保存redis相关笔记