这里讲解一下java里面除法的应用,除法的结果怎样才是小数,怎样自定义的精确到哪一位,怎样解方程

1.除数不能为0,我们都知道java里面的取整(/)和取余(%)符号,注意里面的小陷阱

2.除法的结果怎样才会是小数呢? 用double来接收

因为在运算过程中,等号右边参与运算的所有数据都会把数据类型自动转化为参与运算的最大数据类型,

左边一般要用参与运算的最大的数据类型来接收,或者使用强制类型转换(会丢失精度)

3.正数的,四舍五入,到哪一位怎样自定义商精确到哪一步
使用String xxx = String.format("%.4f",dd); //%.4f表示四舍五入精确到小数点第四 位 dd为浮点数。还有负数的四舍五入,五舍六入,
可以参考https://www.cnblogs.com/dichuan/p/7769098.html

4.关于一次方程我觉得一个方法就是使用枚举法,获得一下每一个变量
的范围,然后使用for循环一个一个试。可以在网络上搜索一下百鸡百鱼的解法

import static java.lang.Math.PI;

public class dealWithDivisionOperation {


    /*
       这里讲解一下java里面除法的应用,除法的结果怎样才是小数,怎样自定义的精确到哪一位,怎样解方程
        1.除数不能为0,我们都知道java里面的取整(/)和取余(%)符号,注意里面的小陷阱
        2.除法的结果怎样才会是小数呢?  用double来接收
          因为在运算过程中,等号右边参与运算的所有数据都会把数据类型自动转化为参与运算的最大数据类型,
          左边一般要用参与运算的最大的数据类型来接收,或者使用强制类型转换(会丢失精度)

        3.正数的,四舍五入,到哪一位怎样自定义商精确到哪一步
          使用String xxx = String.format("%.4f",dd);    //%.4f表示四舍五入精确到小数点第四位  dd为浮点数
         。还有负数的四舍五入,五舍六入,
          可以参考https://www.cnblogs.com/dichuan/p/7769098.html


     */
    public static void main(String[] args) {


        //******1.我们都知道java里面的取整(/)和取余(%)符号,注意里面的小陷阱

        int i1 = (1/3)*3 ;
        System.out.println("(1/3)*3="+i1);
        //我的本意是用三分之一乘以3,结果为1,但是这样是错
        //计算过程:1对3取整,结果为0,再乘以3 还是0 , 所以正确结果为0

       //******2.除法的结果怎样才会是小数呢?
        int c1 = 1 ;
        int c2 = 4 ;
        double d1 = 3 ;
        double d2 = 2 ;

        int res1 = c1/c2 ;       //0
       // int res2 = c1/d1 ;     报错,因为右边是double,左边是int 大-->小,需要强制类型转换
       //  int res3 = d1/d2 ;    //报错,因为右边是double,左边是int 大-->小,需要强制类型转换
                                 //改为int res3 = (int)(d1/d2);进行强制类型转换就不会再报错

        double res4 = c1/c2 ;    //0.0
        double res5 = c1/d1 ;    //0.333333333333333
        double res6 = d1/d2 ;    //1.5

        float res7 = (float) (d1 / d2);   //报错,因为右边是double,左边是float大-->小,需要强制类型转换

        System.out.println(res1+"---"+res4+"---"+res5+"---"+res6);
        /*
        看到报错的几行信息可以的出结论
        等号右边有double参与的算数运算左边必须要用double类型来接收,否则就会报错
        因为在运算过程中,等号右边参与运算的所有数据都会把数据类型自动转化为参与运算的最大数据类型,
         左边一般要用参与运算的最大的数据类型来接收
         */


        //******3,四舍五入以及自定义商的精确位数。我这里仅仅展示正数的四舍五入
        //还有别的比如负数的四舍五入,五舍六入,可以参考这个博主的博客
        // https://www.cnblogs.com/dichuan/p/7769098.html
        double dd = PI;   //PI就是圆周率,使用PI时需要导包
        System.out.println("PI =  "+PI);  //PI =  3.141592653589793

        //进行四舍五入,返回值是一个String类型的数据,需要用String接收
        String after = String.format("%.4f",dd);    //%.4f表示四舍五入精确到小数点第四位

        //再把String转为Double
        double after_d = Double.parseDouble(after);

        System.out.println("PI四舍五入精确到小数点以后4位是 : "+ after_d);





    }

}