一、上回分解
1、扩展
// java.lang.Math
// double pow(double arg0,double arg1) 求arg0的arg1次幂
int a = (int) Math.pow(10,2); // 求10的平方
System.out.println(a); // 100
// 涉及到类型转换,详见
https://blog.csdn.net/weixin_41117393/article/details/103078517
2、分解
// 某乞丐每天收入为 1 2 4 8…… ,10天后合计收入为多少?
// 1 2 4 8 16 32 64 128 256 512 = 1023
// 2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7 2^8 2^9
int sum = 0;
int money = 0;
for(int y=0; y<10; y++){
money = (int) Math.pow(2, y);
sum += money;
}
System.out.println("sum = " + sum);
运行:
二、continue VS break
1、continue
// continue 结束当前循环,继续下一次循环
// 遇到偶数,结束当前循环,继续下一次循环
for(int i=1; i<10; i++){
if(0 == i%2)
continue;
System.out.println("i = " + i); // 输出 1 3 5 7 9,偶数不输出,继续下一次循环
}
运行:
2、break
// break 退出循环
for(int j=1; j<10; j++){
if(0 == j%2)
break;
System.out.println("j = " + j); // 输出1,遇到偶数退出循环
}
运行:
三、continue进阶
// 输出0-100的数,如果是3的倍数,5的倍数,结束当前循环,继续下一循环
// 答案见下回分解
四、break进阶
// 复利公式F = p*(1+r)^n
// p 本金
// r 年利率
// n 存期 ,年
// 问: 每月存1000,20%年利率,多少年后有复利100万?(复利每年1000*12 = 12000)
// 举例说明
// 10000 5% 1年 F1 = 10000*(1+0.05)^1 = 10500
// 10000 5% 2年 F2 = 10000*(1+0.05)^2 = 11025
// 复利和 = F1+F2=21525
// 答案见下回分解