黑马程序员 ——Java基础语法之流程控制与函数

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、流程控制

一般来说程序的结构包含有下面三种:
1、 判断结构
2、 选择结构
3、 循环结构


1、 判断结构——if语句

         if 语句的三种格式:

            if 语句

            if (判断条件表达式)

    {

        语句 1 ;
        语句 2 ;
        …
        语句 n ;

     }

若是在 if 语句主体中要处理的语句只有 1 个,可省略左、右大括号。当判断条件的值不为假时,就会逐一执行大括号里面所包含的语句

            if…else 语句

            if(判断条件表达式)

                {

                         语句主体 1 ;

                }

                else

                {

                          语句主体 2;

                }

    当程序中存在含有分支的判断语句时,就可以用 if...else 语句处理。当判断条件成立,即执行 if 语句主体;判断条件不成立时,则会执行 else 后面的语句主体。使用if…else 语句就可以节省判断的时间。

   还有一种运算符可以代替 if…else 语句,
   即条件运算符:条件判断?表达式 1:表达式 2
   根据条件的成立与否,来决定结果为“:”前或“:”后的表达式,就是当条件成立时执行表达式 1,否则执行表达式2,通常会将这两个表达式之一的运算结果指定给某个变量。使用条件运算符编写程序时较为简洁,它用一个语句就可以替代一长串的 if..else 语句,所以条件运算符的执行速度也较高。

            if..else if..else 语句

            if(判断条件表达式1)

                {

                         语句主体 1 ;

                }

               else  if (判断条件表达式2)

               {

                        语句主体 2 ;  

               }

                ……

               else

              {

                       语句主体 n ;

              }

这种方式用在含有多个判断条件的程序中。
注意:条件表达式无论写成什么样子,最终的结果不是true就是 false


2、 选择结构——switch语句

        格式:

                switch(表达式)

                {

                       case取值1:

                             执行语句;

                              break

                       case取值2:

                             执行语句;

                              break

                       …...

                      default:

                             执行语句;

                             break

                }

注意:switch语句选择值只能是字符或是常量,类型只有四种:byteshortint char

  switch 语句执行的流程。

1、 switch 语句先计算括号中表达式的结果。
2、 case之间与default没有顺序。根据表达式的值检测是否符合执行 case 后面的选择值,若是所有 case 的选择值皆
不符合,则执行 default 所包含的语句,执行完毕即离开 switch 语句。
   3、 如果某个 case 的选择值符合表达式的结果,就会执行该 case 所包含的语句,一直
遇到 break 语句后才离开 switch 语句。
   4、 若是没有在 case 语句结尾处加上 break 语句,则会一直执行到 switch 语句的尾端才会离开 switch 语句。break 语句在下面的      章节中会介绍到,读者只要先记住 break是跳出语句就可以了。
   5、 若是没有定义 default 该执行的语句,则什么也不会执行,直接离开 switch 语句。

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

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

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

       while语句格式:

             while(判断条件表达式)

             {

                 执行语句;

             }

while 循环执行的流程:
①、 第一次进入 while 循环前,就必须先为循环控制变量(或表达式)赋起始值。
②、 根据判断条件的内容决定是否要继续执行循环,如果条件判断值为真( True),继续执行循环主体;条件判断值为假( False),则跳出循环执行其他语句。
③、 执行完循环主体内的语句后,重新为循环控制变量(或表达式)赋值(增加或减少),由于 while 循环不会自动更改循环控制变量(或表达式)的内容,所以在 while 循环中为循环控制变量赋值的工作要由设计者自己来做,完成后再回到步骤 2 重新判断是否继续执行循环。


        do while语句格式:

             do

             {

                 执行语句;

             }while(判断条件表达式);

do…while 循环执行的流程:
进入 do...whle 循环前,要先为循环控制变量(或表达式)赋起始值。
②、直接执行循环主体,循环主体执行完毕,才开始根据判断条件的内容决定是否继续执行循环:条件判断值为真( True)时,继续执行循环主体;条件判断值为假False)时,则跳出循环,执行其他语句。
③执行完循环主体内的语句后,重新为循环控制变量(或表达式)赋值(增加或减少),由于 do…while 循环和 while 循环一样,不会自动更改循环控制变量(或表达式)的内容,所以在 do…while 循环中赋值循环控制变量的工作要由自己来做,再回到步骤 2 重新判断是否继续执行循环。

while和do while的区别:

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

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

简而言之:do while:无论条件是否满足,循环体至少执行一次。

        for语句格式:

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

            {

                 执行语句;

            }

说明:

       for循环有一个特殊的循环,叫死循环。表现形式为:

       boolean  isOk = true;       或     for(;;){}

       for(;isOk;){}  

       for循环可以再嵌套for循环。

注意:在for循环的初始化或迭代部分,可以有多个表达式,表达式之间用逗号隔开。例如:   

int count =0;

        for(int a= 1,b=10;a<b;a++,b--){

               count++;

        }  

        什么时候使用循环结构?

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

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

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

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

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

注:

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

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

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

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

 

二、函数(方法)

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

    1、格式:

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

        {

                     执行语句;

                      return返回值;

            }

    其中:

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

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

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

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

          return:用于结束函数。

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

   /2、函数特点:

①定义函数可以将功能代码进行封装,便于对该功能进行复用。

②函数只有被调用才会被执行。

③函数的出现提高了代码的复用性。

④对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。

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

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

定义函数时候需要有两个明确:

①明确要定义的功能最后的结果是什么。

②明确在定义该功能的过程中,是否需要未知内容参与运算。

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

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

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

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

      :Java是严谨性语言,如果函数出现的调用不确定性,会编译失败。

  4、什么时候用到重载?  

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


for循环嵌套练习——打印九九乘法表

package ok;

public class Jiujiuchengfabiao {

<span style="white-space:pre">	</span>//主函数:特殊函数,作为程序入口,可以被JVM调用
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int x=1;x<=9;x++)
		{
			for(int y=1;y<=x;y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}	

	}

}




 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值