6.1 java流程控制,java循环,for循环(重点),while,do while等

1 分支结构:

单if分支

if-else双重分支

else if多重分支

switch多重分支

具体内容

1.1 程序结构

所谓的程序结构指的就是代码的执行的过程。按照怎样的要求进行执行。

程序——模拟现实的。

顺序结构:

典型一行执行完毕之后执行下一行,每一行都必须执行。

所有语言都有,默认都是顺序结构。

分支结构:

处理选择。

循环结构:

处理循环一直操作一模一样的东西的代码。抄写单词自己输出n遍,如果引入循环结果可以只写一遍,但是执行n遍。

1.2 分支结构

如果(气温<5){

// 不去上课

}else{

// 去上课

}

分支结构主要控制代码是否执行。

案例:输入你的java成绩,如果在90以上,输出 优秀! 在 70–90之间输出,良好! 60-70 之间输出 一般!60以下输出 不及格!

1.3 if分支

单if分支(5分钟)

如果碰到条件的时候,如果成立我会去执行一个代码块(多个语句的集合),如果不成立,而是结束分支结构,继续后续的代码。如果{}中的语句块只有一句话,{可以省略,但是不建议。

语法:
if(条件 为真){
    条件成立时执行的代码块;
}

如果条件成立,执行对应的代码块,如果不成立,if终止直接执行if后的代码。

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入金额");
    int money = scanner.nextInt();
    // 条件为真 执行后面的代码快里面的语句
    if( money > 100 ){
        System.out.println("你是一个富豪");
    }
    System.out.println("条件执行完毕");
}

if-else双重分支(5分钟)

如果条件成立执行一个对应的代码块,如果不成立执行另外一个代码块。

if(条件表达式){
    成立的代码块
}else{
    条件不成立执行的代码块 
}
// 后续代码



public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入金额");
    int money = scanner.nextInt();
    // 条件为真 执行后面的代码快里面的语句
    if( money > 100 ){
        System.out.println("你是一个富豪");
    }else{
        // money<=100
        // 代表  if里面的条件不成立   或者 跟if里面的条件互斥
        System.out.println("啥也不是");
    }
    System.out.println("条件执行完毕");
}

else if多重分支(8)

如果条件1成立执行对应代码块,如果不成立,进行条件2判断,如果条件2成立执行对应代码块不成立继续判断条件3依次类推,如果都不成立,执行else,如果没有else ,if分支结束执行后续代码。

if(条件1){
    条件成立的代码块
}else if(条件2——隐含条件是1不成立){
  条件2成立的代码块
}else if(条件3-隐含2不成立){
  条件3成立的代码块
}.....
else{
  
}
// if 只能有一个  else 只能有一个   else if 可以有多个

注意:每一个条件都有一个隐式条件,所以不能乱序。(不是绝对不能,如果乱序可以通过条件的显示声明给规避了)

public static void main(String[] args) {
    int score=99;
    /**
     * 声明一个变量接收小明额成绩:如果成绩及格可以休息一天,如果不及格就罚跑圈。
     *  100休息一天
     *  >90 休息半天
     *  >80 睡个懒觉
     *  >=60 正常学习
     *  不及格:跑圈
     */
    if(score==100){
        System.out.println("休息一天");
    }else if(score>=90){
        System.out.println("休息半天");
    }else if(score>=80){
        System.out.println("睡个懒觉");
    }else if(score>=60){
        System.out.println("正常学习");
    }else{
        System.out.println("跑圈!!!!!!!!");
    }
}

1.4 switch多重分支

switch也是做多重分支,但是只能做等值判断。

在jdk5之前 只能是基本数据类型的等值判断 但是 jdk5之后 可以用于字符串的等值判断

如果处理等值判断,switch语法上比else if更简洁,而且效率更快。

 /*
    * 返回的是一个常量值,这个不是一个truefalse而是具体的值,这个值可以是
      数字(整数),字符、可以是字符串,但是不能是boolean也不能是其他的引用数据类型
      *
      * 首选表达式结果和值1判断,如果成立,执行后续的语句块,
      *     直到碰到break,如果没有break,后续所有代码都将执行,直到switch结束。
      * 如果不成立,会判断case 2的值,成立,执行语句块2,直到碰到break....
      * 。。。。。。
      * 如果都不成立,执行default。
* */
    switch(表达式){
        case 值1:语句块1;[break;] 相当于:if(表达式==值1){语句块}
        case 值2:语句块2;[break;]相当于:else if(表达式==值2){语句块}
        case 值3:语句块3;[break;]相当于:else if(表达式==值3){语句块}
        case 值4:语句块4;[break;]相当于:else if(表达式==值4){语句块}
        default:默认语句块; 相当于:else{}
    }

