黑马程序员_java基础的几种语句

---------------------- android培训java培训、期待与您交流! ----------------------


 

一:判断结构(if语句)


 (1)第一种格式:
  if(条件表达式)
  {
   执行语句;
  }
  **1:执行流程
  首先判断条件表达式,如果值为true,那么就执行if语句所控制的语句体。
  如果为false,就不执行语句体。
  **2:条件表达式无论简单(a>b)或者复杂((a+b+c)>(a+b)),其结果是boolean值。true或者false。
       如果是其他的值,则错误。

 注意问题:
  1:if(条件表达式)其后没有分号。
   一般来说,有"{}"就没有";",有";"就没有"{}"
  2:if语句所控制的语句如果是一条语句,我们可以不写大括号;
     如果控制的是两条以上的语句,必须加大括号。
  3:if语句的控制体没有加大括号是其后跟的一条语句。
     建议:永远加上大括号。避免不必要的错误。

 (2)第二种格式:
  if(条件表达式)
  {
   执行语句;
  }
  else
  {
   执行语句;
  }
  
  **1:执行流程
  首先判断条件表达式,如果值为true,那么就执行语句1。
  如果为false,就执行语句2。
  **2:if可以单用,第一种格式。
      有else必须有if。

  **3:发现if语句的第二种格式和三元运算符相似。
  区别:
   (1)三元运算符是if语句的简写形式。
   (2)所有的三元运算符都可以用if语句改写。反之不行。
    为什么?因为三元运算符是一个运算符,计算完后,必有结果。
 (3)第三种格式:
  if(条件表达式)
  {
   执行语句;
  }
  else if (条件表达式)
  {
   执行语句;
  }
   ……
  else
  {
   执行语句;
  }
  
  **1:else可以省略,但是不建议。
   A:它是第三种格式的组成部分。
   B:你有可能没有判断完所有的情况,我们就可以使用else来完成特殊情况。
  **2:执行流程
   A:虽然格式很长,但是,它整体只是一条语句。

   B:不断的判断,只要有满足条件的条件表达式,就执行该判断处控制的语句体,执行完后。语句结束。
    当都不满足时候,执行else。

  **3:if后面必须有条件表达式。 else后面没有条件表达式。

  **4:if语句的嵌套(if语句里面的语句体还是if语句。)
 (4)if的应用:
  A:给定一个数值,请打印出对应的星期?。
  B:一年有四季,每季三个月
     春:3,4,5
     夏:6,7,8
     秋:9,10,11
     冬:12,1,2
     给定一个月份,输出对应的季节。
  C:if语句什么时候使用?
   ***对几个值进行判断的时候
    ****
    1,2,3,4,5,6,7
    if(x==1)
    {}
    else if(x==2)
    {}
    ...
   ***对结果是boolean类型的进行判断
    ****
    if(x>3)
    {}
    else if(x==3)
    {}
    else if(x??)
    {}
    ...
   ***对范围进行判断
    ****
    if(x>90 && x<100)
    {}
    else if(x>80 && x<=90)
    {}
    ...

 

二:选择结构


 (1)基本格式:
  switch(表达式)
  {
   case 取值1:
    执行语句;
    break;
   case 取值2:
    执行语句;
    break;
   …...
   default:
    执行语句;
    break;
  }
 (2)针对基本格式的说明:
  A:switch 用于定义选择结构范围。
   表达式:被选择的结果,该表达式只能有四种类型:byte,short,int,char
   注意:在JDK5以后,还支持一个叫做枚举的类型(enum);JDK7以后,还支持String类型。
  B:case :被选择的答案
  C:break:跳出,结束switch语句。
  D:default:默认的意思。当所有的case都不匹配时,执行default里面的内容。相当于if语句中的else。
 (3):switch语句的结束
  A:执行语句遇到break。
  B:执行到语句的结尾。
 (4):最后一个break可不可以不要呢?可以。
      中间的break可不可以不要呢?可以。但是程序会顺序执行后面的case语句,直到遇到break或自然结束,所以结果可能不是正确的。所以一般中间的break不要省略。  
 (5):default和case前后顺序有关系吗:
  A:执行上 执行上有关系,先执行所有case,当所有的case都不满足时,在执行default语句。
  B:写法上 没有关系 建议按照基本格式写。default放最后。
 (6)swithc语句中,break省略的情况有没有用呢?有。当多个答案针对同一处理。

 

