java流程控制

JAVA 流程控制

顺序结构

Java中最基本的结构,按照顺序一句一句执行语句。

任何一个算法都离不开的基本算法结构。

顺序结构时最简单的算法结构。

package scanner;

public class Demo03 {
    public static void main(String[] args) {
        System.out.println("hello world01");
        System.out.println("hello world02");
        System.out.println("hello world03");
        System.out.println("hello world04");
        System.out.println("hello world05");
    }
}

if选择结构

  1. if单选择结构

    语法:

    if(判断条件){
        //如果条件为true,执行结构体
    }else{
        //条件为false,执行结构体
    }
  2. if双选择结构

    语法:

    if(判断条件){
        //如果条件为true,执行结构体
    }else{
        //条件为false,执行结构体。
    }
    package scanner;
    import java.util.Scanner;
    public class Demo03 {
        public static void main(String[] args) {
            /*考试分数大于60就是及格,小于60就是不及格;*/
           Scanner scanner=new Scanner(System.in);
            System.out.println("请输入学生成绩:");
           double score=scanner.nextDouble();
           if(score>=60||con<=100){
               System.out.println("及格");
           }else{
               System.out.println("不及格!");
           }
            scnner.close();
        }
    }
  3. if多选择结构

    语法:

       if(判断条件){
            //如果条件为true,执行结构体
        }else if(判断条件){
            //如果条件为true,执行结构体
        }else if(判断条件){
            //如果条件为true,执行结构体
        }else if(判断条件){
           //如果条件为true,执行结构体
        }else{
           //如果条件为true,执行结构体
        }
    }
    

    注意:

    1. if语句至多有一个else语句,else语句在所有的else if语句之后
    2. if语句可以由若干个else if语句,他们必须在else语句之前
    3. 一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
  4. 嵌套的if结构

    在一个if语句中嵌套一个if语句;

    语法:

    if(条件判断语句){
        //执行语句体;
        if(条件判断语句){
            //执行语句体;
        }
    }
    package scanner;
    import java.util.Scanner;
    public class Demo03 {
        public static void main(String[] args) {
            /*考试分数大于60就是及格,小于60就是不及格;*/
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入学生成绩:");
            double score = scanner.nextDouble();
            if (score>=0&&score<=100){
                if (score >= 60 || score <= 100) {
                    System.out.println("及格");
                } else {
                    System.out.println("不及格!");
                }
            }else {
                System.out.println("请输入0-100的数!");
            }
        }
    }
  5. switch多选择语句结构

    1. switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

    2. switch语句的变量类型可以是:

      1. byte、shout、int、或者char。
      2. switch支持字符串String类型
      3. case标签必须为字符串常量或者字面量。
    3. 语法:

      public static void main(String[] args) {
          switch (){
              case value:
                  //语句;
                  break;
              case value:    
                  //语句;
                  break;
              case value:    
                  //语句;
                  break;
              default;    
          }
      }

package scanner;
import java.util.Scanner;
public class switchDemo {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入字符:");
        int grade=scanner.nextInt();
        switch (grade){
            case 60:
                System.out.println("A");
                break;
            case 70:
                System.out.println("B");
                break;
            case 80:
                System.out.println("C");
                break;
            default:
                System.out.println("请重新输入;");
        }
    }
}

while循环

​ 语法:

package scanner;
public class whileDemo {
    public static void main(String[] args) {
        while(布尔表达式){
            //执行语句体;
        }
    }
   
}
  1. 只要布尔表达式为true,循环就会一直执行下去;

  2. 大多数情况是让循环停止下来,我们需要一个让表达式失效的方法来结束循环

  3. 少部分情况需要循环一直执行,如服务器响应监听

  4. 循环条件一直为true就会造成无限循环,我们正常的业务编程中尽量避免死循环,会影响程序性能或者造成程序卡死崩溃。

    package scanner;
    
    public class whileDemo {
        public static void main(String[] args) {
            //1-100求和;
            int i=0;
            int sum=0;
            while (i<=100){
                sum+=i;
                i++;
            }
            System.out.println("1-100的和为:"+sum);
        }
    
    }

Dowhile循环

​ 语法:

package scanner;

public class whileDemo {
    public static void main(String[] args) {
       do {
           //循环体语句;
       }while (布尔表达式);
    }

}
  1. do while和while的区别:

    1. 对于while语句而言,如果不满足条件,则不能进入循环。 do while 循环至少执行一次;
    
    2. while 先判断后执行,DOWHILE是先执行后判断;
    

for循环

  1. for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构;

  2. for玄幻执行的次数是在执行之前确定的。

  3. 语法:

    package scanner;
    
    public class forDemo {
        public static void main(String[] args) {
            for(初始化;布尔表达式;跟新){
                //循环结构体;
            }
        }
    }

package scanner;
public class forDemo {
    /*打印0-100之间的奇数和偶数和*/
    public static void main(String[] args) {
        int oddSum=0;
        int evenSum=0;
        for(int i=0;i<=100;i++){
            if(i%2==0){
                evenSum+=i;
            }else{
                oddSum+=i;
            }
        }
        System.out.println("奇数和:"+evenSum+"偶数和:"+oddSum);

    }
}
package scanner;
public class forDemo {
    /*for循环输出1-1000之间能够被5整除的数,并且每行输出3个*/
    public static void main(String[] args) {
        for(int i=0;i<=1000;i++){
            if (i%5==0){//输出5的倍数
                System.out.print(i+"\t");
            }
            if (i%(5*3)==0){//输出换行
                System.out.println();
            }
        }
    }
}
package scanner;
public class forDemo {
    /*for循环打印99乘法表*/
    public static void main(String[] args) {
       for (int i=1;i<=9;i++){
           for (int j=1;j<=i;j++){
               System.out.print(i+"*"+j+"="+(i*j)+"\t");
           }
           System.out.println();
       }
    }
}

增强for循环

​ 语法格式:

package scanner;
public class forDemo {
    /*for循环打印99乘法表*/
    public static void main(String[] args) {
      for (声明语句:表达式){
          //循环体;
      }
    }
}
  1. 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,作用域限定在循环语句体中。其值与此时数组元素的值相等。

  2. 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

    package scanner;
    public class forDemo {
        public static void main(String[] args) {
            int[] number={10,20,30,40,50};//定义一个数组;
            /*循环遍历数组*/
            for (int x:number){
                System.out.println(x);
            }
        }
    }

break、continue、goto语句

break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中的剩余的语句。
continue语句用于在循环语句体中,用于终止某次循环过程,即跳出循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
package scanner;
public class forDemo {
    public static void main(String[] args) {
       /*打印101-150之间的质数;
         质数:在大于1的自然数中,除1和本身以外不能再有其他因数的自然数
        */
        int count=0;
        outer:for (int i=101;i<=150;i++){//标签outer,不建议使用
            for (int j=2;j<i/2;j++){
                if(i%j==0){
                    continue outer;
                }
            }
            System.out.print(i+" ");
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值