控制语句

控制语句:把语句组合成能完成一定功能的小逻辑模块。它分为三类:顺序、选择和循环。

学会控制语句,是真正跨入编程界的“门槛”,是成为“程序猿”的“门票”。

1.“顺序结构”代表“先执行a,再执行b”的逻辑。比如,先找个女朋友,再给女朋友打电话;先订婚,再结婚;

2.“条件判断结构”代表“如果…,则…”的逻辑。比如,如果女朋友来电,则迅速接电话;如果看到红灯,则停车;

3.“循环结构”代表“如果…,则重复执行.”的逻辑。比如,如果没打通女朋友电话,则再继续打一次;如果没找到喜欢的人,则再继续找。

很神奇的是,三种流程控制语句就能表示所有的事情!不信,你可以试试拆分你遇到的各种事情。实际上,任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变量、选择语句、循环语句”组成。

条件判断结构(选择结构)

条件判断结构有:if结构和switch结构。而if结构又可以分为if单分支结构、if-else双分支结构、if-else if-else多分支结构。

语法结构:

if(布尔表达式){
              语句块
          }

注意:

1.如果if语句不写{},则只能作用于后面的第一条语句。

2.强烈建议,任何时候都写上{},即使里面只有一句话!

Math 类的使用

  • java.lang包中的Math类提供了一些用于数学计算的方法。
  • Math.random0该方法用于产生0到1区间的double类型的随机数,但是不包括1。int i=(int)(6*Math.random());//产生:[0,5]之间的随机整数

if-else双分支结构

语法结构:

if(布尔表达式){
              语句块1
          }else{
              语句块2
          }

if-else if-else 多分支结构

语法结构:

if(布尔表达式1){
              语句块1;
          }else if(布尔表达式2){
              语句块2;
          }..…
          else if(布尔表达式n){
              语句块n;
          } else {
              语句块n+1;
          }

switch多分支结构(多值情况)

语法结构:

switch(表达式){
              case值1:
                  语句块1;
                  [break];
              case值2:
                  语句块2;
                  [break];
             ... ... ...
              [default:
                  默认语句块;]
          }

1.switch会根据表达式的值从相匹配的case标签处开始执行,一直执行到break处或者是switch的末尾。如果表达式的值与任一case值不匹配,则进入default 语句。

2.switch中表达式的值,是int(byte、short、char也可,long不行)、枚举,字符串。

循环结构

循环结构分两大类,一类是当型,一类是直到型。

  • 当型:

当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。

  • 直到型:

先执行某语句,再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。

while循环

语法结构:

while(布尔表达式){
              循环体;
          }

1.在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。

2.语句中应有使循环趋向于结束的语句,否则会出现无限循环——“死“循环。

do-while循环

语法结构:

do{
              循环体;
          }while(布尔表达式);

do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。

循环结构(for)

语法结构:

for(初始表达式;布尔表达式;迭代因子){
              循环体;
          }
  • 初始化部分设置:循环变量的初值
  • 条件判断部分为:布尔表达式
  • 迭代因子:控制循环变量的增减

for循环在执行条件判定后,先执行的循环体部分,再执行步进。

嵌套循环

循环语句内部,再写一个或多个循环,称为嵌套循环。一般工作中多见的就是两层。

break语句和continue 语句

1.break用于强行退出整个循环

2.continue用于结束本次循环,继续下一次

continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

带标签的continue 语句

“标签”是指后面跟一个冒号的标识符,例如:“label:”。对Java来说唯一用到标签的地方是在循环语句之前。

“goto有害”论中,最有问题的就是标签,而非goto,随着标签在一个程序里数量的增多,产生错误的机会也越来越多。但Java标签不会造成这方面的问题,因为它们的活动场所已被限死,不可通过特别的方式到处传递程序的控制权。