流程控制、方法

一、流程控制分类 

流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:分支结构、循环结构和顺序结构。

1、java分支结构分为两种

  if条件分支判断类型不是单一,只要一个分支被执行后,后边的分支不再执行,等值和区间都可以,if的使用范围大

  ②switch  case匹配固定值(整形/字符/布尔值/字符串(jdk1.7+)不到迫不得已不要用字符串匹配);判断条件类型单一;在分支执行完后(如果没有break跳出),不加判断地执行下去;default可以省略(default的位置可以任意,但不在最后时,break不可省略;强烈建议放到最后,放到最后的default可以省略break)

2、java中常见的循环有三种while / do while / for,循环的结构:声明变量用于控制循环次数、循环条件、循环体、迭代变化

  ①while先判断条件,后执行循环体,若第一次判断为false,循环体一次都不执行

  ②do  while先执行循环体,后判断条件。最少执行1次。若while循环/do while第一次判断为true, 则两种循环没有区别

  ③for 表达式1迭代变量初始化,表达式2循环条件判断若为false,循环结束,表达式3迭代变化,执行函数体{ }

3、顺序结构,顾名思义,按顺序执行

二、break和continue

1、break: 结束当前循环并退出当前循环体,break还可以退出switch语句

2、continue: 循环体中后续的语句不执行,但是循环没有结束,继续进行循环条件的判断(for循环还会i++)。continue只是结束本次循环。

三、双重循环

while、dowhile、for都可以相互嵌套,外层循环执行一次,内层循环执行n次,整个循环执行m*n次

双层循环一般能解决具有明显的行列问题循环控制列,外层循环控制行

四、方法

完成特定功能且可以被重复使用的代码块称为方法(Method)。修饰符、返回值类型(必选,若无返回值,须写void)、方法名、参数列表、方法体:完成具体功能。如果有返回值,必须有return语句;若无返回值,默认最后一条语句是return,可以省略。return用于结束方法,把控制权交给方法调用处。

方法定义时的参数称为形式参数,简称形参。方法调用时传入的参数称为实际参数简称实参。实参 -> 形参的过程是值传递。

方法的递归,待解决问题的特点:①一个问题可分解为若干层简单子问题。②子问题和其上层问题的解决方案一致。③外层问题的解决依赖于子问题的解决

递归结构包括两个部分:①递归结束条件。解答:什么时候不调用自身方法。如果没有条件,将陷入死循环。

           ②递归体。解答:什么时候需要调用自身方法。

递归的优点:简单的程序

递归的缺点:递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多

递归的使用场合:任何可用递归解决的问题也能使用迭代解决;当递归方法可以更加自然地反映问题,并且易于理解和调试,并且不强调效率问题时,可以采用递归;在要求高性能的情况下尽量避免使用递归,递归既花时间又耗内存。

五、随机数 

Math.random() 用于产生一个随机浮点,范围是[0,1),常用的[m,n] 公式: [m,n]=>  (int)(Math.random()*(n-m+1) + m)

拓展:任意区间的随机整数 ①[m,n) => [m,n-1]         ②(m,n) => [m+1,n-1]        ③(m,n] => [m+1,n]

六、方法重载 

一个类中方法名称相同参数列表不同的方法构成方法重载注意:方法重载和方法的返回值没有任何关系。

方法重载的判断依据:[1] 同一类中。[2] 方法相同。[3] 参数列表不同(类型、个数、参数类型的顺序不同)。

猜你喜欢

转载自www.cnblogs.com/javasan/p/11329824.html