zoukankan      html  css  js  c++  java
  • 黑马程序员---java基础语法--流程控制与函数

    一、程序流程控制

            也称语句,主要有:判断结构、选择结构和循环结构。

    1、 判断结构——if

             if语句的三种格式:

                a)  if(条件表达式)

                     {

                          执行语句;

                     }

                b)  if(条件表达式)

                    {

                            执行语句;

                    }

                    else

                    {

                             执行语句;

                    }

                c)  if(条件表达式)

                    {

                             执行语句;

                    }

                   else  if (条件表达式)

                   {

                            执行语句 

                   }

                    ……

                   else

                  {

                            执行语句;

                  }

    if语句特点:

        a,每一种格式都是单条语句。

            b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以简化if else代码。

            c,条件表达式无论写成什么样子,最终的结果不是true就是 false。

    2、 选择结构——switch

            switch语句格式:

                    switch(表达式)

                    {

                           case取值1:

                                 执行语句;

                                  break;

                           case取值2:

                                 执行语句;

                                  break;

                           …...

                          default:

                                 执行语句;

                                 break;

                    }

    switch语句特点:

            a,switch语句选择的类型只有四种:byte,short,int,char。

            b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。

            c,结束switch语句的两种情况:1、遇到break结束;2、执行到switch结尾结束。

            d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

    注:JDK1.5以后可以接收枚举类型,JDK1.7以后可以接收字符串。

            if和switch语句很像。具体什么场景下,应用哪个语句呢?如果判断的具体数值不多,而且符合byte  short  int  char这四种类型。虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

    3、 循环结构——while,do while,for

            while语句格式:

                 while(条件表达式)

                 {

                     执行语句;

                 }

            do while语句格式:

                 do

                 {

                     执行语句;

                 }while(条件表达式);

    while和do while的区别:

            while:先判断条件,只有条件满足才执行循环体。

            do while:先执行循环体,再判断条件,条件满足,再继续执行循环体。

    简单一句话:do while:无论条件是否满足,循环体至少执行一次

            for语句格式:

                for(初始化表达式;循环条件表达式;循环后的操作表达式)

                {

                     执行语句;

                }

    说明:

            a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复这个过程,直到条件不满足为止。

            b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。 

            c,最简单无限循环格式:while(true){}, for(;;){},对于for来讲,不写条件表达式默认就是ture。无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

            什么时候使用循环结构?

            当要对某些语句执行很多次时,就使用循环结构。

    循环注意:一定要明确哪些语句需要参与循环,哪些不需要。

    4、其他流程控制语句——break,continue

            break(跳出)语句:应用范围:选择结构和循环结构。

            continue(继续)语句:应用于循环结构。

    注:

            a,这两个语句离开应用范围,存在是没有意义的。

            b,这个两个语句单独存在时,下面都不可以有语句,因为执行不到。

            c,continue语句是结束本次循环继续下次循环。

            d,标号的出现,可以让这两个语句作用于指定的范围。只能用于循环结构。

    二、函数

            定义:定义在类中的具有特定功能的一段独立小程序。也称方法。

        格式:

            修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)

            {

                         执行语句;

                          return返回值;

                }

       其中:

             返回值类型:函数运行后的结果的数据类型。

             参数类型:是形式参数的数据类型。

             形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。

             实际参数:传递给形式参数的具体数值。

              return:用于结束函数。

             返回值:该值会返回给调用者。

        特点:

    • 定义函数可以将功能代码进行封装,便于对该功能进行复用。
    • 函数只有被调用才会被执行。
    • 函数的出现提高了代码的复用性。
    • 对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。

    注意:

            a) 函数中只能调用函数,不可以在函数内部定义函数。

            b) 定义函数时,函数的结果应该返回给调用者,交由调用者处理。

    如何定义一个函数?

    • 明确要定义的功能最后的结果是什么。
    • 明确在定义该功能的过程中,是否需要未知内容参与运算。

    函数的一个重要特性——重载(override)

          概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数列表的个数或者参数类型不同即可。

          特点:与返回值类型无关,只看参数列表。

          好处:方便于阅读,优化了程序设计。

          示例:

                  //返回两个整数的和

                  int add(int x,int y){return x+y;}

                  //返回三个整数的和

                  int add(int x,int y,int z){returnx+y+z;}

                  //返回两个小数的和

                  double add(double x,double y){return x+y;}

    什么时候用到重载?

          当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名函数

    三、小练习

           嵌套循环练习

     

     

  • 相关阅读:
    ASP.NET编程的十大技巧
    C#学习心得(转)
    POJ 1177 Picture (线段树)
    POJ 3067 Japan (树状数组)
    POJ 2828 Buy Tickets (线段树)
    POJ 1195 Mobile phones (二维树状数组)
    HDU 4235 Flowers (线段树)
    POJ 2886 Who Gets the Most Candies? (线段树)
    POJ 2418 Cows (树状数组)
    HDU 4339 Query (线段树)
  • 原文地址:https://www.cnblogs.com/Hanxia/p/4597960.html
Copyright © 2011-2022 走看看