AIDE手机编程初级教程(零基础向) 2.3.2 Java基础三 下篇

第二章 第一个游戏

系列教程导航

2.3 Java基础三 简单计算器的改进



2.3.2 下篇


文章目录




    目前为止,我们的简单计算器只支持加减乘除四种运算,比较少。那么我们可不可以开发更多的运算?当然可以了。接下来,我们就来一步一步地开发幂运算这一个功能,给计算器升级。

    为了突出本节的重点内容,我们此处的幂运算仅限于指数和底数都是正整数的情况。

    接下来我们来分析一下如何实现幂运算的功能。

    需求:给定整数m和n,然后计算m的n次幂,并打印在控制台上。

    根据幂的定义,我们知道,m的n次幂其实就是是n个m相乘。但是,以我们目前学习的知识是无法完成这个任务的。

    我们不禁进一步思考,如何完成n个m相乘这一操作呢?一个很合理的想法是,我们可以把n个m相乘这一步操作进行分解,例如:

4的3次幂,也就是计算4*4*4

    第零步,我们不妨将结果记录在变量a中,并把初始值设为1;
    第一步,把a的值乘4,然后把结果赋给a,此时a的值为4;
    第二步,把a的值再乘4,然后把结果赋给a,此时a的值为4*4;
    第三步,把a的值再乘4,然后把结果赋给a,此时a的值为4*4*4。

    不知道你发现没有,步骤一,二,三其实是同一个操作。如果我们按照顺序结构来写上面的程序,我们就会写下三排完全一样的代码。但是这显然是不合理的(3行还比较少,万一要重复很多行呢)。这时,一个无比自然的想法就诞生了:将一句或者几句代码循环执行。比如上述操作如果用循环的思想来看的话,就只有两步:

    第零步,我们不妨将结果记录在变量a中,并把初始值设为1;
    第一步,把a的值乘4,然后把结果赋给a,并循环3次。

    我们当然也可以在Java程序里面使用循环结构。所以说,幂运算可以用循环结构来实现。

    接下来,你就会学习到Java的三种循环结构:




三种循环结构

    while语句的格式如下:

while(条件表达式)
{
	执行语句;
}
//其中条件表达式的值是boolean类型
//花括号及里面的执行语句可以看作一个整体,叫做循环体

    while语句的执行过程是,首先计算条件表达式,如果结果为true,就接着执行循环体,执行完之后,回到条件表达式,重复刚才的步骤;如果结果为false,就跳过循环体,循环结束。

    为了理解起来更容易,我们来分析一下这一段代码:

int i = 0;

while(i < 2){
	i++;
}

System.out.println(i);

    首先,我们定义了一个整数类型的变量i,并指定初始化的值为0;
    接下来,执行while循环语句,由于i<2的结果是true,所以执行循环体,i自增1,i的值变为1。回到条件表达式;
    i<2的结果依然是true,故再次执行循环体,i自增,i的值变成2。回到条件表达式;
    此时i<2的结果是false,循环结束。最后执行打印语句,将i的值打印出来

    do while语句的格式如下:

do
{
	执行语句;
}while(条件表达式);

System.out.println(i);

    do while语句的执行过程是,首先执行循环体里面的代码,执行结束之后再计算条件表达式,接下来的步骤就和while语句差不多了。do while语句和while语句的区别在于,do while语句一定会把循环体至少执行一次,而while语句则可能根本不执行循环体。

    下面我同样给出一段代码,帮助你理解do while语句:

int i = 0;

do{
	i++;
}while(i < 2);

System.out.println(i);

    首先,我们定义了一个整数类型的变量i,并指定初始化的值为0;
    接下来,执行do while循环语句,i自增1,i的值变成1。此时i<2的结果为true,所以再次执行循环体;
    i自增1,i的值变成2。此时i<2的结果为false,所以循环结束;
    最后执行打印语句,把i的值打印出来

    for语句的格式如下:

for(初始化表达式;循环条件表达式;循环后的操作表达式){
	执行语句;
}

    for语句的结构看起来就比较复杂了。它的执行过程是,首先执行初始化表达式,如果结果为true,则执行循环体,执行完毕后,再执行括号里的最后一个表达式,然后再一次计算条件表达式;如果结果为false,则退出循环。

    以下是示例代码:

