流程控制的学习

用户交互scenner

Scenner对象

java.util.Scenner是java5的新特征,我们可以通过Scenner类来获取用户的输入。

基本语法

new Scenner(System.in);
//同等于↓
Scenner s = new Scenner(System.in);

通过Scenner类方法获取字符串

  1. next()使用hasnext()
import java.util.Scanner;

public class ddddd {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方法接收:");
        //判断用户有没有输入字符串
        if (scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();
            System.out.println("输入的内容为:"+str);
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯用完就关掉
        scanner.close();
    }
}

  1. nextline()使用hasnextline()

    import java.util.Scanner;
    
    public class d2 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("使用nextline方式接收");
            if (scanner.hasNextLine()){
                String str =scanner.nextLine();
                System.out.println("输出内容为:"+str);
                scanner.close();
            }
    
        }
    }
    
    

scenner的进阶使用

import java.util.Scanner;

public class d5 {
    public static void main(String[] args) {
        //输入多少个字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果
        Scanner scanner = new Scanner(System.in);
        //计算了输入了多少个数字
        int i = 0;
        //和
        double f= 0;
        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while (scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            i++;
            f = f+x;
            System.out.println("你输入了第"+i+"个数据,然后当前结果f="+f);
        }
        System.out.println(i+"个数的和为"+f);
        System.out.println(i+"个数的平均值是"+f/i);
        scanner.close();
    }
}

顺序结构

public class d1 {
    public static void main(String[] args) {
        //自上到下的结构,是任何一个算法都里不开的一种基本结构
        System.out.println(1);
        System.out.println(2);
        System.out.println(3);
        System.out.println(4);
        System.out.println(5);
    }
}

if选择结构

  1. 判断字符串是否相等equals

    import java.util.Scanner;
    
    public class D1 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入内容:");
            String s = scanner.nextLine();
            //equals判断字符是否相等
            if (s.equals("hello,world")){
                System.out.println(s);
            }
            System.out.println("END");
            scanner.close();
    
        }
    }
    
    
  2. if和else语句

import java.util.Scanner;

public class D2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");
        // score成绩
        int score = scanner.nextInt();
        if (score>60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        scanner.close();
    }
}

  1. else if 语句

    import java.util.Scanner;
    
    public class D3 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入成绩:");
            int score = scanner.nextInt();
            if (score==100){
                System.out.println("肥肠棒");
            }else if (score<100 && score>=90){
                System.out.println("A");
            }else if (score<90 && score>=80){
                System.out.println("B");
            }else if (score<80 && score>=70){
                System.out.println("C");
            }else if (score<70 && score>=60){
                System.out.println("D");
            }else if (score<60){
                System.out.println("成绩不合格");
            }else {
                System.out.println("成绩不合法");
            }
            scanner.close();
        }
    }
    
    

switch选择结构

  1. public class D1 {
        public static void main(String[] args) {
            //case 穿透
            char grade = 'F';
            switch (grade){
                case 'A':
                    System.out.println("优秀");
                    break; //可选
                case 'B':
                    System.out.println("良好");
                case 'C':
                    System.out.println("及格");
                case 'D':
                    System.out.println("再接再厉");
                case 'E':
                    System.out.println("挂科");
                default:
                    System.out.println("未知等级");
            }
            }
        }
    
  2. public class D2 {
        public static void main(String[] args) {
            String name = "胖妹";
            switch (name){
                case "胖妹":
                    System.out.println("胖妹");
                    break;
                case "岩桑":
                    System.out.println("岩桑");
                    break;
                default :
                    System.out.println("啥玩意?");
            }
        }
    }
    
  3. 反编译

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by FernFlower decompiler)
    //
    
    package com.chengzi.www;
    
    public class D2 {
        public D2() {
        }
    
        public static void main(String[] args) {
            String name = "胖妹";
            byte var3 = -1;
            switch(name.hashCode()) {
            case 762056:
                if (name.equals("岩桑")) {
                    var3 = 1;
                }
                break;
            case 1045411:
                if (name.equals("胖妹")) {
                    var3 = 0;
                }
            }
    
            switch(var3) {
            case 0:
                System.out.println("胖妹");
                break;
            case 1:
                System.out.println("岩桑");
                break;
            default:
                System.out.println("啥玩意?");
            }
    
        }
    }
    

while 循环结构

