Java流程控制的简单概括

Java流程控制

Scanner类用户交互

//输入多个数字,计算其总和和平均数
import java.util.Scanner;//导入Scanner包
public class DemoScanner {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//创建scanner对象
        int m=0;//定义计数器用以计算输入数字个数
        double sum=0;//定义sum用以累加
        System.out.println("请输入数字:");
        //循环输入流,hasNextFloat方法判断是否有Float类型输入
        while (scanner.hasNextFloat()){
            float i = scanner.nextFloat();//定义i获取输入区数据
            m++;//计数器
            sum = sum+i;//累加器
            System.out.println("您输入了第"+m+"个数字,总和为"+sum);
        }
        System.out.println("总输入和为:"+sum);
        System.out.println("平均数为:"+(sum/m));
        scanner.close();//关闭流
    }
}

基本结构

顺序结构,从上往下。

选择结构

  • if单选择结构

    if(布尔表达式){语句}
    
    • equals判断字符串是否相等
  • if双选择结构

    if(布尔表达式){
        语句
    }else{
        语句
    }
    
  • if多选择结构

    if(布尔表达式){
        语句
    }else if(布尔表达式2){
        语句
    }else if(布尔表达式3){
        语句
    }else{
        语句
    }
    
  • switch多选择结构

    • JDK7开始支持表达式为字符串
    public class SwitchDemo {
        public static void main(String[] args) {
            char grade='C';
            switch (grade){
                case 'A':
                    System.out.println("好");
                    break;
                case 'B':
                    System.out.println("一般");
                    break;
                case 'c':
                    System.out.println("不好");
                    break;
                default:
                    System.out.println("不合法!");
            }
        }
    }
    

循环结构

  • while(true){}死循环
public class WhileDemo {
    public static void main(String[] args) {
        int i=0;
        int sum=0;
        while (i<=100){
            sum=sum+i;
            i++;
        }
        System.out.println(sum);
    }
}
  • do{}while();

    • 至少执行一次
    public class DoWhileDemo {
        public static void main(String[] args) {
            int i=0;
            int sum=0;
            do {
                sum=sum+i;
                i++;
            }while (i<=100);
            System.out.println(sum);
        }
    }
    
  • for循环

    • for循环是支持迭代的一种通用结构。灵活,高效。
    • for(;;)死循环
    public static void main(String[] args) {
            //输出1-1000能被5整除的数,每行三个输出
            int m=0;
            for (int i = 0; i <= 1000; i++) {
                if (i%5==0){
                    System.out.print(i+"\t");
                    m++;
                    if (m==3){
                        System.out.println();
                        m=0;
                    }
                }
            }
        }
    
  • 九九乘法表(for循环的嵌套)

    public static void main(String[] args) {
            for (int i = 1; i <= 9; i++) {
              for (int j = 1; j <= 9 && i >= j; j++) {
                    System.out.print(j+"*"+i+"="+(i*j)+"\t");
                }
                System.out.println()i;
            }
        }j
    
  • 遍历数组

    public static void main(String[] args) {
            int[] number={10,20,30,40,50};//定义数组
            //遍历数组
            for (int x:number){          
                System.out.println(x);
            }
        }
    
  • 控制关键字

    • break:跳出循环
    • continue:跳过本次循环,继续下一次循环

练习题

  • 在5行内打印三角形
public static void main(String[] args) {
        //在5行内打印三角形
        for (int i = 1; i <= 5; i++) {
            for (int j = 5; j >= i; j--) {
                System.out.print(" ");
            }
            for (int j = 1; i >= j;j++) {
                System.out.print("*");
            }
            for (int j = 1; i > j; j++) {
                System.out.print("*");
            }
            System.out.println("");
        }
    }
posted @ 2020-12-16 10:06  Mr0Fly  阅读(60)  评论(0)    收藏  举报