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("是正整数");
		else
			System.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");
		else
			System.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);
		}else
			System.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+' ');
				else
					System.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 + "是水仙花数");
		else
			System.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 + "是水仙花数");
			else
				System.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