作业帮 > 综合 > 作业

请问语句a=a*b和a*=b哪个运算速度快?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 18:39:33
请问语句a=a*b和a*=b哪个运算速度快?
另外a=a+1,a+=1,还有a++这三个哪个速度更快呢?
如果你对java虚拟机,底层原理没有太深的研究,那么可以通过一些技巧来判断.给你个例子public class $ {

    public static void main(String... _) {

        long size = 10000000000L;
        long num = 0;

        test1(num, size);
        test2(num, size);
        test3(num, size);
    }

    private static void test1(long num, long size) {

        long start = System.currentTimeMillis();
        for (long i = 0; i < size; i++) {
            num = num + 1;
        }

        System.out.println("a=a+1用时:" + (System.currentTimeMillis() - start));
    }

    private static void test2(long num, long size) {

        long start = System.currentTimeMillis();
        for (long i = 0; i < size; i++) {
            num += 1;
        }

        System.out.println("a+=1用时:" + (System.currentTimeMillis() - start));
    }

    private static void test3(long num, long size) {

        long start = System.currentTimeMillis();
        for (long i = 0; i < size; i++) {
            num++;
        }

        System.out.println("a++用时:" + (System.currentTimeMillis() - start));
    }
}结果a=a+1用时:4551
a+=1用时:4535
a++用时:4512