3 流程控制-选择结构和循环结构

回顾:
1.运算符:
  1)算术:+,-,*,/,%,++,--
  2)关系:>,<,>=,<=,==,!= boolean
  3)逻辑:&&,||,! boolean
  4)赋值:=,+=,-=,*=,/=,%=
  5)字符串连接:+
  6)三目/条件:boolean?数1:数2
2.分支结构:
  1)if:1
  2)if...else:2


笔记:
1.分支结构:
  3)if...else if结构:多条路
  4)switch...case结构:多条路
    优点:效率高、结构清晰
    缺点:整数、相等
    break:跳出switch
2.循环:反复执行一段相同或相似的代码
3.循环三要素:
  1)循环变量的初始化
  2)循环的条件(以循环变量为基础)
  3)循环变量的改变(向着循环的结束变)
  循环变量:在整个循环过程中所反复改变的那个数
4.循环结构:
  1)while:先判断后执行,有可能一次都不执行
  2)do...while:先执行后判断,至少执行一次
               要素1与要素3相同时,首选do...while

练习:
完成经典案例:--------------------------2次
  1)ScoreLevel成绩等级判断
  2)CommandBySwitch命令解析程序
  3)GuessingGame猜数字之while版----------1次
  4)GuessingGame猜数字之do...while版

1)do...while语法  2)三要素  3)改错

1到1000的随机数

Math.random()----------0.0到0.9999999999999...
(int)------------------0到0

*1000------------------0.0到999.99999999999...
(int)------------------0到999
+1---------------------1到1000

+1---------------------1.0到1000.9999999999...
(int)------------------1到1000


GuessingGame


int num = 250; //手里面藏着的数

循环变量:用户猜的数guess
1)System.out.println("猜吧!");
  int guess = scan.nextInt();
2)guess!=num
3)System.out.println("猜吧!");
  guess = scan.nextInt();

猜吧!
300
太大了

猜吧!
200
太小了

猜吧!
251
太大了

猜吧!
250
恭喜你,猜对了


WhileDemo

案例一:
  输出10次"行动是成功的阶梯"
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
    行动是成功的阶梯
  循环变量:次数times
  1)int times=0;
  2)times<10
  3)times++;
  times=0/1/2/3/4/5/6/7/8/9/10时结束

案例二:
    输出9的乘法表:
      1*9=9
      2*9=18
      3*9=27
      4*9=36
      5*9=45
      6*9=54
      7*9=63
      8*9=72
      9*9=81
    循环变量:乘数num
    1)int num=1;
    2)num<=9
    3)num++;
    num=1/2/3/4/5/6/7/8/9/10时结束


循环变量:份数num
1)int num=0;
2)num<8
3)num++;
num=0/1/2/3/4/5/6/7/8时结束

                       份数为0
够8份吗? 不够 打印一份 份数为1
够8份吗? 不够 打印一份 份数为2
够8份吗? 不够 打印一份 份数为3
够8份吗? 不够 打印一份 份数为4
够8份吗? 不够 打印一份 份数为5
够8份吗? 不够 打印一份 份数为6
够8份吗? 不够 打印一份 份数为7
够8份吗? 不够 打印一份 份数为8
够8份吗? 够了

循环变量:圈数count
1)int count=0;
2)count<3
3)count++;
count=0/1/2/3时结束

                     圈数为0
够3圈吗? 不够 跑一圈 圈数为1
够3圈吗? 不够 跑一圈 圈数为2
够3圈吗? 不够 跑一圈 圈数为3
够3圈吗? 够了

1)顺序结构:从上往下逐行执行,每句必走
2)分支结构:有条件的执行某语句一次,并非每句必走
3)循环结构:有条件的执行某语句多次,并非每句必走


if(boolean){ //一次
  语句块
}


while(boolean){ //多次
  语句块
}

能用switch..case实现的,都可以用if...else if来实现
能用if...else if实现的,不一定能用switch...case实现


if(command==1){
  ...
}else if(command==2){
  ...
}else if(command==0){
  ...
}else{
  输入错误
}


当缺点不再是缺点的时候,就只剩优点了

if(score>=0 && score<=100) {
    if(score>=90) {
        System.out.println("A-优秀");
    }else if(score>=80) {
        System.out.println("B-良好");
    }else if(score>=60) {
        System.out.println("C-中等");
    }else {
        System.out.println("D-不及格");
    }
}else {
    System.out.println("成绩不合法");
}

A:成绩大于等于90
B:成绩大于等于80并且小于90
C:成绩大于等于60并且小于80
D:成绩小于60

int score = 55;
if(score>=90){
  A-优秀
}else if(score>=80){
  B-良好
}else if(score>=60){
  C-中等
}else{
  D-不及格
}

int score = 95;
if(score>=90){
  A-优秀
}else{
  if(score>=80 && score<90){
    B-良好
  }else{
    if(score>=60 && score<80){
      C-中等
    }else{
      if(score<60){
        D-不及格
      }
    }
  }
}

int a=8,b=2,c=5,d=1; //升序(a=2,b=5,c=8)

若a>b则交换,保证a<b
若a>c则交换,保证a<c
若a>d则交换,保证a<d
若b>c则交换,保证b<c
若b>d则交换,保证b<d
若c>d则交换,保证c<d


int a=8,b=55; //升序(a=5,b=8)
if(a>b){
  int t=a; //t=8
  a=b;     //a=5
  b=t;     //b=8
}
---------------------若a>b则交换,保证a<b

int t=a;a=b;b=t;
int t=b;b=a;a=t;

System.out.println("请输入两个数:");
int a = scan.nextInt();
int b = scan.nextInt();

5             6
5 6
5
6
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值