Java培训第04天 Java基础知识(三)---2017年07月13日

来源:互联网 发布:centos git 编译 编辑:程序博客网 时间:2024/05/16 19:45

今天所学的知识依旧是Java基础知识,紧接着昨天的内容,包括部分的分支语句和循环语句等。

十一、Java分支语句

  01.程序流程控制:
    (01).顺序结构:从上向下,一行行地执行代码。
    (02).分支结构:又称选择结构,根据条件执行不同的代码。
    (03).循环结构:重复执行相同的代码。
  02.使用原因:
    当程序面临选择的时候,每一种选择对应一种操作及其结果。
  03.if语句:
    (01).基本结构:if(表达式) { 执行语句; }。
    (02).表达式:存在关系表达式或逻辑表达式。
    (03).流程:表达式正确,则执行语句;表达式错误,则跳过。
    (04).执行语句只有一句时,可以省略花括号,但不提倡。
  04.if...else...语句:
    (01).基本结构:if(表达式) { 执行语句01; } else { 执行语句02; }。
    (02).流程:表达式正确,则执行语句01;表达式错误,则执行语句02。
    (03).所有的三元运算符都能够转换为if...else...语句,反之不成立。
  05.if...else if...else...语句:
    (01).基本结构:if(表达式01) { 执行语句01; } else if(表达式02) { 执行语句02; } else { 执行语句03; }。
    (02).执行流程:表达式01的结果正确,就执行语句01;结果错误,就执行else if(),再进行判断,与if的判断处理相同,直至判断完else。
    (03).else可以省略,但不建议省略,是对if的范围外的错误进行提示或补充。
  06.分支语句嵌套:
    为了提高程序的可读性和易于维护,建议最多嵌套三层。
  07.switch...case...语句:
    (01).基本结构:switch(表达式) { case 值01:执行语句01; case 值02:执行语句02; default:执行语句02; }。
    (02).执行流程:表达式的值,与case中的每个数据进行比较,若相同,则执行相应的语句;若不同,则执行default中的语句,最后结束语句。
    (03).数据类型:byte、short、int、char、String(Java1.7之后新增)、枚举等。
    (04).结束条件:执行到任意的break,或者遇到switch...case...语句的"}"符号。
    (05).case穿透:原因在于上一条case没有写break,所以会继续执行下一条case的执行语句,直至有break出现。
    (06).default:可以写在case前面,始终在case判断完之后执行。
  08.switch与if的区别:
    (01).使用场景的分别:
      需要判断范围时,最好用if...else...语句。
      需要判断单个值时,最好用switch...case...语句(值不多的时候,switch比if快,效率略高)。
    (02).表达式值类型的分类:
      类型是true或false时,最好用if...else...语句。
      类型是byte、short、int、char、枚举、String等是,最好用switch...case...语句。

十二、Java循环语句

  01.适用情景:重复的行为,反复出现,而此时可以用循环来解决。
  02.while...语句:
    (01).基本结构:while(判断条件语句) { 循环体语句; 控制条件语句; }。
    (02).执行流程:根据判断条件语句的结果,若是true,则执行循环语句;若是false,则退出循环。
  03.do...while...语句:
    (01).基本结构:do { 循环体语句; 控制条件语句; }while(判断条件语句);。
    (02).执行流程:先执行循环语句,再根据判断条件语句的结果,若是true,则执行循环语句;若是false,则退出循环。
  04.for...语句:
    (01).for(初始化语句;判断条件语句;控制条件语句) { 循环体 };。
    (02).执行流程:初始化,先执行循环语句,再根据判断条件语句的结果,若是true,则执行循环语句;若是false,则退出循环。
    (03).判断条件语句的返回值必须是true或false,
    (04).六种写法:
      写法一:标准写法,for(int i = 1 ; i < 10 ; i++){}。
      写法二:for(int i = 1 ; ; i++){},死循环。
      写法三:int i = 1; for( ; i < 10 ; i++){}。
      写法四:for(int i = 1 ; i < 10 ; ){ i++; }。
      写法五:int i = 1; for( ; i < 10 ; ){ i++; }。
      写法六:for( ; ; ){},死循环。
  05.while与do...while...的区别
    while,先判断,再执行循环体;do...while...,先执行循环体,再判断。
    判断条件语句是false时,while不执行循环体,do...while...至少执行一次循环体。
  06.while与for的区别:
    int i = 1;时,定义的位置不同,i的作用域不同,for的i的作用域只在循环内,而while的i的作用于在循环外和循环内都可以。
  07.死循环:for(;;){},while(true){}。
  08.循环语句嵌套:
    (01).for循环的嵌套写起来比while循环循环,相对来说简单。
    (02).第一层循环,相当于一本书的第一页;第二层循环,相当于一页中的每一行。