Java入门笔记(三)

嵌套循环

九九乘法表


for (int i = 1; i <= 9; i++) {
            System.out.println();
            for (int j = 1; j <= i; j++) {
                System.out.print(i + " * " + j + " = " + (i * j) + "  ");
            }
 }
       
效果:      
1 * 1 = 1  
2 * 1 = 2  2 * 2 = 4  
3 * 1 = 3  3 * 2 = 6  3 * 3 = 9  
4 * 1 = 4  4 * 2 = 8  4 * 3 = 12  4 * 4 = 16  
5 * 1 = 5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  
6 * 1 = 6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  
7 * 1 = 7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  
8 * 1 = 8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  
9 * 1 = 9  9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81  

求100以内的质数

        boolean flag = true;
        for (int i = 2; i <= 100; i++) {

            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    flag = false;
                }
            }

            if (flag == true) {
                System.out.print(i+"  ");
            }
            flag = true;
        }

2  3  5  7  11  13  17  19  23  29  31  37  41  
43  47  53  59  61  67  71  73  79  83  89  97  

优化求质数算法

简单优化1 :

优化前:
        boolean flag = true;
        long start = System.currentTimeMillis();
        for (int i = 2; i <= 100000; i++) {
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    flag = false;
                }
            }
            if (flag == true) {
                System.out.print(i);
            }
            flag = true;
        }
        System.out.println("\n");
        long end = System.currentTimeMillis();
        System.out.println("花费时间:" + (end - start));

花费时间:13355
优化后加break:
boolean flag = true;
        long start = System.currentTimeMillis();
        for (int i = 2; i <= 100000; i++) {
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag == true) {
                System.out.print(i);
            }
            flag = true;
        }
        System.out.println("\n");
        long end = System.currentTimeMillis();
        System.out.println("花费时间:" + (end - start));

花费时间:1178
优化三:
boolean flag = true;
        long start = System.currentTimeMillis();
        for (int i = 2; i <= 100000; i++) {
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag == true) {
                System.out.print(i);
            }
            flag = true;
        }
        System.out.println("\n");
        long end = System.currentTimeMillis();
        System.out.println("花费时间:" + (end - start));

花费时间:87
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值