int score=90;
switch (score/10){
    case 10:
        System.out.println("休息一天");break;
    case 9:
        System.out.println("休息半天");break;
    case 8:
        System.out.println("睡个懒觉");break;
    case 7:
        //System.out.println("正常学习");break;
    case 6:
        System.out.println("正常学习");break;
    default:
        System.out.println("跑圈!!!");break;
}

1.5 三目运算符:

条件?  成立  :  不成立 
public static void main(String[] args) {
      int score = 100;
      
//      if(score > 100){
//        score +=100; //==> score = score+100;
//      }else{
//          // score - 50
//          score-=50;// =>score = score-50;
//      }
        // 条件?成立:不成立
        // 条件?  成立  :  不成立  三目运算符  三元表达式  ?表达式   :表达式
        score = score>100 ? score+100 : score-50;  // 代码简洁
        System.out.println("score的值:"+score);
    }

2 循环

2.1 While循环

语法结构:
循环变量初始化;

while(循环条件--返回的是true或者false,如果条件成立,进入循环体){
循环体;
循环变量更替;
}

在这里插入图片描述

流程:首先进行循环条件初始化;进行判断,如果成立进行循环体,如果不成立推出循环。执行循环体之后继续进行条件判断。

public static void main(String[] args) {
    int cishu=0;
    while(cishu<3) {//循环条件
        System.out.println("鹅鹅鹅,曲项向天歌!");
        System.out.println("白毛浮绿水,红掌拨清波。");//循环体
        cishu=cishu+1;//循环变量更替
    }
}

写个例子 一到一百的和

public static void main(String[] args) {
    /*
        sum1=0+1
        sum2=0+1+2;=sum1+2
        sum3=0+1+2+3;=sum2+3
        sum4=0+1+2+3+4;=sum3+4
        .....
        sum100=99的和+100=sum99+?
        sum=上一个sum+当前的数字
    *
    * */
    int sum=0;
    int num=1;
    while(num<=100){//循环条件
        sum=sum+num;//循环体
        num=num+1;//循环变量更替
    }
    System.out.println(sum);

2.2 do while

do{
循环体;
循环变量更替;
}while(条件);

执行循环体,循环变量更替,进行条件判断,如果条件成立,继续循环体…
do-while是先执行后判断,循环体至少执行一次。

2.3 for 循环(重点)

for(1. 循环变量初始化;2. 循环条件;4.循环变量更替){
         3.循环体
}

首先1–>2判断–如果为true执行3----执行4更替----重新2判断–如果成立重新3 4—2判断,2为false推出循环。

for(int num=1;num<=100;num=num+1){
    sum=sum+num;
}
System.out.println(sum);
 
//for循环的简化版,for后边的三个东西都可以不屑,但是;不能省略。
int sum=0;
int num=1;
for(;num<=100;){
    sum=sum+num;
    num=num+1;
}
System.out.println(sum);

2.4 break 和coutinue

break:终止循环。起到的作用与循环条件类似——不成立出循环;break碰到break就出循环。
一般break配合if使用

while(true){
    score=scanner.nextInt();
    System.out.println(score);
    if(score<0){
        break;//碰到break,循环终止相当于:while条件为false退出循环。
    }
}
int sum=0;
int num=1;
for(;;){//中间条件不写就是true for(;true;)
    sum=sum+num;
    num=num+1;
    if(num>100){
        break;
    }
 }
System.out.println(sum);
    /*
        continue:
            终止本次循环继续下一次。
     */
    //1-100输出所有偶数
    for(int i=1;i<=10;i=i+1){
        if(i%2==0){
            System.out.println(i);
        }
    }
    for(int i=1;i<=10;i=i+1){
        if(i%2!=0){
            continue;//如果奇数就继续,后续代码不执行
        }
        System.out.println(i);
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杵意

谢谢金主打赏呀!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值