JAVA基础知识: 流程控制

来源:互联网 发布:大数据阅读材料答案 编辑:程序博客网 时间:2024/05/20 15:37

一、流程控制


  • 流程控制的概念

    1. 控制流程(也称为流程控制)是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。不论是在声明式编程语言或是函数编程语言中,都有类似的概念。

    2. 在声明式的编程语言中,流程控制指令是指会改变程序运行顺序的指令,可能是运行不同位置的指令,或是在二段(或多段)程序中选择一个运行。

  • 流程控制的分类

    Java流程控制包括顺序控制、条件控制和循环控制。
    1. 顺序控制,就是从头到尾依次执行每条语句操作。

    2. 条件控制,基于条件选择执行语句.

    3. 比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操作A,反之则执行操作B。

    4. 循环控制,又称为回路控制,根据循环初始条件和终结要求,执行循环体内的操作。

实际上,不管是各种控制,归根结底,就是做事情的步骤性的表现方式,有的是顺序的,有的是条件的,还有的是控制的。从广义上来思考,都是具有顺序性的完成工作。

  • Java的条件控制主要形式如下:
      1if(condition){statement}      2if(condtion){statement1} else {statement2}      3switch(condition)         {             case condition1:statement1;                    break;         .....default:statement}      4)上述形式的组合与嵌套
  • Java的循环控制主要形式如下:
      1while(condtion){statement}      2)do {statement} while(condtion);      3for(initialCondition;circleCondition;iterator{statement}      4)上述形式的组合与嵌套

二、说明


  • .IF语句

     > 语法结构: IF(判断条件){操作语句}

    解释说明:如果判断条件是真的,就执行操作语句。

  • IF..else语句

    语法结构:

     IF(判断条件){操作语句} else {操作语句2}

    解释说明:如果判断条件是真的,就执行操作语句,否则就执行操作语句2.

  • SWITCH..CASE语句

    语句结构如下:

    { case 常量表达式1:语句1;

       ....

    case 常量表达式2:语句2;

      default:语句; 

    }

1.default就是如果没有符合的case就执行它,default并不是必须的.

2.case后的语句可以不用大括号.

3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.

4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.


  • For循环

for 循环的句法是:

for (初值表达式; boolean 测试表达式; 改变量表达式/步长){
   语句或块
  }

  执行顺序如下:   
1、首先运行初值表达式。
2、然后计算测试表达式,如果表达式为true,
执行语句或块;如果表达式为false,退出for循环。   
3、最后执行步长.

示例:

   for (int i = 0; i < 10; i++) {     System.out.println("Java");  }
  • do循环

    do 循环的句法是:
      
      do {
      语句或块;
      }while (测试值表达式);
      

    说明:
      先执行语句或块,然后再判断布尔表达式。与while语句不同,当布尔表达式一次都不为true时,while语句一开始判断就跳出循环,一次都不执行语句或块,而在do语句中则要执行一次。
      

  • While语句

while 循环的句法是:

>  while (布尔表达式) {   语句或块   }

说明:当布尔表达式为true时,执行语句或块,否则跳出while循环。

实例:

        int i = 0;        while (i < 10) {            System.out.println("while语句");            i++;        }
  • foreach语句

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便


foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。


foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for
每一个”的意思。实际上也就是这个意思。

foreach的语句格式:for(元素类型t 元素变量x : 遍历对象obj){     引用了x的java语句;}

实例:

       //定义并初始化一个数组         int arr[] = {2, 3, 1};         System.out.println("----1----排序前的一维数组");         for (int x : arr) {             System.out.println(x); //逐个输出数组元素的值         }         //对数组排序         Arrays.sort(arr);         //利用java新特性for each循环输出数组         System.out.println("----1----排序后的一维数组");         for (int x : arr) {             System.out.println(x); //逐个输出数组元素的值         }     } 

用于数组

for (type var : arr) {    body-of-loop}// 等价于for (int i = 0; i < arr.length(); i++) {    body-of-loop}

用于集合:

for (type var : coll) {    body-of-loop}// 等价于for (Iterator<TYPE> iter = coll.iterator(); iter.hasNext();) {    type arr = iter.next();    body-of-loop}

四、 特殊循环流程控制


  • 下列语句可被用在更深层次的控制循环语句中:

       break [标注];

    break 语句被用来从 switch 语句、循环语句和预先给定了 label 的块中退出,跳出离break 最近的循环。

      
       continue[标注];
      

    continue 语句被用来略过并跳到循环体的结尾,终止本次循环,继续下一次循环。


五、习题


第一题:

有 36 人 36 块板砖,男人每人般 4 块,女人每人搬 3 块,小孩每 2 人搬 1 块。36 人都搬了一次,把砖刚好搬晚,问:几男几女的几个小孩?


第二题: 打印 1-100 的素数 (只能被 1 和他本身整除的数)

素数 : 只能被 1 和他本身整除的数.


第三题: 写个猜数字的小游戏:

生成一个 1-100 的随即数,让用户输入数字猜,如果猜错了 提示猜大了 还是猜小了,然后用户继续输入信数字猜,猜对了退出!

第四题:

出租车计费标准为:3 公里以内 10 元,3 公里以后每 1 公里加 2 元,每等待 5 分钟加 2 元。超过 15 公里,每公里加 3 元,打印出钱数。

第五题:

一电信公司的市内通话费计算标准如下:3 分钟 02 元,3 分钟后每增加一分钟加 0.1元,不足一分钟的按照一分钟计算。要求编写程序。给定一个通话时间(秒)。计算相应的费用。

第六题:

给定 3 个数,a b c ,输出最大数。

第七题:

用 scanner 输入一个数字,然后判断下数字大小,如果大于 0 输出为正数等于 0 输出为 0 否则输出为负数。

第八题:

用 scanner 输入一个分数,来判断分数等级:
>=90 打印 优秀
80-90 打印 良好
70-80 打印 中等
60-70 打印 及格
<60 打印 不及格

第九题:

循环打印 100 以内的数。

第十题:

循环打印 100 以内的所有奇数

第十一题:

用 scanner 输入一个数字,计算从 1 到这个数字的累加并打印出来。

第十二题:

打印
*
* *
* * *
* * * *
* * * * *

第十三题:

打印
*
***
*****
*******
*********

第十四题:

打印乘法表

第十五题:

打印乘法表:遇到 12 的倍数不显示,遇到 28 的倍数,本行终止。

第十六题:

打印 0-50 之间不是 5 的倍数和 7 的倍数

第十七题:

学习打印 1-100 的数字,遇到 7 的倍数或包含 7 的数字,不打印

0 0
原创粉丝点击