三:循环


 (1)while循环的格式
  while(条件表达式)
  {
   执行语句;
  }

  执行流程:
   A:首先判断条件表达式,如果结果为true,就执行while循环控制的语句。否则,不执行循环体结束循环。
   B:循环体语句执行后,再回到A继续判断。直到条件不成立结束循环。
  **Ctrl+C 在DOS窗口中强制结束程序。
  **while(条件表达式)后不要加分号,否则结果你理解不了。

  **while所控制的语句是一条的时候,也可以省略大括号,但是不建议。


 (2)do while循环的格式
  do
  {
   执行语句;
  }while(条件表达式);
  
  执行流程:
   A:先执行一次循环体。
   B:再判断条件表达式。如果值为true,就返回A继续。否则,结束循环。
  与while的区别:
   A:while(条件表达式);后面有分号
   B:do while循环至少执行一次循环体,while循环有可能一次都不执行。


 (3)for循环的格式
  for(初始化表达式;循环条件表达式;循环后操作表达式)
  {
   执行语句;
  }

  执行流程
   A:首先进行初始化表达式的执行。
   B:其次,循环条件表达式的判断:
    如果条件为true,则进循环体执行语句。
    如果条件为false,则结束循环。
   C:当循环体执行完毕后,就会执行循环后的操作表达式。
    在接下来回到B步骤继续,直到结束循环。

   D:初始化表达式只执行一次。
       循环条件表达式执行一次或多次。
       循环后的操作表达式零次或多次。

   E;while循环和for循环时等价的。
    **区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。
       而while循环使用的变量在循环结束后还可以继续使用。
    **变量的生命周期不一样。一般来说,只在它所属的{}内有效。
   F:最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
    当你定义的初始化变量只为递增而存在,那么就用for循环,效率较高。
    当你定义的初始化变量,操作完后,还得继续使用,用while循环。

 (4)循环嵌套
  A:外循环执行一次,内循环执行多次。
  B:如果是打印形状等,外循环控制行数,内循环控制列数。
  C:举例
   **打印正三角 内循环的循环条件表达式变化
   **打印倒三角 内循环的初始化表达式变化
   **打印33乘法表

四:continue和break


 (1):都有自己的应用范围
  A:continue用于循环结构
  B:break用于选择结构和循环结构
 (2):break结束当前所在循环,continue结束本次循环,进入下一次循环。
 (3):注:
  a,这两个语句离开应用范围,存在是没有意义的。
  b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
  c,continue语句是结束本次循环继续下次循环。
  d,标号的出现,可以让这两个语句作用于指定的范围。


五:变量和语句的引用场景


 (1)什么时候使用变量? 根据变量的定义,当一个数值在整个程序运行过程中不是固定不变的或需要多次赋值,刚需要定义一个变量来存储数据。
 (2)什么时候使用if语句?if语句第一种只作一种判断地,if语句第二种只作“非他即我“式判断,if语句的第三种格式可以作多种事先定义好的有限范围的判断。
 (3)什么时候使用switch语句? switch只做有限给定数据的选择。类型只限于int,short,char,byte .其他类型的值如果使用选择或者判断,建议用if语句。
 (4)什么时候使用循环语句?  当出现多种情况重复出现或某种操作多次重复出现,则考虑使用循环结构。
  while:声明的循环变量在结束后可以继续使用的,可以使用break;
  for:当前循环范围确定,循环变量只为递增而存在时,用for 循环。
 (5)break结束当前所在循环,continue结束本次循环,进入下一次循环。

 

 ---------------------- android培训java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值