2521天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Android】学习札记第1章之流程控制循环语句

发布于 / 1160 次围观 / 0 条评论 / Android / 二呆 /

上节已经讲了if else和switch case的用法,这节继续讲循环的用法,这要用到三大循环:for、while、do while循环,其实也十分简单以下将通过语法和练习来完全掌握。

工具/原料

  • JDK、eclipse、android SDK、ADT

一、流程控制语句

  1. 循环语法:

    ①for:

    for(定义变量;执行条件;变量修改){

    循环语句

    }

    ②while:

    先判断再执行

    while(执行条件){

    语句

    }

    ③do while:

    先执行再判断,至少会执行一次

    do{

    语句

    }while(执行条件);

  2. 循环嵌套
    ①循环命名

    for(int i=1;i<=3;i++){

    for(int j=1;j<=2;j++){

    print(i+", "+j);

    }

    }

    break:跳出全部循环,不继续下一轮循环。

    continue:跳出本次循环,继续下一轮循环。

    ②内层循环中,控制外层循环中断或继续,需要对外层循环命名。

    outer://命名循环的名字为outer,用于方便跳出循环到此处。

    for(...){

    for(...){

    //continue outer;//直接马上跳出到标签位置,结束本次循环,继续下次循环,若没有定义标签,则跳出后会执行下面的语句。

    //break outer;//直接马上跳出到标签位置,结束全部循环,若没有定义标签,则跳出后会执行下面的语句。

    }

    }

     

二、练习

  1. 用switch case,输入年号和月号,显示当月最大天数:

    思路:获取年和月后,根据月来输出天数,其中2月需要年是否为闰年或平年。

  2. ①1到n累加:

    ②n的阶乘:

    ③n的约数:

    ④求π(公式:π/4=1/1-1/3+1/5-1/7+1/9-1/11...........):

    思路:分子看成每次乘以-1,分母看成每次加2,然后用循环累加所有的分数,最后乘以4,就可以得到π。

     
  3. 求n内所有的水仙花数:

    153=1^3+5^3+3^3

    1634=1^4+6^4+3^4+4^4

    54748=5^5+4^5+7^5+4^5+8^5

    思路:

    通过循环对每个数字做判断,再通过这个数跟10求余,得到每一位数字,再循环做数字x/10直到结果等于0,然后计算每一位数的位次方累加。

  4. 百元买百鸡:

    公鸡5元1只,母鸡3元1只,小鸡1元3只,用100元买100只鸡。

    思路:公鸡从0只到20一只一只一只尝试,剩余的前一只一只尝试买母鸡,再剩余的钱全部买小鸡。

  5. 求n内的质数的数量(除了1和自身都不能被整除的数,如:2 3 5 7 11 13 17 19 23……):

    思路:除了1和自身,其中2单独判断它不是质数,其他数字利用循环依次和每一位求余,通过一个循环都没有能被它整除的数,就说它是质数。

    (其中要用到的数学知识:判断这个数是否为质数,只需从3到这个数开方即可,但仍需将所有数都要和它相除,才能判断是否为质数。)

三、作业

  1. 求2个整数的最大公约数:

    思路:先比较2个数的大小,最小数从大到小递减循环,同时保证2个数都是公约数,即都能被整除。

  2. 输出99乘法表:

    思路:用双层循环,外层控制行,内层控制列,其中第N行有N列。

注意事项

  • 一般最多只会用到两层循环,切记不要让循环把自己套晕,并且防止死循环,一定要确保循环可以break跳出,需要用到死循环的程序除外。
  • 需要用到不懂的数学知识时,不要钻牛角尖,采取合理的方法来解决问题。
sitemap