public class D3 {
    public static void main(String[] args) {
        int i = 0;
        while (i<100) {
            i++;
            System.out.println(i);
        }
    }
}
public class D3 {
    public static void main(String[] args) {
        //计算1+2+3+...+100=?
        int i = 0;
        int sum = 0;
        while (i<=100){
            sum = sum+i;
            i++

        }
        System.out.println(i);
    }
}

do while 循环结构

public class D3 {
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;
        do {
            sum = sum+i;
            i++;
        }while (i<=100);
        System.out.println(sum);
    }
}
public class D3 {
    public static void main(String[] args) {
        int i = 0;
        while(i<0){
            System.out.println(i);   //do while 至少执行一次
            //while先判断后执行,do while 先执行后判断
            i++;
        }
        do {
            System.out.println(i);
            i++;
        }while (i<0);
    }
}

for 循环结构

1.计算0-100的奇数和偶数的和

public class D1 {
    public static void main(String[] args) {
        //计算0-100奇数与偶数的和
        int oddsum=0;//奇数
        int evensum=0;//偶数
        for (int i = 0; i <= 100; i++) {
            //模运算 i/2不等于0 判断奇偶
            if (i%2!=0) {
                oddsum+=i;
            }else {
                evensum+=i;
            }
        }
        System.out.println("奇数的和:"+oddsum);
        System.out.println("偶数的和:"+evensum);
    }
}
  1. 输出1-1000能被5整除的数,并且每行输出3个
   public class D1 {
       public static void main(String[] args) {
           //输出1-1000能被5整除的数,并且每行输出3个
           for (int i = 0; i < 1000; i++) {
               if (i%5==0){
                   System.out.print(i+"\t");
               }
               if (i%(5*3)==0){   //每行
                   System.out.println("\n");
               }//print 输出完不会换行
               //println 输出完会换行
           }
       }
   }
  1. while 执行1-1000被5整除的数,并且每行输出3个
public class D1 {
    public static void main(String[] args) {
        int i = 0;
        while (i<1000){
            i++;
            if (i%5==0){
                System.out.print(i+"\t");
            }if (i%(3*5)==0){
                System.out.println("\n");
            }
        }
    }
}
  1. do while 执行1-1000被5整除的数,并且每行输出3个
public class D1 {
    public static void main(String[] args) {
        int i=0;
        do {
            i++;
            if (i%5==0){
                System.out.print(i+"\t");
            }
            if (i%(3*5)==0){
                System.out.println("\n");
            }
        }while (i<1000);
    }
}

5.九九乘法表

public class D1 {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j+"*"+i+"="+i*j + "\t");

            }System.out.println();
        }
    }
}
  1. 逆向九九乘法表

    public class D1 {
        public static void main(String[] args) {
            for (int i = 1; i <= 9; i++) {
                for (int d = 9; d >i; d--) {
                    System.out.print("       ");
                }
                for (int j =i; j >0; j--) {
                    System.out.print(j + "*" + i + "=" + j * i+ " ");
                }
                System.out.println("");
             }
        }
    }
    

增强for循环

1.增强for循环与for循环输出数组的区别

public class D1 {
    public static void main(String[] args) {
        int[] numbers ={10,20,30,40,50};
        for (int i = 0; i <= 5; i++) {    //for循环
            System.out.println(numbers[i]);
        }
        System.out.println("=======================");
        for (int x:numbers){     //增强for循环
            System.out.println(x);
        }
    }
}

break、continue、goto语句

  1. continue与break的区别

    public class D1 {
        public static void main(String[] args) {
         int i=0;
         while (i<100){
             i++;
    
             if (i%10==0){
                 System.out.println();    //break在任何循环语句的主体部分,均可用于break控制循环的流程
                 continue;              //break用于强制退出循环,不执行循环中剩余的语句。(break可用于switch语句中使用)
             }                          /**continue用于循环语句体中,用于终止某次循环,也就是跳过循环体中尚未执行的语句,接着
                                        进行下一次是否执行循环的判定**/
             System.out.print(i+"\t");
         }
    
        }
    }
    
  2. for循环打印三角形

public class D1 {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for (int j = 5; j >= i; j--) {
                System.out.print(" ");
            }
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            for (int j = 1; j < i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
posted @ 2021-03-17 20:22  寄一个橙子  阅读(60)  评论(0)    收藏  举报