for(int i = 0 ; i < 2 ; i++){
	System.out.println(i);
}

    首先执行初始化表达式,定义了一个整数类型的变量i,初始值为0;
    接下来计算i<2,结果为true,所以执行循环体,并打印i的值0;
    执行循环后的操作表达式,i自增1,计算i<2,结果为true,所以执行循环体,并打印i的值1;
    执行循环后的操作表达式,i自增1,计算i<2,结果为false,所以退出循环,同时变量i的生命周期结束。

    由于上述过程可能有点复杂,所以我画了一个简单的示意图。程序从①处开始执行,语句旁的序号代表该语句的执行顺序。

图

    for语句的括号里面有三条语句,用分号隔开。不过,它们都不是必须要写的。你可以随便把若干条语句空着不写。

    while语句和for语句的比较

  1. for和while是可以互换的
  2. 如果需要通过一个临时性的变量来控制循环,循环结束后该变量就没用了,那么建议使用for语句。因为for循环结束后,该变量的生命周期就结束了,它所占据的内存也就会被释放出来

    有关循环的关键词有两个:breakcontinue

  • break:(你想起来了吗,之前在switch语句中也出现过break)作用是直接结束当前循环
  • continue:作用是直接结束这一轮循环并继续执行下一轮循环

    无限循环有两种最简单的格式:while(true){}和for( ; ; ){}。
    无限循环是很危险的,因为这会使程序一直卡在某个位置,从而引发错误。所以当我们写下一个循环的时候,请一定注意循环是否可以结束。
    有的时候,使用break强行退出循环是很有用的




升级

    有了前面的知识后,我们终于可以使简单计算器实现幂运算了。这里我们假设给定的数字分别是底数和指数。

    根据第一部分的讲解,相信你可以很快写出幂运算的代码。建议自己尝试之后,再看下面的实现

    while语句实现

while

    注意变量i在循环结束之后依然存在,这浪费了内存。所以此处我推荐使用使用for语句。

    for语句实现

for



后记

    通过自己实现正整数的幂运算,我们可以很好的掌握循环结构的知识。事实上,Java里是有内置的幂运算功能的,以后你就会了解到。

    如果在程序里面要用到幂运算的话,我们直接使用Java自带的功能就好了,不用自己去实现。这样可以使代码更简洁,而且Java内置的幂运算比我们的幂运算要严谨和强大的多。

    有关程序流程控制的知识到此结束。上一节和这一节我们分别学习了判断结束,构循环结构。程序流程控制的知识非常重要。它们和顺序结构结合在一起,就可以实现很多强大的功能,你会在以后的学习中进一步体验到。




感谢你的阅读!本教程会长期不定时更新。本人不是大神,也会犯错,如果有建议或者提问的话,欢迎评论留言!


系列教程导航

图

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
了解AIDE(3课) 本来以前做PyS60教程是没有介绍开发工具这一节的,由于AIDE专业名词很多,且无可用汉化版(其实汉化版在论坛上是有的,但汉化组们汉化的AIDE由于破坏了软件原有的签名,虽然安装之后可以打开,但写的程序无法run运行,这个大家可以去试试。。) 这里,我开始向大家介绍AIDE的使用和功能,有些截图是截的汉化版的,方便大家对照。 进入主界面如下图: 有的手机第一次打开AIDE时会提示新建一个android项目,可以点不。如上图,点击电脑图标后,会弹出出AIDE的工作区,如下图: 默认工作区弹出的内容是AIDE的项目文件管理器,值得一提是AIDE的项目文件管理器的默认文件目录是在sd卡下的AppProjects目录下的,新建安卓项目最好新建在这个目录下。 工作区里的内容或者说功能可以通过手机菜单键>More(更多)进行切换,More(更多)的内容如下图: 为了防止AIDE以后有更多功能,图片不好对照。下面我给出常用的英文翻译对照: 1、主菜单 Files-->文件夹 GoTo-->跳转 Forward-->前进 Save-->保存 Run-->运行 More-->更多 . 2、More(更多) Go Premium!-->无用的,不管 Show Errors -->显示错误 Show Search Results-->显示搜索结果 Show LogCat-->显示LogCat Show File Location-->显示文件位置 Show Open Files-->显示打开的文件夹 Search in Files-->在文件中搜索 GoTo Class-->跳转到类 GoTo Line-->跳转到行 Export APK-->导出APK Refresh Build-->刷新工程 Refresh Code Analysis-->刷新代码分析 Close Project-->关闭工程 Community-->社区(跳转网页)SDK Help-->社区(跳转到android官方开发帮助) Settings-->设置 Exit-->退出 . 我希望大家在编写第一程序之前先好好的了解一下的我们的开发工具AIDE,还好很多没翻译到的地方可以自己摸索一下,好了,这一节就到这里。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值