第4天

1.分支结构://有条件的执行某语句一次,并非每句必走

3)if-else if结构:多条路

结合案例:成绩等级判断程序ScoreLevel

        if(boolean){//判断一次
                    语句块;
        }else if(boolean){
                    语句块;
        }else if(boolean){
                    语句块;
            }...

4)switch-case结构:多条路

结合案例:命令解析程序CommandBySwitch

switch(num){//num为整数--整型常量值(byte,short,int,char),不包括long,从jdk1.7(含)开始支持String
  case 1://if(num==1)就以此为入口
    语句块;
    break;//走完case 1语句则跳出switch
  case 2:
    语句块;
    break;
  case 3:
    语句块;
    break;
    ....
  default://如果case都没有配上,走default语句(建议搁在最后)
    语句块;
}

2.循环结构://有条件的执行某语句多次,并非每句必走

        反复(多次)执行一段相同或相似的代码考虑用循环结构
        循环三要素:
          1)循环变量的初始化
          2)循环的条件(以循环变量为基础)
          3)循环变量的改变(向着循环结束改变)
        上来先找循环变量:在整个循环过程中所反复改变的那个数
        结束循环有两种:条件为假或者碰到break

案例一:输出10次“行动是成功的阶梯”

案例二:输出9的乘法表

1)while结构:先判断后执行,有可能一次也不执行

结合案例:猜数字程序Guessing

    while(boolean){//判断多次,反复执行直到boolean为假则结束循环
            语句块;
    }

2)do-while结构:先执行再判断,至少执行一次

        do{
            语句块;
        }while(boolean);
        当要素1与要素3相同时,首选do-while

结合案例:猜数字程序Guessing改用do-while写

补充:

1.关于变量之间交换/排序的问题(在变量少的情况下可以使用)

1)变量的作用域/范围:

 从变量的声明开始,到包含它最近的大括号结束

2)变量的重名问题:

 作用域重叠时,变量不能同名

2.变量的赋值

1)直接量(一开始写死了)

2)接收用户输入Scanner

3)系统随机生成Math.random()

    Math.random()-------------------0.0到0.999999999...
    (int)(Math.random()*1000+1)-----1到1000

课后练习:

1)完成经典案例:----------------------至少两次

    1.1)ScoreLevel成绩等级判断
    1.2)CommandBySwitch命令解析程序
    1.3)Guessing猜数字之while(1次)
    1.4)Guessing猜数字之do...while

2)完成课后作业: