import java.io.PrintStream;
import java.math.BigDecimal;
/** 本示例主要演示位运算中的异或运算符以外的另一种运算符:<<左移运算符及其应用场景(做乘法运算)。
* java的中进行乘法运算的三种方式:两种运算符和一种方法(类库中的multiply乘以方法)。
* 两种运算符:1.*运算符号 2.位运算中的左移运算符<<
* 一种方法:BigDecimal庞大小数类中multiply乘以方法 :
* 用法:public BigDecimal multiply(BigDecimal multiplicand)
* 参数:此方法接受BigDecimal类型的单个参数被乘数。
* 要运算的数值怎么变成BigDecimal类型:BigDecimal bdl = new BigDecimal(int\long);
* 返回值:此方法返回的返回值类型依旧是一个BigDecimal类型,所得结果"可以理解成"是其中一个BigDecimal的乘数乘以multiply()参数中BigDecimal类型的被乘数。
* 可以理解成一个BigDecimal类型的乘数 乘以 另一个BigDecimal类型的被乘数,返回类型依旧是BigDecimal类型的结果。
* 本示例通过三种方法计算两个数相乘 eg:a乘以b
*
* @author FFrog
*
*/
public class Multiplications {
static int a = 2;
static int b =16;
static PrintStream out = System.out;
static void oneMethod(){
out.println("通过乘法运算符运算的结果为:"+a*b);
}
static void twoMethod(){
//传入int或long型的参数,可以理解为将其变成BigDecimal类型的乘数
BigDecimal bdl = new BigDecimal(a);
//传入int或long型的参数,可以理解为将其变成BigDecimal类型的被乘数
BigDecimal bdl2 = new BigDecimal(b);
//两个BigDecimal类型的数相乘,返回类型依旧是BigDecimal类型的结果。
//BigDecimal result = bdl.multiply(new BigDecimal(b));
//multiplay([value])里的参数可以理解成BigDecimal类型的被乘数
out.println("通过BigDecimal的multiplay方法运行的结果是:"+bdl.multiply(new BigDecimal(b)));
}
static void threeMethod(){
//b的值16可以理解成2的4次方(一个数乘以另一个数,可以理解成一个数乘以2的N次方)
out.println("通过左移运算符运行的结果是:"+(a<<4));
}
public static void main(String[] args) {
oneMethod();
twoMethod();
threeMethod();
}
}