Java 流程控制:

    顺序

    分支

    循环


分支:

    

    if(布尔表达式){

        语句块

    }else{

        语句块

    }


    尽量使用肯定条件,减少else,减少嵌套

package day06;
import java.util.Scanner;
public class Demo01 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("输入一个整数:");int n = con.nextInt();con.close();if(n > 0){System.out.println("是正整数");}else{System.out.println("不是正整数");}}
}
package day06;
import java.util.Scanner;
public class Demo01 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("输入一个整数:");int n = con.nextInt();con.close();if(n > 0)//if语句块中只有一行代码的时候,可以省略花括号System.out.println("是正整数");elseSystem.out.println("不是正整数");}
}
package day06;
import java.util.Scanner;
public class Demon02 {public static void main(String[] args) {Scanner con = new Scanner(System.in);	System.out.print("输入一个整数:");int n = con.nextInt();con.close();if(n > 0)System.out.println("正整数");else if(n == 0)System.out.println("是0");elseSystem.out.println("是负整数");		}
}


    switch - case 结构

    性能十分优秀 

    但是 只能 根据整数参数进行分支操作

    if 多路 嵌套 条件灵活 适应性广,性能相对于 switch 差

    

    如果 是根据整数多路分支 用switch 

    其他的可以使用 if

    switch(command){

    case 1:

        //语句

        break;

    case 2:

        //语句

        break;

    case 3: 

           

         // 3和4用同一个语句

     case 4: 

        //语句   

        break;

    }


package day06;
import java.util.Scanner;
public class Demo03 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("输入成绩:");int score = con.nextInt();		con.close();if(score >= 0){String level;switch(score/10){case 10: level = "学霸";		break;case 9:level = "学神";break;case 8:level = "学民";break;case 7:level = "学痞";break;case 6:level = "学渣";break;default:level = "渣渣";		}System.out.println("你好"+level);}elseSystem.out.println("渣渣有负的吗?");		}
}



    循环结构


    经典的for常用于计次循环

    for 循环可以替代其他他的循环结构

    for(表达式1;表达式2;表达式3){

        循环体

    }

    for(初始化表达式;循环条件(boolean);递增表达式){

        循环体

    }


    for(;;){} ==》死循环

        在不知道用什么循环的时候就用死循环


    for(;循环条件;)当循环

        控制使用


     continue 

    用在循环中,结束本次循环而开始下一次循环.


    break

    用于退出当前语句块,退出循环

        在嵌套的循环结构中,break 用于退出所在循环体,如果要退出外层循环体,需要使用标号的方式

        for(){

            for(){

               break;

            }

        }

        

        outer:for(){

            for(){

               break outer;

            }

        }

package day06;
/**
* 99乘法表
*/
public class Demo04 {public static void main(String[] args) {for(int x = 1;x < 10;x++){if(x == 2)continue;for(int y = 1; y <= x;y++){if(y == 6) break;if(x*y >= 10)System.out.print(y+"*"+x+"="+x * y+' ');elseSystem.out.print(y+"*"+x+"="+"0"+x * y+' ');	}System.out.println();}}
}
package day06;
/**
*用死循环,反转字数
*/public class Demo05 {public static void main(String[] args) {int num = 1234567890;int sum = 0;int last;for (;;) {last = num % 10;sum = sum * 10 + last;num /= 10;if (num == 0)break;}System.out.println(sum);}
}
package day06;import java.util.Scanner;public class Demo06 {public static void main(String[] args) {Scanner con = new Scanner(System.in);int score = -1;for (; score < 0 || score > 100;) {System.out.print("输入分数:");score = con.nextInt();}System.out.print(score);}
}

    while 循环

    先判断 后循环

    while(循环条件(布尔)){

        循环体

    }

package day06;import java.util.Scanner;public class Demo07 {public static void main(String[] args) {Scanner con = new Scanner(System.in);System.out.print("请输入一个三位数:");int num = con.nextInt();int nu = num;int sum = 0;while (num != 0) {int last = num % 10;sum += last * last * last;num /= 10;}if (sum == nu)System.out.println(nu + "是水仙花数");elseSystem.out.println(nu + "不是水仙花数");}
}

    

 

package day06;import java.util.Scanner;public class Demo07 {public static void main(String[] args) {// Scanner con = new Scanner(System.in);// System.out.print("请输入一个三位数:");// int num = con.nextInt();for (int num = 100; num < 1000; num++) {int nu = num;int sum = 0;while (nu != 0) {int last = nu % 10;sum += last * last * last;nu /= 10;}if (sum == num)System.out.println(num + "是水仙花数");elseSystem.out.println(num + "不是水仙花数");}}
}

   

    

    

    do while 循环

     先循环在检查,无论boolean表达式的值是true 还是 false 最少会进行一次循环

    do{

      循环体

    }while(循环条件)


    

    对比一下: for ;while ;do while


    for 常用于 经典使用方式 与固定次数有关循环处理

    for 可以替代其他的两种循环

        for(;循环条件;){} 替代 while(循环条件){}

        死循环:for(;;){} 替代while(true){}

        for{;;}{if(循环条件) break;} 替代 do while(循环条件)

    while 循环用于在循环体开始时候判断循环条件

    do while 循环用于在循环体结束时候判断循环条件

    不知道用什么循环就要for 的死循环,在适当的条件时候使用break