第二章 Java基本语法(下):程序流程控制

三种基本流程结构:
顺序结构、分支结构、循环结构
 
从键盘输入:
1. 导包:import java.util.Scanner
2. Scanner的实例化:Scanner scan = new Scanner( System.in );
3. 调用Scanner类的相关方法( next( ) / nextXXX( ) ),来获取指定类型的变量
4. 对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串,不过可以用charAt( 0 )从字符串里提取
 
:需要根据相应的方法来输入指定类型的值,如果输入的数据类型与要求的类型不匹配,会报异常:InputMisMatchException,导致程序终止。
 
 
If-else结构:
    else结构可选
    若多个条件表达式之间是“互斥”关系( 或者没有交集 ),判断语句和执行语句的声明顺序无所谓
    若多个条件表达式之间是包含关系,通常先声明范围小的
    注:根据就近原则,else与跟它距离最近的if配对
 
获取随机数: Math.random( )   // 返回一个[0.0,1.0)之间的double
获取[a,b]之间的整数,公式: (int)( Math.random( )*(b-a+1) + a )
 
比较两个字符串是否相等:可以用String类的equals方法 e.g. Str1.equals( Str2 )  Str1.equals(“是”)
 
 
switch-case结构:
   1. 根据switch表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句,调用结束后继续向下执行其他case结构中的执行语句,直到遇到break关键字或者此switch-case结构结束为止。
    2. break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出该结构。
    3. switch结构中的表达式,只能是如下6种数据类型之一:byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
    4. case之后只能声明常量,不能声明范围
    5. 如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并
 
If和switch的对比:
    凡是可以使用switch-case的结构,都可以转化为if-else。反之,不成立。
    如果判断的具体数值不多,而且符合switch的6种类型。虽然两个语句都可以使用,建议使用swtich语句。因为switch效率稍高
    其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
 
循环语句的4个组成部分:
    ①初始化部分
    ②循环条件部分  ——boolean类型
    ③循环体部分
    ④迭代部分
 
for循环的结构 
    for( ① ; ② ; ④ ){
         ③;
    }
执行过程:① — ② —  ③ —  ④ — ② —  ③ —  ④ …. ②
初始化部分声明的变量只在for循环内有效
 
while循环的结构 
while( ② ){
         ③; 
         ④;
 }
注:写while循环注意不要忘记 ④,否则会导致死循环
 
for Vs. while:
    for循环和while循环可以相互转换
    区别:for循环和while循环的初始化条件部分的作用范围不同
    不在循环条件部分限制次数:for( ; ; )  或者 while( true )    —>  使用break来跳出循环
 
do-while循环的结构
do{
         ③; 
         ④;
 }while( ② );
执行过程:① —  ③ —  ④ — ② —  ③ —  ④ …. ②
do-while循环至少会执行一次循环体
 
break Vs. continue:
 
  使用范围 不同点 相同点
break
switch-case
循环结构
结束当前循环 关键字后面不能声明任何执行语句,即使声明了也不能被执行
continue 循环结构 结束当次循环
break、continue默认跳出包裹此关键字最近的一层循环,可以通过加标签来结束指定标识的一层循环结构
posted @ 2021-07-06 23:48  deeojunkie  阅读(53)  评论(0编辑  收藏  举报